Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2007-8-28 10:40:06 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
如題2 _5 z! P- i0 g$ q+ m: X3 Y  _* x
小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區. x+ K. u8 p/ T0 [0 y: Q
如果不是麻煩版主修改一下囉- |0 v7 {+ A3 r2 F" Q
6 P# c$ e6 E2 A0 f+ y
目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一個0-5的記數器開始記數  ~1 s  a- T4 V8 v
總之就是能夠記數0-59, 個位數記數0-9, 十位數記數0-5( ~: a3 D+ c" B6 U, P
7 H! O6 c* V; ~% }
請問各位有人有設計過這樣的電路嗎? 或是要去哪裡找相關的資料勒?5 M+ T! E" A6 {$ }0 v; 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 發表
% p6 R$ B2 Z6 |4 O如題
6 \* z5 l9 I5 ~6 c( j6 v$ n$ V小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區
1 O6 |0 y  f& E& j6 q( _$ b' P如果不是麻煩版主修改一下囉
4 o5 q4 q: Z' d0 N3 Z: s
3 y3 T2 b- @# x6 v目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一 ...

7 j" k- H; T/ V% }6 B; M# B* B# U0 J2 |6 B) E8 P; m
大大您是要寫Verilog還是電路
$ X! A& x0 x, d3 r8 T4 W+ Z1 P+ W
$ V3 @: g4 q+ U7 m先PO個RTL Code參考看看$ L- [: |* ]# A6 R5 y+ b7 s% n

% A) V- q( H  o6 I; N" F  ]& @+ s$ d輸入:N clear load clk/ k6 N* v5 U) g: k; A" n$ L
輸出:count
5 r+ ^9 g  p9 w, p/ U. O. X$ P2 e# D2 ^; }. Z3 T" L" S8 O4 }
行為描述(依照優先順序)4 C( B) D. p# h
1.如果clear為1,則輸出設為為0
+ Q7 I9 z( T: W$ q: q2 \6 G2.如果load為1,則輸出設為N
7 _# v$ g% H' J7 l5 N9 h6 {. C* A3.每個時脈輸出遞增一次(BCD)8 I$ P! d7 z/ B7 p' g
4 t- [8 F0 b1 i* p4 e1 i* E

$ ^' X; K# z, n3 |+ y% ?* m
1 o1 t( }6 N  Q" Y2 g程式碼:% k7 v( e6 N' e5 g* H
BCDcounter.v' Y( i, f: K: L, F2 p$ B( S

2 }' ~/ `1 d$ E6 w+ }- fmodule BCDcounter(clear,load,clk,N,count);
" G" T, D- {$ y6 }input  clear,load,clk;
" h6 m7 s& Z& U" p7 `* x5 R/ Zinput  [3:0] N;; U3 p7 y- P  p: n
output [3:0] count;7 ?" F8 P3 [" I1 l) K; E. b$ e% {! s
reg    [3:0] count=0;
1 {8 G* P+ j8 q0 u, W  K, E; j* U% _. b* T$ h0 v# V
always @ (posedge clk) begin% d0 E1 S  Y/ Y8 V8 o: x
  if(clear)                 //clear=1- \, r# _* w' K/ B0 W* `
    count=0;0 o5 @% I: U" `  i4 w$ E
  else if(!clear) begin     //clear=0(共有0 1 X Z四種狀態)
, w; }, B5 A. q+ p) C8 L) U    if(load) begin
# V; N9 t7 j1 C5 O1 G% E      if(N>9)
) a8 K2 g9 f/ F  p7 W- [; i3 v) a8 @* t        count=0;7 `/ p6 c0 N; s' Z! d$ S
      else
" D9 _, b: P9 w$ h  @        count=N;4 q& p$ ^( N8 O" o$ Y
    end
4 Z& Y  D6 D+ ?5 Y    else if(!load) begin! |+ Z0 h) g  L
      count = count+1;
5 ~7 A8 r$ M- X6 G7 v6 A      if(count>9)
5 l. z$ M# y7 N# L2 F- }+ |/ D& A1 J      count=0;
  {5 G5 m" ^( b: _: {  v    end
8 p) V7 |( m$ d- T  end6 h( m/ M/ ?. U5 X
end, F* U% y" u( r; l5 Y2 S
endmodule/ ~* E) o% I: r$ n2 }6 ~

" K; ~; S; i# j8 r- R: Rbcdcounter_tb.v
# Y  ?) A/ @  @7 [8 S9 d* \" Q2 S+ e- l  ]2 T/ x# a- T- \
module bcdcounter_tb;% n: U% h2 o( F  c( k
reg clear,load,clk;! [% X. p' o# Q& v
reg [3:0] N;
+ g* r- T9 r$ r9 m0 A2 E9 _/ fwire [3:0] count;+ t7 ~" K3 c2 G% Z( I. b
( g1 S/ r6 q% z
BCDcounter m1(clear,load,clk,N,count);
3 f/ S* ]' g  [% j/ t% H& N$ e0 u0 t# X& I
initial9 u8 {. e5 }! g; ^0 W1 y7 d( Q
clk=0;
9 c- ?5 I( R0 d( e# Z& L& e( q+ X9 b  x: @7 H, f" B
always #2 clk=~clk;" {3 M) U* V% V9 s0 o

, q" A# O! Y5 j, _' [4 G4 G, Rinitial
( H8 f3 k7 k* t#160 $finish;. ~$ T3 `8 a6 W1 u( Y1 E

# q) w: m$ ^& H# Y* hinitial begin
3 s9 y8 l( S# {5 z    clear=1;, e- t- n$ |. t4 S: F" G7 r. M
#4  clear=0;, a0 J1 m2 ^) a' M
#90 clear=1;
3 a! @1 ?7 l* W# l#3  clear=0;9 n' o7 ?8 a* d
end, z8 O+ c3 P9 y: c  [. L2 E8 |) Q* M! M

# q4 K9 n- ~" }" ainitial begin+ D/ |7 V8 J3 e  r0 N9 j
     N=6;load=0;
* K) J4 I. M7 d8 x1 c# o( c#58  load=1;
+ k( D1 K2 H% Q. P6 t#2   load=0;# F2 b/ m/ a0 _" K" C" }
#22  N=12;$ Y  x. B( f4 L, V
#40  load=1;
3 m5 t8 K: J, k8 ~  C#2   load=0;
0 J& h; J* m' N. V5 Cend+ K" m  L; P2 ]& w+ P

; h5 }. {1 c. ~6 I0 oendmodule

評分

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

查看全部評分

3#
發表於 2007-8-28 10:56:04 | 只看該作者
還有一份講義可以參考看看
0 J8 k0 U( g, w5 C. F) [希望對大大有所幫助# e8 I( i; s7 K

1 G1 n& s4 ]* R/ b! r ) C+ [4 f% R! e( y: y6 Y

6 P, P+ }; U% W
遊客,如果您要查看本帖隱藏內容請回復

本帖子中包含更多資源

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

x

評分

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

查看全部評分

4#
 樓主| 發表於 2007-8-28 11:18:33 | 只看該作者
感謝小朱仔的熱心回覆
, [5 o$ q0 Q3 }/ W, t$ [/ S- q6 g不過我電路要自己畫 還有我不會用Verilog耶
/ U; J3 p7 r4 q0 \( \現在主要是要有電路圖 可以用Hspice模擬的那種
9 ~, d/ b) u0 [& t! q3 |( C* P. k另外希望inverter越少越好 因為要求要省電! 還有要自己layout!/ o. B' _8 b3 i, H
7 O8 i( y* F( C& S
樓上那份文件好像裡面有寫到 趕快研究一下! 感謝分享!
/ Y, e0 `- ]3 e, U7 o( ]8 @9 T* R
[ 本帖最後由 monkeybad 於 2007-8-28 11:23 AM 編輯 ]
5#
發表於 2007-8-28 16:05:34 | 只看該作者
你那個要自己動手畫CMOS電路吧... " i! n- _: V+ p+ [# R# G
寫code習慣了, 真的很不想動手再做這樣的事, 不過推完booling equation後, 直接用Cmos畫出來不就好了???4 v( c. x# P! z; T7 H, f4 ]
沒錯吧
6#
 樓主| 發表於 2007-8-30 14:21:06 | 只看該作者
恩恩 不過booling eq好像是在推導一些輸入輸出的條件1 Z* e: }6 y7 p! m/ \2 c

  C! u2 a1 H. [; C8 R( V# d記數器參考一些資料後 找到一個用ripple counter下去修改的' d) [% n. |1 R* V" W5 A; |9 c7 d  C
ripple counter就是用負緣觸發的T型正反器串接在一起 4 S1 p$ G7 _$ O* W
接著開始從0數到9 然後數到10的時候4 h- Z0 U  g! n4 i& \
就reset重新從0在開始數
7#
發表於 2007-9-3 15:08:06 | 只看該作者
ripper counter真不是個好主意, 不過要看應用, 在有些地方用時倒是好東東...
8#
發表於 2007-10-23 11:19:59 | 只看該作者
我很好奇某大大說的講義
9 W( e( z* x* L4 E給我看看寫什麼吧
9#
發表於 2007-10-23 20:26:00 | 只看該作者
我這裡有時鐘的電路圖..以送去CIC下線..可提供給大大參考看看!
10#
發表於 2007-10-30 01:52:19 | 只看該作者
我看一看那個問題,要我聯想到CODE,一時還想不起來,真是太久沒有寫程式哩!
5 U- d$ S4 H; c& U- M- _! }看到CODE,有一點恍然大悟的感覺,又接著看,害我也想看那份相關資料囉!!
11#
發表於 2007-11-9 14:57:32 | 只看該作者
BCD conuter 應該是對自己有所幫助
12#
發表於 2007-11-14 23:29:59 | 只看該作者
bcd counter對初學者的我而言真的好難
  S# m6 o  r/ S& ]謝謝小朱仔提供的code囉
13#
發表於 2007-11-17 16:58:54 | 只看該作者
大大別忘了給小朱仔 "感謝", `& }- P4 O( X

! i9 W% V; e# }3 j5 L) s# J* S按評分, 就可以給感謝了....
14#
發表於 2008-2-22 17:34:54 | 只看該作者
Let see the shared material. THX.
15#
發表於 2008-4-24 07:28:10 | 只看該作者
幕讲义之名而来,呵呵勿见怪啦.                                             
5 R$ A  d2 p: T9 i3 y: v7 T感谢
16#
發表於 2008-5-21 10:42:39 | 只看該作者

回復 3# 的帖子

感謝各位大大的資料 對初學者 真是受益良多
17#
發表於 2008-6-2 11:53:25 | 只看該作者
感謝大大的分享∼∼∼∼# v8 ~* ^4 k, _" ~2 M  H1 G" o; v" Z
因為你的無私,讓大家能學到許多知識
18#
發表於 2008-6-2 22:10:25 | 只看該作者
我也想看看大大分享的講義~~
( y5 y1 r' R  a! v4 Q回覆來看看囉!!感謝蛤!!: @! u0 {+ I' `. f" x
因為我是初學而已!!
19#
發表於 2008-6-8 20:55:26 | 只看該作者
你是要畫電路圖的方式設計~
% r% S) \" c: \" D那畫畫卡諾圖不就好了.... 只是比寫CODE還要麻煩....
4 g9 t1 v' j' p- k( Z因為要接邏輯閘!!
4 @. ]- N- [1 y7 v7 s/ s0 t' I用卡諾圖化簡!!
20#
發表於 2008-7-25 14:41:52 | 只看該作者
最近剛接觸這方面的東西+ m( c. h8 H0 [# {* E: q0 C
2 o$ w; s( v5 c
剛好需要這些資料
3 |+ {$ l% I. q6 c
$ s0 |8 A9 w) n3 ?& |感謝分享!!!
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-11-16 01:51 PM , Processed in 0.194011 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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