Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

搜索
1 2 3 4
查看: 53487|回復: 51
打印 上一主題 下一主題

[問題求助] 請問如何設計BCD counter

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2007-8-28 10:40:06 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
如題& G4 W# L2 R) _' C6 w3 H/ ?- |9 J/ T
小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區0 S4 J' `' d& y) ]3 J' h' S
如果不是麻煩版主修改一下囉, v! O) e- P$ l9 q/ E. t! n

3 G$ j: X6 p: q# A/ F目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一個0-5的記數器開始記數
% F7 }4 \8 t1 L% O  R$ c8 l總之就是能夠記數0-59, 個位數記數0-9, 十位數記數0-5
  `6 B0 _9 t+ P- H
( H  Y2 W6 q( Y- a% B請問各位有人有設計過這樣的電路嗎? 或是要去哪裡找相關的資料勒?
' U( {# U, b9 \8 m謝謝!

評分

參與人數 1 +4 收起 理由
kuannan + 4 謝謝小朱仔提供的code囉 對初學者 真是�

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂2 踩 分享分享
2#
發表於 2007-8-28 10:52:11 | 只看該作者
原帖由 monkeybad 於 2007-8-28 10:40 AM 發表
" e" n7 ~  {. q. T+ u: Q如題
% z3 j4 |( k  H/ e* R小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區
* x8 ^! n" n% ]* W9 y! v如果不是麻煩版主修改一下囉% @; w! t8 [& e2 L& ~, V: G+ X

1 j0 U; a3 d7 F目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一 ...

1 p, Z5 o% H' T2 ^9 e; ?4 n
7 w# d! \4 j! j; V5 k大大您是要寫Verilog還是電路, Y. G  j" H9 G9 H

5 y  j! K* q% K8 m先PO個RTL Code參考看看; g" T3 g' n* d, m% d8 c& {
8 r1 p" ^9 L& J
輸入:N clear load clk
# p  e# s) v4 O: C( \輸出:count
$ L/ U+ B1 F1 W4 K7 q( z+ f$ _2 g/ A  Z3 [4 J' c6 x
行為描述(依照優先順序)0 Y0 j/ }# Q( V9 Q8 j# S
1.如果clear為1,則輸出設為為0% }7 n, l5 Z, E/ Y- V/ e
2.如果load為1,則輸出設為N
) o" j0 t6 b5 H: I9 n) J3.每個時脈輸出遞增一次(BCD)
1 e6 T$ f. J6 v+ c* n9 g9 o: U
" a. ^% \  x. t' d7 e  k# B0 d% I# B" m% b, N- E* h5 r
9 H0 S# p8 Y9 D8 E8 x6 ?$ m
程式碼:
% s. r. A8 y5 r8 n$ I0 u3 EBCDcounter.v
9 {& x2 `  C* F. y
( {; b: L3 V2 l& ?0 Z$ X1 x/ ]module BCDcounter(clear,load,clk,N,count);
0 Z/ {( F2 K, ninput  clear,load,clk;8 n' q* Z. u2 w& A
input  [3:0] N;
  F* w. @& m& ~+ t5 houtput [3:0] count;
: e. `: W3 z3 U; wreg    [3:0] count=0;
5 m; @! `3 z$ F4 [1 X
, E: Y8 x  H; m. _& y% R2 |7 Falways @ (posedge clk) begin
  }; r+ U8 m- M. T- l: e0 @1 f% n4 M  if(clear)                 //clear=1
: k0 e( L( k, _/ z1 \3 x7 o    count=0;2 Z: [& h& n. E
  else if(!clear) begin     //clear=0(共有0 1 X Z四種狀態), I6 L3 ~! s7 _  j" y: G
    if(load) begin
9 F1 t* U, w$ l' K, q" B      if(N>9)
/ D$ j6 E0 z. |: k        count=0;
8 U5 t' B# x, |6 F% Y      else# {$ `; Y' o# x# |& ~! |* n( w
        count=N;
7 I, c* _6 `9 e) S# k9 @    end6 v( p1 t4 X# p: N
    else if(!load) begin
: ?0 |0 @6 b* Y8 m( Y' d      count = count+1;
2 B! Z- S9 c6 T5 ?9 @( L% J$ j      if(count>9)
  L) T- A. S4 q* ^1 V. q      count=0;* B1 ?3 H' i: j, e
    end% Q5 l0 ~/ r- |/ U
  end4 G3 V/ @0 _8 I% V8 J3 d, @4 j+ U
end/ T- x7 K3 B& X
endmodule8 v! ]( ~8 X# s; L) ~

$ M, S3 b* q  z# Tbcdcounter_tb.v! t! k1 }- a6 t# r
8 z5 e* O; ?, X; }# E2 k- ]! T* _
module bcdcounter_tb;% H5 x3 ^: }# H' X& Y
reg clear,load,clk;( z: M4 E- S" q2 p
reg [3:0] N;& u0 E; ]  j0 j9 }" _: I
wire [3:0] count;
; d& m. n, ]% \8 h0 M/ }0 p
, Q, J. j0 e4 x. E# zBCDcounter m1(clear,load,clk,N,count);7 H1 @( J5 [. m( E) k

' p8 B2 M  T% |initial  n; x) l, q# \$ x: K
clk=0;
% M) Z; r+ f$ Y4 ~9 i' d. U6 n* n. L9 v- |' s. \$ C
always #2 clk=~clk;
7 K( N+ P; W' `3 i/ s
. p/ D* ]- U3 v7 [' f' B; _initial
+ s# t. r1 }  m2 }# a#160 $finish;) Z2 @# [9 ?/ B  g  W3 m- q
) ]0 D3 H& h& J# c- G& V$ J
initial begin5 S! ?3 q$ _7 O0 C- h
    clear=1;
2 z+ ]2 R% u/ y( v( d: m) t#4  clear=0;
* ~. q* \$ \/ X1 ]: W- o#90 clear=1;
$ t" V& m$ l  X! w#3  clear=0;6 o5 {! V% b2 S! ?, L
end
+ ^- g; B; i6 j. v3 a6 @
. P0 ?5 m0 p5 x) I& t: Oinitial begin
+ i* V- V+ r9 |3 j  y2 t5 R- k     N=6;load=0;5 v$ ~9 @1 l: i* Y/ j
#58  load=1;6 {2 [$ C* ~' z- w
#2   load=0;
: j! x6 v+ F: L' M* \2 d; ?#22  N=12;
1 i2 k5 M9 @% W#40  load=1;! a8 K9 m5 f3 M# Y. S
#2   load=0;5 {! ]( l* l! T1 ]
end
8 t& x8 z, t& @, j: ?
+ K; {- d6 W; h. U6 _endmodule

評分

參與人數 1Chipcoin +5 收起 理由
tommywgt + 5 回答詳細

查看全部評分

3#
發表於 2007-8-28 10:56:04 | 只看該作者
還有一份講義可以參考看看
! o& _1 }; c1 E; y1 l希望對大大有所幫助/ C5 A- Y" @; f
) p- ]$ D) L0 _: U0 h! O; l

