Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2007-8-28 10:40:06 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
如題6 f1 c; P# F6 c. u5 K
小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區
- I; l+ o3 U8 \如果不是麻煩版主修改一下囉
7 z4 Z' f; ], P+ n9 H, \4 l
% ]+ N, f. T# S2 H9 B目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一個0-5的記數器開始記數- w# b9 }9 s2 @! E
總之就是能夠記數0-59, 個位數記數0-9, 十位數記數0-5$ _$ v6 f4 f6 U' F5 m
2 i1 a" b# D/ f( y. r. D- P4 Q
請問各位有人有設計過這樣的電路嗎? 或是要去哪裡找相關的資料勒?
) q8 W. C3 g7 Q! ]9 w謝謝!

評分

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

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂2 踩 分享分享
2#
發表於 2007-8-28 10:52:11 | 只看該作者
原帖由 monkeybad 於 2007-8-28 10:40 AM 發表
( v1 K% p# E2 [$ t# `如題, g; v; i" K# n* F  y  \9 Q& c# l
小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區
' ?/ [; m6 q& ]! Q4 z( g8 `+ e! x如果不是麻煩版主修改一下囉0 n: ]$ A: w4 s  N1 _& C9 t
% c( u( A: C7 a! C  L: P
目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一 ...

3 C0 ^! F! Q5 {! }
1 J. ]& G8 |, C3 i+ I6 r  `( M4 x大大您是要寫Verilog還是電路, H: u' ^# B% Y" h8 U
  W6 A# r& V$ X2 `
先PO個RTL Code參考看看- X* P- [5 X! ~% L
3 P) r+ A8 y* f
輸入:N clear load clk
6 q7 O5 U: }" j& Q+ k  R9 R& E  C輸出:count
4 e- x" |7 r$ {7 n- E2 X: X. k; N" b3 e5 z1 f' W$ ?6 c/ j  Y
行為描述(依照優先順序)3 j5 P3 X& b0 v( z) ?# _
1.如果clear為1,則輸出設為為0
; G, A/ Q/ s1 ]: l$ ]2.如果load為1,則輸出設為N
1 a5 V' P0 O( m3.每個時脈輸出遞增一次(BCD)
. s* }7 P& T$ F% r# Q# C- z) I
# a- Q. e' s3 ]7 m9 l* N0 p- B3 ]* t  N9 ^1 P" u& d) c$ V  d' R) L8 L
% ^$ t- o; e* `
程式碼:
% c4 V* v* K1 f7 qBCDcounter.v
/ {6 h* |* K  M# J
( M& }9 M: k3 i( t$ f! Z; ~module BCDcounter(clear,load,clk,N,count);
' Y+ W; n% [# j2 Yinput  clear,load,clk;  @+ z8 ?8 `: z. o: N$ h/ r- g6 f0 T: u
input  [3:0] N;) c- w% }. F9 |' S9 [% T
output [3:0] count;
) J, @) R7 l$ \1 Z% Mreg    [3:0] count=0;' a" X. h- x& Y) P% J. t  `

