Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2007-8-28 10:40:06 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
如題& ~, s1 u, {  C- b
小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區
) M" ?1 {& Q7 T+ l如果不是麻煩版主修改一下囉0 ^- g0 y$ O, p$ z; F  {

9 Y/ o3 w1 o  A$ V) j3 `目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一個0-5的記數器開始記數
2 ~7 S9 a. ^) r# k) ?4 A& P/ K$ ?總之就是能夠記數0-59, 個位數記數0-9, 十位數記數0-54 }. P2 k) s1 m7 k
0 S) w6 `: h2 [/ e  m; z& \
請問各位有人有設計過這樣的電路嗎? 或是要去哪裡找相關的資料勒?
3 S& u& |- w; J0 H謝謝!

評分

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

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂2 踩 分享分享
2#
發表於 2007-8-28 10:52:11 | 只看該作者
原帖由 monkeybad 於 2007-8-28 10:40 AM 發表 2 q1 P& }  k4 r0 U9 Y& j9 n0 M  C
如題
% i! B" O. F) x; N8 }小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區) E3 H8 y7 f. x- ]
如果不是麻煩版主修改一下囉" O3 e" {% W& V, n* }# \7 D  G
5 H" x! n) p6 O9 r- s# f
目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一 ...

. Z. w$ ?. |7 L+ Q
/ F( r9 B) {" S5 N! D大大您是要寫Verilog還是電路
* a: O' T# S! u, X- ?1 ]
: w4 G* w; {7 M9 J* o先PO個RTL Code參考看看
/ H6 E1 F' O" g1 U$ O3 {
  |. t( ~8 r. c輸入:N clear load clk
2 \3 R! M+ T3 _/ d. Y4 u$ U輸出:count
' p+ I8 y  V% I6 V+ O* @1 s
* b1 F8 S5 f* `9 k+ T8 ~9 l5 R行為描述(依照優先順序)( t* N" z* |) @/ E# E6 e2 S+ I" \% L( Z
1.如果clear為1,則輸出設為為03 L( V# k$ i& f; g% X4 o" w+ G
2.如果load為1,則輸出設為N0 p& E, }  \  @7 A- r$ W9 C
3.每個時脈輸出遞增一次(BCD)5 ?. k1 ]! L. M) z' Z2 C

- y1 d3 I/ ?) ~7 W. q, [
' |* c/ ]" q7 Y8 R5 B& i
0 J- E5 J5 b) T: S程式碼:
- Y0 ~2 P1 E8 ^& u, r. n$ CBCDcounter.v1 D( q. O$ x1 D% q5 \5 b
# T* O+ b% l* A" y, I% B
module BCDcounter(clear,load,clk,N,count);7 Q5 V; X& o1 [  Y5 A7 o. p' n4 J# f1 j" h; ~
input  clear,load,clk;* h; s; n& S( v+ k0 y7 x- Q4 l
input  [3:0] N;
) A% L$ K& j! q4 O3 Soutput [3:0] count;: y# @5 ]: A$ d  G; f
reg    [3:0] count=0;9 ^% E( g7 U* o( i: q

* |3 a& E9 H+ F$ Lalways @ (posedge clk) begin
( h- l) c  I9 D+ u  if(clear)                 //clear=1
% E3 [3 h% ]) q( y& {    count=0;0 ?9 Y! k3 _: ~1 A  N) e$ f
  else if(!clear) begin     //clear=0(共有0 1 X Z四種狀態)2 ^/ l# [5 j1 N6 x* g2 ^! [7 {
    if(load) begin2 h7 ^" _% S- |; @& K- g
      if(N>9)
9 l0 O. C/ F* Y; `# n, ^        count=0;
* ?; c# B4 o4 z4 U6 U) z8 ]      else! M* M+ ^1 ^- y8 J7 R
        count=N;
( Z; q& N/ O& S2 I4 ^! c    end/ m, C" p! n  Q
    else if(!load) begin5 O5 O# K2 o" t; ?. V% d
      count = count+1;) b5 c2 G9 `- b- u+ x
      if(count>9), X  }1 X% t  B/ C2 C3 X
      count=0;
; A& H. w: |# s    end! d2 ]* S7 r5 H2 Q0 g
  end
6 S8 J: @' X4 U3 O( ~end
" j( U7 Y1 K. s4 G7 g/ @endmodule6 t) O5 P; ?; ?/ W' w4 H
2 X" T7 s/ F) B# z3 W
bcdcounter_tb.v
/ y9 M9 x. d" z  A# q
. e- _! d* x( P- i$ r' J. bmodule bcdcounter_tb;  y4 q4 ~4 Y3 Q: L  ]( u2 \' m
reg clear,load,clk;
7 \; `. |$ B2 K2 Y; ^  K! ureg [3:0] N;) X4 G- I, `/ H( r. G6 T" ~
wire [3:0] count;
4 a3 q4 A6 b" S( V' L9 Z1 P8 ?7 B: a+ H, Y3 s
BCDcounter m1(clear,load,clk,N,count);2 C4 k% W$ J' Q7 F5 H
8 o. }3 G* L% K: E4 t+ Y  y) g
initial7 O: \1 M6 x3 l6 ?! L# Y8 x
clk=0;
7 P0 N/ p1 R* x5 ]
; j: Q/ i- K- j7 @9 m* [1 z& ~9 G/ D1 f9 Nalways #2 clk=~clk;* c, |# x/ I4 m+ k4 B1 C
; _' m. T. r, p5 Q+ H
initial
8 F' V' z: o0 [0 L4 {$ r3 j! O9 q#160 $finish;
% O, u0 [2 c- p, R2 r
; |; M0 b- h$ r, `* sinitial begin
3 P1 L" L& x/ Q& z# U7 V    clear=1;/ U" ]9 v) U+ T# B; @7 P
#4  clear=0;; a7 K- ]8 G4 B8 H8 ~: r8 y* j
#90 clear=1;
" H( d8 F" F1 o, f8 m. w! Y#3  clear=0;! _  u1 w4 T3 G  u9 [3 f
end
" L" n5 _3 C% H) ]4 O0 Z& ^- [0 j1 _- b1 x; m
initial begin
& V  Z+ L* a& f- b  M+ M8 r$ `& T     N=6;load=0;
0 Z4 c; k, [8 L+ T  n; y#58  load=1;. z* a) w2 b2 j8 B9 u# l9 T
#2   load=0;" _+ \$ V" V4 S' C" P: g
#22  N=12;
8 h2 P) X6 L# V, K" Y- p#40  load=1;
4 Q, K9 }. E4 B5 |& f#2   load=0;
# r% o, M! |" q3 p& ]end2 q* t/ H$ g5 E/ C

- Z" ?6 G* p5 p; @% y9 Uendmodule

評分

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

查看全部評分

3#
發表於 2007-8-28 10:56:04 | 只看該作者
還有一份講義可以參考看看5 s1 n6 J: G9 ~( Z# O% J3 s
希望對大大有所幫助
0 r/ ~7 s9 J& c! b3 \( \1 k, d- g5 \% b5 L- x; f) s

4 q, n" n- ^# j/ x/ N  |
4 W; O( R+ K( ]2 I  O6 F
遊客,如果您要查看本帖隱藏內容請回復

本帖子中包含更多資源

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

x

評分

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

查看全部評分

4#
 樓主| 發表於 2007-8-28 11:18:33 | 只看該作者
感謝小朱仔的熱心回覆
# u; _0 A; c' ^( |0 {不過我電路要自己畫 還有我不會用Verilog耶+ {: X  @3 L& f0 W6 m# U1 |
現在主要是要有電路圖 可以用Hspice模擬的那種! b  u2 Q! S7 I% c, Z1 R
另外希望inverter越少越好 因為要求要省電! 還有要自己layout!  O/ y* e, D3 x( z# K) ^% N
  w) ~6 j' Y" T$ g0 z
樓上那份文件好像裡面有寫到 趕快研究一下! 感謝分享!
3 }7 K7 b) ~6 h$ t4 P7 B
' V6 @9 Z$ v* k. L[ 本帖最後由 monkeybad 於 2007-8-28 11:23 AM 編輯 ]
5#
發表於 2007-8-28 16:05:34 | 只看該作者
你那個要自己動手畫CMOS電路吧...
/ e" s' f- m& p* K1 K% K. C寫code習慣了, 真的很不想動手再做這樣的事, 不過推完booling equation後, 直接用Cmos畫出來不就好了???
( C3 q/ J* r) l沒錯吧
6#
 樓主| 發表於 2007-8-30 14:21:06 | 只看該作者
恩恩 不過booling eq好像是在推導一些輸入輸出的條件
' L4 k' w# x2 q+ R" U7 F7 _
- j0 @' _! G# a# i. T  }記數器參考一些資料後 找到一個用ripple counter下去修改的$ Y4 U, [* i) j2 c
ripple counter就是用負緣觸發的T型正反器串接在一起 3 v7 G- Z  J5 Q5 p  y# f
接著開始從0數到9 然後數到10的時候$ G* G  b' o+ w+ l* R/ Y
就reset重新從0在開始數
7#
發表於 2007-9-3 15:08:06 | 只看該作者
ripper counter真不是個好主意, 不過要看應用, 在有些地方用時倒是好東東...
8#
發表於 2007-10-23 11:19:59 | 只看該作者
我很好奇某大大說的講義% J& ^: r  I. D
給我看看寫什麼吧
9#
發表於 2007-10-23 20:26:00 | 只看該作者
我這裡有時鐘的電路圖..以送去CIC下線..可提供給大大參考看看!
10#
發表於 2007-10-30 01:52:19 | 只看該作者
我看一看那個問題,要我聯想到CODE,一時還想不起來,真是太久沒有寫程式哩!
4 A. g+ B3 ~4 _# ]7 e0 f& ]+ \看到CODE,有一點恍然大悟的感覺,又接著看,害我也想看那份相關資料囉!!
11#
發表於 2007-11-9 14:57:32 | 只看該作者
BCD conuter 應該是對自己有所幫助
12#
發表於 2007-11-14 23:29:59 | 只看該作者
bcd counter對初學者的我而言真的好難
/ @$ _- u. T" Y$ E$ @謝謝小朱仔提供的code囉
13#
發表於 2007-11-17 16:58:54 | 只看該作者
大大別忘了給小朱仔 "感謝"# z! ?( L' e$ R1 H) L8 D

8 Z; d! h) z( E# W( T4 q按評分, 就可以給感謝了....
14#
發表於 2008-2-22 17:34:54 | 只看該作者
Let see the shared material. THX.
15#
發表於 2008-4-24 07:28:10 | 只看該作者
幕讲义之名而来,呵呵勿见怪啦.                                             
+ ?  Y& q9 x  q& X2 ]感谢
16#
發表於 2008-5-21 10:42:39 | 只看該作者

回復 3# 的帖子

感謝各位大大的資料 對初學者 真是受益良多
17#
發表於 2008-6-2 11:53:25 | 只看該作者
感謝大大的分享∼∼∼∼
* k! b  \" `% z$ {' Z  n因為你的無私,讓大家能學到許多知識
18#
發表於 2008-6-2 22:10:25 | 只看該作者
我也想看看大大分享的講義~~
  D" H% T7 P3 t) b9 m+ L回覆來看看囉!!感謝蛤!!4 U. f% T" {8 F1 n3 ~0 M# }! A
因為我是初學而已!!
19#
發表於 2008-6-8 20:55:26 | 只看該作者
你是要畫電路圖的方式設計~2 _! H& ]& Q4 ]2 }& W, G
那畫畫卡諾圖不就好了.... 只是比寫CODE還要麻煩.... 1 L9 }+ @* n+ @; Y$ j" k2 s
因為要接邏輯閘!!
: d5 w' A) E) w( I用卡諾圖化簡!!
20#
發表於 2008-7-25 14:41:52 | 只看該作者
最近剛接觸這方面的東西
2 Y0 h+ u) \: Y* o
# ?2 o! ~7 {! |4 Z: y; J  g4 [剛好需要這些資料8 W! K! |% j: j# g
: b! d" Q) y$ i5 U4 ?( D- ]
感謝分享!!!
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-29 11:31 PM , Processed in 0.136017 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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