: L2 n/ h) h, S7 `7 _# u8 p9 c2 {$ p" ], k
遊客,如果您要查看本帖隱藏內容請回復

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有帳號?申請會員

x

評分

參與人數 1 +1 收起 理由
ycs1977 + 1 謝謝小朱仔的資料 受益良多

查看全部評分

4#
 樓主| 發表於 2007-8-28 11:18:33 | 只看該作者
感謝小朱仔的熱心回覆( D" e3 t* ]; [. [" g! k' J; q  {
不過我電路要自己畫 還有我不會用Verilog耶4 \1 i  A1 \$ A# }2 c1 ?
現在主要是要有電路圖 可以用Hspice模擬的那種- H% k- u: Y! t, l8 Y) |! [0 j
另外希望inverter越少越好 因為要求要省電! 還有要自己layout!" a) J) o0 J! [5 B6 x
* Y$ Y0 o! t7 G1 |5 @
樓上那份文件好像裡面有寫到 趕快研究一下! 感謝分享!6 u! D0 g7 |# D  a3 \: \
" ]. J$ g: N; S) i' H  N
[ 本帖最後由 monkeybad 於 2007-8-28 11:23 AM 編輯 ]
5#
發表於 2007-8-28 16:05:34 | 只看該作者
你那個要自己動手畫CMOS電路吧...
+ C5 l% H1 t) l) q3 |5 @2 h寫code習慣了, 真的很不想動手再做這樣的事, 不過推完booling equation後, 直接用Cmos畫出來不就好了???# ]- z4 s2 p. P& x
沒錯吧
6#
 樓主| 發表於 2007-8-30 14:21:06 | 只看該作者
恩恩 不過booling eq好像是在推導一些輸入輸出的條件) d! b! Q4 A: P! a

4 X& q2 [8 P3 k3 Q+ Y$ g記數器參考一些資料後 找到一個用ripple counter下去修改的0 V1 \' C, h' @0 n4 B+ `. b1 S
ripple counter就是用負緣觸發的T型正反器串接在一起 5 k' o0 e' Y5 c3 v! _
接著開始從0數到9 然後數到10的時候
4 b: _; r! y5 z- L  @5 B" _* h就reset重新從0在開始數
7#
發表於 2007-9-3 15:08:06 | 只看該作者
ripper counter真不是個好主意, 不過要看應用, 在有些地方用時倒是好東東...
8#
發表於 2007-10-23 11:19:59 | 只看該作者
我很好奇某大大說的講義
8 @, @1 e  l4 {3 V給我看看寫什麼吧
9#
發表於 2007-10-23 20:26:00 | 只看該作者
我這裡有時鐘的電路圖..以送去CIC下線..可提供給大大參考看看!
10#
發表於 2007-10-30 01:52:19 | 只看該作者
我看一看那個問題,要我聯想到CODE,一時還想不起來,真是太久沒有寫程式哩!3 S, K$ ^! I8 n
看到CODE,有一點恍然大悟的感覺,又接著看,害我也想看那份相關資料囉!!
11#
發表於 2007-11-9 14:57:32 | 只看該作者
BCD conuter 應該是對自己有所幫助
12#
發表於 2007-11-14 23:29:59 | 只看該作者
bcd counter對初學者的我而言真的好難( [. X/ F3 \( P! d( O( j, h. d
謝謝小朱仔提供的code囉
13#
發表於 2007-11-17 16:58:54 | 只看該作者
大大別忘了給小朱仔 "感謝"  M+ p4 }4 L- s! A7 v3 t
  X1 e: I4 R" B; Q2 y) M: r6 @6 W
按評分, 就可以給感謝了....
14#
發表於 2008-2-22 17:34:54 | 只看該作者
Let see the shared material. THX.
15#
發表於 2008-4-24 07:28:10 | 只看該作者
幕讲义之名而来,呵呵勿见怪啦.                                             
1 n3 `# x" C3 |7 {5 d感谢
16#
發表於 2008-5-21 10:42:39 | 只看該作者

回復 3# 的帖子

感謝各位大大的資料 對初學者 真是受益良多
17#
發表於 2008-6-2 11:53:25 | 只看該作者
感謝大大的分享∼∼∼∼
! _9 d2 S" J) A9 Y因為你的無私,讓大家能學到許多知識
18#
發表於 2008-6-2 22:10:25 | 只看該作者
我也想看看大大分享的講義~~
* I  u3 {7 u) o  T( r回覆來看看囉!!感謝蛤!!
1 y, c& e" a$ L4 l因為我是初學而已!!
19#
發表於 2008-6-8 20:55:26 | 只看該作者
你是要畫電路圖的方式設計~
% U. l2 @) q& g那畫畫卡諾圖不就好了.... 只是比寫CODE還要麻煩.... / ^: h! K# [5 S* ?$ \4 c6 v
因為要接邏輯閘!!
/ c6 S$ I/ v4 x用卡諾圖化簡!!
20#
發表於 2008-7-25 14:41:52 | 只看該作者
最近剛接觸這方面的東西1 N& b' V/ d! D4 T9 n1 f! ]

- g( y/ I! g3 y0 @7 c0 E剛好需要這些資料
* l1 W; y3 N7 P* G1 `
. ?& q1 W) n. z! a! ?, M3 c) F感謝分享!!!
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

首頁|手機版|Chip123 科技應用創新平台 |新契機國際商機整合股份有限公司

GMT+8, 2024-5-21 06:00 AM , Processed in 0.132017 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表