! V1 ~  `/ {# malways @ (posedge clk) begin
4 c7 G+ x+ O( i& V" z  if(clear)                 //clear=18 x! i6 U0 O: W/ L  G% D5 |
    count=0;+ z8 z, k: j; X8 b7 R
  else if(!clear) begin     //clear=0(共有0 1 X Z四種狀態)
& a' a6 A; H( j' ?    if(load) begin
3 g- d* Q) F. V) b6 p; G+ F: ^  l      if(N>9)/ T2 E7 l' F& }% I% k& B
        count=0;: i, R! Z# o1 Y( s5 O. S
      else
% \( h) Y& e  V1 ?+ Q- {+ }        count=N;5 t- d: s7 u$ I- |' q
    end: H  W  Y8 x& U0 |/ ]! |
    else if(!load) begin! E, w9 t" r) @
      count = count+1;$ `* k  W' O( v8 `+ ^- t1 ]$ R; K
      if(count>9)6 B9 Q- F: {; `, A
      count=0;
- v. L9 @& C) X5 l$ _+ A    end3 z* D; u( p1 u! Y
  end
: Q" M' T! S0 ?end9 S$ j6 b! j# w* M) {
endmodule
% d* l' c$ ^5 n* ^9 W' ~# t) ~1 c; K- a* |- ~3 A4 q' I
bcdcounter_tb.v
+ p1 L# J) Z: ^9 h8 f* g/ v& v5 j- m3 t9 X
module bcdcounter_tb;
* m; K( \& A8 }reg clear,load,clk;9 _; M7 |: f* s
reg [3:0] N;
  U  G# f$ H; `* E# rwire [3:0] count;
# ?8 ^0 `" g4 w* O' w  J
* W7 i6 D( p3 V. O% m! F9 gBCDcounter m1(clear,load,clk,N,count);" E- }% P- X- E5 ~* C- B

* o, }( q* |  V# R. K- v  d- Zinitial
: ^8 P- d8 i0 R' k+ ]7 F4 E1 Hclk=0;
) H- i  x0 R  P7 i- Q9 t) K5 X$ `# g( a9 j: D8 ^1 L# ]
always #2 clk=~clk;
: P# D, c* O$ e& F% k  E5 O8 Z% B$ K% c' l8 P
initial
( d; w9 j( ^4 `4 i#160 $finish;
  \9 a* M! R0 E2 I- e/ _1 }* k3 |
8 a0 A- n/ |+ A. o4 ?# _8 n; iinitial begin1 z3 ]" K+ Q& ]* n8 U
    clear=1;
: ?( j; G$ P# i" m( A; @#4  clear=0;8 n% y1 H* B& O0 u- u! \! F1 x
#90 clear=1;4 c# l5 e' I7 f- \2 `: y  n% N
#3  clear=0;6 {# D2 {2 \1 z* E
end; a) E2 o1 G& G
5 h2 O& A  O5 e4 f1 H% A4 p1 ?& r
initial begin
) Q% g0 l) o& e) a0 N     N=6;load=0;
' {$ a" n7 a9 M#58  load=1;
; v! \% A1 N: C, x" H" U7 E1 q1 v#2   load=0;
- X( B9 i$ e2 Y+ F4 s#22  N=12;
- G0 {6 b8 g" H3 {+ w#40  load=1;
# P/ O* `8 ?; w: e#2   load=0;* |5 y  b' p! c7 I1 L' @3 C+ U
end
) u+ x, P2 U6 v4 u2 J
* _% Q# ~# B$ s& O" dendmodule

評分

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

查看全部評分

3#
發表於 2007-8-28 10:56:04 | 只看該作者
還有一份講義可以參考看看( v; T5 z6 ]& L/ R8 ]: J" K
希望對大大有所幫助4 b7 F8 ?1 J0 f8 m, q. I

