Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2007-8-28 10:40:06 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
如題7 K/ W4 O+ H* \% C* q9 q; h
小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區
2 H) U1 T7 n' V! L5 B$ b- O9 p$ M如果不是麻煩版主修改一下囉& ~, b* K! U- d2 k
6 R# m& ]; n" [
目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一個0-5的記數器開始記數
2 v- w; L% D+ x( o9 F總之就是能夠記數0-59, 個位數記數0-9, 十位數記數0-5
6 X7 V& M2 M5 Y9 d7 ]3 y$ v" F1 e0 r* J4 Q/ b; H6 v
請問各位有人有設計過這樣的電路嗎? 或是要去哪裡找相關的資料勒?# y* p/ U- S0 {, A) J
謝謝!

評分

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

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂2 踩 分享分享
2#
發表於 2007-8-28 10:52:11 | 只看該作者
原帖由 monkeybad 於 2007-8-28 10:40 AM 發表 % |9 M& K1 k: u) G8 \
如題
! B/ d- ?( s: b$ _7 }: M小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區
) F' _% P: k: R4 ^$ U6 A% J* i如果不是麻煩版主修改一下囉
6 r; H1 F  R3 z$ D: W* M- E; _/ z) Z9 o; p* k
目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一 ...
% [/ H; n, ]+ p! k, r( u8 A2 P# s
4 N; n- ^. I( f' p
大大您是要寫Verilog還是電路
2 I: T3 n0 D" l7 a5 E3 m% [
( P5 t4 {3 S; g6 U4 A1 \+ i$ e先PO個RTL Code參考看看
6 ~# s0 N0 S+ ^& {% R% |3 R/ G6 a6 Y
0 u7 f; G. s6 l/ o6 l輸入:N clear load clk  p* L: G% e3 S# |
輸出:count& U% I- g0 h# R8 r9 }
4 q- z; `4 L( q! Q9 ~" C0 G
行為描述(依照優先順序)) h8 u% e: r' t5 c- d
1.如果clear為1,則輸出設為為0
! L, i/ j; r  T3 n9 N/ P4 s2.如果load為1,則輸出設為N
/ U+ Z0 ^) Q( O& i5 T5 G3.每個時脈輸出遞增一次(BCD)
1 w- @/ V# h. a- `9 S% P1 D/ W
" |7 I# d2 u1 ~! r
# _1 c3 P& s. p" S7 J
; G. Z1 J, e; t程式碼:2 m4 N9 G! o; i7 K2 x
BCDcounter.v
! i8 G, J; z5 _* f; D- e% W( O4 x$ B9 m# ~0 k
module BCDcounter(clear,load,clk,N,count);
6 p3 _) {8 t5 ?$ O' Z' @input  clear,load,clk;
( R" T$ i) W' u9 Oinput  [3:0] N;
, [$ b; q+ F4 A# i0 P+ M% o6 F$ F0 Goutput [3:0] count;
2 Y; U  [. |% n) v: {' X: xreg    [3:0] count=0;. v, o: S3 G0 k- a7 G

" y0 A( I7 b' |always @ (posedge clk) begin
: y8 ~/ k+ _6 {  if(clear)                 //clear=1
  @8 t6 P5 V0 N8 l. d0 m  I" _/ q    count=0;( b- y! E! E, B9 c9 }
  else if(!clear) begin     //clear=0(共有0 1 X Z四種狀態)5 `9 M, j5 J0 R# B& h# X
    if(load) begin$ t/ l3 Z/ M$ D1 a% p% B
      if(N>9)
! D( e7 e1 d& }- C/ T        count=0;
$ J8 J4 S1 M, M) n3 z      else! }3 M$ l/ |" [; b" Q6 b0 G8 q% W
        count=N;3 n  H2 b& h$ V; c! }( r7 }9 M
    end
. Q7 Y" o5 a" _; k, P6 ~    else if(!load) begin
- R/ x0 n/ g9 u3 o& N0 C      count = count+1;2 O2 L- B8 P( s
      if(count>9)' f2 @" N$ ]; e: X! [7 l9 L
      count=0;
5 x( k" \. a3 j% ^2 j' n3 o    end, c% d2 v* l! p+ G5 |1 A5 [: [5 g
  end( |' L9 M- h! j/ C& I* v( H
end/ V: }9 [+ R- M! v% S% h  t
endmodule$ S7 F6 `! z( T

1 W( q! s1 u4 C( E7 l; ]bcdcounter_tb.v
6 f3 J% x$ j( A. G# C& I; I
4 |& _! a- v3 M) |2 u# imodule bcdcounter_tb;, ?0 P& ~; w6 t, Y
reg clear,load,clk;6 i' ~# K' F& J) B/ x. s* K# a
reg [3:0] N;  L( ~# i6 [  f* Q' t
wire [3:0] count;
$ @$ Y5 F  c2 A; X. A+ Y  K; F4 s
9 v& e6 N1 m2 J1 t: u4 fBCDcounter m1(clear,load,clk,N,count);& C8 }% Q" C$ {

  k. o5 D/ [0 _2 einitial
' R& _% O7 B. L. r' Yclk=0;% X0 b) X! p5 e1 H; b3 a

3 f' j$ y' k: v. ]always #2 clk=~clk;" d' w" P! C8 t* ]* |2 b

: w/ k  ]0 W' y' winitial' b+ k' w, L$ a2 {2 R
#160 $finish;
2 w4 D: W. n2 W2 W1 B* f4 W! R7 C5 g3 X& i+ M8 B% J
initial begin
0 Z8 @3 G' R  k; f" ?$ k: w; j+ ?9 D    clear=1;- w% R. D0 y3 n; p! L! q
#4  clear=0;
4 ?0 t& w# p$ z#90 clear=1;
. s, Q" u( V" m: W. I$ V; I* e#3  clear=0;
& C+ C; k) v4 [8 |: p6 C2 Tend
2 N# r5 H' U, v! \  H3 C
. N- `( a2 g3 I6 pinitial begin0 W* g- Q3 `8 P
     N=6;load=0;
6 x, T; W# |# g2 Q4 {* M5 p#58  load=1;5 H! R% X/ s0 H1 y5 w/ D
#2   load=0;1 u3 z4 N. @, o
#22  N=12;2 y& G  \8 T  }+ H/ J% W5 ?
#40  load=1;. q6 J0 l5 i9 Z7 k) @
#2   load=0;+ ~# B/ F. f: E9 S
end
/ V$ k( p/ R  Z) B, ]1 s# S
; l) M& v/ \& u1 _0 U* D5 Eendmodule

評分

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

查看全部評分

3#
發表於 2007-8-28 10:56:04 | 只看該作者
還有一份講義可以參考看看7 v0 D# S# |5 W2 s  \& n. p
希望對大大有所幫助
/ M; b3 S# ^, R7 d4 k  o% d- x: o9 X" D4 A0 f
1 C6 A6 _! X% x
& H1 q/ q7 U, S1 I' p: O
遊客,如果您要查看本帖隱藏內容請回復

本帖子中包含更多資源

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

x

評分

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

查看全部評分

4#
 樓主| 發表於 2007-8-28 11:18:33 | 只看該作者
感謝小朱仔的熱心回覆
2 H  u9 t5 y6 N/ [8 e2 o不過我電路要自己畫 還有我不會用Verilog耶
7 p& K; p6 v1 X9 u: k4 f$ }現在主要是要有電路圖 可以用Hspice模擬的那種
! t* S* Z/ u: g) W, ?7 j0 D另外希望inverter越少越好 因為要求要省電! 還有要自己layout!7 A1 |' T& U2 I! }
- {, t4 [) S' b6 a; H  f
樓上那份文件好像裡面有寫到 趕快研究一下! 感謝分享!
8 d7 i1 x4 L9 y7 e4 c" T* Y  y5 m" V6 p4 T* n4 Y
[ 本帖最後由 monkeybad 於 2007-8-28 11:23 AM 編輯 ]
5#
發表於 2007-8-28 16:05:34 | 只看該作者
你那個要自己動手畫CMOS電路吧... : f0 F5 t# {! y# k- [
寫code習慣了, 真的很不想動手再做這樣的事, 不過推完booling equation後, 直接用Cmos畫出來不就好了???
% C8 T$ J, Z/ w1 v* w沒錯吧
6#
 樓主| 發表於 2007-8-30 14:21:06 | 只看該作者
恩恩 不過booling eq好像是在推導一些輸入輸出的條件
- F7 I  p% w3 z  q% i9 b$ a' D5 Y$ \3 ]+ J0 @9 @, `
記數器參考一些資料後 找到一個用ripple counter下去修改的/ {9 g$ P& `6 R9 h7 ]# d$ N
ripple counter就是用負緣觸發的T型正反器串接在一起
0 G$ k$ R' n( i接著開始從0數到9 然後數到10的時候# r2 E, ^6 S5 m7 r1 ?6 U+ Y
就reset重新從0在開始數
7#
發表於 2007-9-3 15:08:06 | 只看該作者
ripper counter真不是個好主意, 不過要看應用, 在有些地方用時倒是好東東...
8#
發表於 2007-10-23 11:19:59 | 只看該作者
我很好奇某大大說的講義
3 r2 Y. s: d- p9 I" U給我看看寫什麼吧
9#
發表於 2007-10-23 20:26:00 | 只看該作者
我這裡有時鐘的電路圖..以送去CIC下線..可提供給大大參考看看!
10#
發表於 2007-10-30 01:52:19 | 只看該作者
我看一看那個問題,要我聯想到CODE,一時還想不起來,真是太久沒有寫程式哩!
! \: m4 j  R5 J3 p  M看到CODE,有一點恍然大悟的感覺,又接著看,害我也想看那份相關資料囉!!
11#
發表於 2007-11-9 14:57:32 | 只看該作者
BCD conuter 應該是對自己有所幫助
12#
發表於 2007-11-14 23:29:59 | 只看該作者
bcd counter對初學者的我而言真的好難
, G( ]+ r1 D/ J1 g  Q謝謝小朱仔提供的code囉
13#
發表於 2007-11-17 16:58:54 | 只看該作者
大大別忘了給小朱仔 "感謝"
9 _- U5 h6 h6 T. j5 r5 g, M2 u! N  A
按評分, 就可以給感謝了....
14#
發表於 2008-2-22 17:34:54 | 只看該作者
Let see the shared material. THX.
15#
發表於 2008-4-24 07:28:10 | 只看該作者
幕讲义之名而来,呵呵勿见怪啦.                                             
4 ]- x% s* e+ s1 z  k5 J$ t感谢
16#
發表於 2008-5-21 10:42:39 | 只看該作者

回復 3# 的帖子

感謝各位大大的資料 對初學者 真是受益良多
17#
發表於 2008-6-2 11:53:25 | 只看該作者
感謝大大的分享∼∼∼∼8 ]) u4 |5 H4 f2 j) N
因為你的無私,讓大家能學到許多知識
18#
發表於 2008-6-2 22:10:25 | 只看該作者
我也想看看大大分享的講義~~1 R& p" d  b+ h
回覆來看看囉!!感謝蛤!!
9 B  I& C( C$ X  K( Y- q% G因為我是初學而已!!
19#
發表於 2008-6-8 20:55:26 | 只看該作者
你是要畫電路圖的方式設計~3 V' H* x% v4 k; g* q  c. m
那畫畫卡諾圖不就好了.... 只是比寫CODE還要麻煩....
- {1 d' z0 x+ V( M) u因為要接邏輯閘!! : M1 v, C$ o$ T7 E
用卡諾圖化簡!!
20#
發表於 2008-7-25 14:41:52 | 只看該作者
最近剛接觸這方面的東西# o, f9 W# N; V! M+ Y

2 Q/ P# r6 L% C剛好需要這些資料+ A2 V% h  Z" u; \4 v7 q# a- a

! Y' k0 A+ \: w9 o1 o感謝分享!!!
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-9-26 12:38 PM , Processed in 0.208012 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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