" U* w; S  g( v: T  ]+ U+ I
( m6 o* }6 l) o0 {3 a
; V: b- y: i, d+ P7 q( h
遊客,如果您要查看本帖隱藏內容請回復

本帖子中包含更多資源

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

x

評分

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

查看全部評分

4#
 樓主| 發表於 2007-8-28 11:18:33 | 只看該作者
感謝小朱仔的熱心回覆7 U6 j9 r  ~7 K1 C( E
不過我電路要自己畫 還有我不會用Verilog耶
+ m& c$ V0 n$ z/ M& J' b/ {( x現在主要是要有電路圖 可以用Hspice模擬的那種
! r7 `0 T" m, |8 D9 h7 b2 X另外希望inverter越少越好 因為要求要省電! 還有要自己layout!( E/ j6 o7 Z. L( `; m

) r7 J6 J5 w+ {$ Z+ t1 X樓上那份文件好像裡面有寫到 趕快研究一下! 感謝分享!
$ a% {2 w! a: w3 w( M3 n; `1 l% r2 c$ T+ W3 }; Q
[ 本帖最後由 monkeybad 於 2007-8-28 11:23 AM 編輯 ]
5#
發表於 2007-8-28 16:05:34 | 只看該作者
你那個要自己動手畫CMOS電路吧...
5 R1 Y8 M( @+ z寫code習慣了, 真的很不想動手再做這樣的事, 不過推完booling equation後, 直接用Cmos畫出來不就好了???8 a; p/ S4 S, K: K6 P6 x
沒錯吧
6#
 樓主| 發表於 2007-8-30 14:21:06 | 只看該作者
恩恩 不過booling eq好像是在推導一些輸入輸出的條件
0 Q; @/ r9 L8 ]4 L" F& G! e* _, u: n: I: e9 D
記數器參考一些資料後 找到一個用ripple counter下去修改的
5 }4 R! }& a. fripple counter就是用負緣觸發的T型正反器串接在一起
/ V, t: c: w6 e2 ?接著開始從0數到9 然後數到10的時候4 s9 n- X( h3 C' P8 ^: Z
就reset重新從0在開始數
7#
發表於 2007-9-3 15:08:06 | 只看該作者
ripper counter真不是個好主意, 不過要看應用, 在有些地方用時倒是好東東...
8#
發表於 2007-10-23 11:19:59 | 只看該作者
我很好奇某大大說的講義; c- G5 T2 z) ?* X; Q
給我看看寫什麼吧
9#
發表於 2007-10-23 20:26:00 | 只看該作者
我這裡有時鐘的電路圖..以送去CIC下線..可提供給大大參考看看!
10#
發表於 2007-10-30 01:52:19 | 只看該作者
我看一看那個問題,要我聯想到CODE,一時還想不起來,真是太久沒有寫程式哩!# Z$ i  G. j# H4 O% y  ]
看到CODE,有一點恍然大悟的感覺,又接著看,害我也想看那份相關資料囉!!
11#
發表於 2007-11-9 14:57:32 | 只看該作者
BCD conuter 應該是對自己有所幫助
12#
發表於 2007-11-14 23:29:59 | 只看該作者
bcd counter對初學者的我而言真的好難
! B; p2 c4 ^% R* P6 Q謝謝小朱仔提供的code囉
13#
發表於 2007-11-17 16:58:54 | 只看該作者
大大別忘了給小朱仔 "感謝"
  @$ Y  s& P- \5 C8 N5 B
4 D$ _  x6 K* k按評分, 就可以給感謝了....
14#
發表於 2008-2-22 17:34:54 | 只看該作者
Let see the shared material. THX.
15#
發表於 2008-4-24 07:28:10 | 只看該作者
幕讲义之名而来,呵呵勿见怪啦.                                             
% ^3 H% }) r) n感谢
16#
發表於 2008-5-21 10:42:39 | 只看該作者

回復 3# 的帖子

感謝各位大大的資料 對初學者 真是受益良多
17#
發表於 2008-6-2 11:53:25 | 只看該作者
感謝大大的分享∼∼∼∼
  ~7 R+ M- t& q. e因為你的無私,讓大家能學到許多知識
18#
發表於 2008-6-2 22:10:25 | 只看該作者
我也想看看大大分享的講義~~
6 L6 B- x# T2 E回覆來看看囉!!感謝蛤!!9 U6 K7 e5 w/ v5 y$ M7 G4 P& D
因為我是初學而已!!
19#
發表於 2008-6-8 20:55:26 | 只看該作者
你是要畫電路圖的方式設計~
6 {& f* q5 ~8 J那畫畫卡諾圖不就好了.... 只是比寫CODE還要麻煩.... ' Q" @$ N: |# k
因為要接邏輯閘!! 1 d0 v4 M: A1 X5 t! F" j) _
用卡諾圖化簡!!
20#
發表於 2008-7-25 14:41:52 | 只看該作者
最近剛接觸這方面的東西4 A% z! |/ |, x  {; _/ h
- x& x" C& s' H+ A6 T$ C
剛好需要這些資料2 S" N) h- ?6 ^

# ~2 w1 F6 {. z& E感謝分享!!!
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-15 03:59 AM , Processed in 0.154519 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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