Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2007-8-28 10:40:06 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
如題
( `3 i, r- ~4 a$ D% [小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區& k' T; F& d. [5 h' h; o
如果不是麻煩版主修改一下囉
$ ^  }0 c5 k1 X
$ m' Z2 B2 e% c7 w% ^目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一個0-5的記數器開始記數
6 ~+ _+ X) h+ a6 k1 R總之就是能夠記數0-59, 個位數記數0-9, 十位數記數0-53 H. ]6 O# u: a+ F. v
* y. A, C1 G/ {0 B8 J4 F
請問各位有人有設計過這樣的電路嗎? 或是要去哪裡找相關的資料勒?/ A3 T# e1 T9 O
謝謝!

評分

參與人數 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 n* g  J. h- }" w/ H6 m如題
, L0 G% @; r# B3 ?2 D; ~小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區* f6 o+ V) W6 e8 V) d$ j# R4 `
如果不是麻煩版主修改一下囉
) z4 G  o' Z1 b1 l# F
$ J; _% b& W7 w) U1 C5 A- O目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一 ...
! ]" f' l$ H3 P8 J% T- s1 B& m

- `4 H. j; p3 \$ g  o- I  |大大您是要寫Verilog還是電路
4 R5 g; \  e  D/ j
# i6 _. e! k# I先PO個RTL Code參考看看
9 S4 @" O! R# P8 G' T$ `0 Q  S: `/ R
輸入:N clear load clk, Q; U: |3 I$ |4 h
輸出:count
( _, ?' g+ _* B% o: q+ q# J' z/ s3 k6 e. U, d
行為描述(依照優先順序)- m5 s$ @. E4 P
1.如果clear為1,則輸出設為為0, [+ ^( M2 @2 n  ]3 ?
2.如果load為1,則輸出設為N
3 T! `: b  S' U1 Z  Q* E+ L3.每個時脈輸出遞增一次(BCD)
* m# H8 ?% P, x7 h# v9 @: T( r0 M( M- G

3 [7 o$ k$ P* X+ P  [7 x# j  C/ D4 i/ `* p
程式碼:$ i3 E! z* L5 ~) _4 p0 T1 L7 ?: D" a
BCDcounter.v* v1 q3 e6 m2 ]# K$ c) y3 E

* [. X- @0 z$ w/ [5 y9 O* |0 x) vmodule BCDcounter(clear,load,clk,N,count);- I) E) p1 t" O6 g: k( C6 K
input  clear,load,clk;
0 z9 d9 r: G8 \* i" R' Y5 }9 `' Ginput  [3:0] N;
1 h6 j9 J( I# Ooutput [3:0] count;
. O% J" }# H. `) ]+ ]) @reg    [3:0] count=0;% I- Y2 l. h) b0 C* _

( `" ^) z. l+ X/ B. g$ Qalways @ (posedge clk) begin
% Z  A  H! U# L; w4 V) R; |  if(clear)                 //clear=1
' _/ c3 c0 q# y; Q8 D4 }& t" s    count=0;- m2 A  P4 K$ B! m
  else if(!clear) begin     //clear=0(共有0 1 X Z四種狀態)! @& U  D0 g" a9 M  F9 ?
    if(load) begin
9 P( Z8 g; l+ a; P$ H8 x      if(N>9)/ n8 \% J+ t* I: f0 m. C7 C
        count=0;* M5 e  q; C" _6 Y6 R/ ~
      else
- b3 m' p, `% q% @3 y        count=N;* u* _0 p/ N7 r; {, C# d: D. u
    end
7 c6 {1 r8 p- n  x1 F. U    else if(!load) begin! U  s2 \2 i% h; D8 p
      count = count+1;
' m+ X9 `5 W0 `0 D; d% E" v; ?/ ~      if(count>9). ?( Z  y, G" y! g3 B* w
      count=0;
% \& z& ~; I( A, Z+ _' R9 }    end
, A2 n! D  |5 g6 _" D  end
* D+ x6 Q4 A6 H& H% D* \% j5 Kend
4 {# ]" w1 c" B- Nendmodule
; U. `9 U7 E8 _5 m% D* Y- @' L7 G
7 w6 v- D& _/ X3 s, q( ?" r; Y6 X4 @bcdcounter_tb.v
0 _/ h$ ?& j) ^: R0 B# S# P: w
  Z% B: p7 C" C8 Jmodule bcdcounter_tb;
0 Y- i# x% ^: p. v; X6 T- Z) zreg clear,load,clk;# S" J6 {. ?5 g* q. P3 f
reg [3:0] N;  S# B; i% j' f: d
wire [3:0] count;
& |; k, I1 g1 _  V" v* ^6 }6 ^. }' f
BCDcounter m1(clear,load,clk,N,count);
8 @9 |0 q4 P6 t+ i" _8 V% Y0 n" e5 p) k0 Z  s5 p2 X  U( n; @+ g
initial0 K& _" M( \' w& l4 W$ O/ r
clk=0;
( W4 y  N( e  K
( U) ~8 h% G( Z- Ualways #2 clk=~clk;" a: y. z: F! N; a1 A/ t4 @
' E* Z( m8 q3 i+ r
initial7 t& p5 s5 v& i( b% _. ^, m* Q% s
#160 $finish;8 m) P) W. U$ }4 v6 h0 O
2 ~  [7 E; S) ?: g2 w" v6 C
initial begin! ?' Q) z! ?$ t# g& F
    clear=1;" X# t7 S0 r4 @3 C0 a9 F; [. {/ m
#4  clear=0;
9 C4 A% |: W! ]# Y% p0 ?' o8 c#90 clear=1;
! c* b- S' Y, G4 F& `+ G" {$ }9 N#3  clear=0;
) O9 r/ J6 e4 }) e2 u! [end2 S8 d4 t" u$ P+ G, z
) ^8 x8 N+ T5 y' k' f/ y3 j
initial begin, `, s' ^/ O* z5 U( Y2 `
     N=6;load=0;
3 ?& I) W8 L$ e: f  c+ D#58  load=1;
1 Y: Q9 n, o" F& H0 d0 i#2   load=0;1 ]  ~+ P; o+ S, u! h; `6 @
#22  N=12;
5 V' Q9 Z8 J% o2 C' `! L7 J#40  load=1;
2 Q: r* p: f& k9 [4 N) D#2   load=0;
$ J, F1 i* \) gend
7 y5 g' `: A. C* _3 q9 X& O4 T- Y! v
endmodule

評分

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

查看全部評分

3#
發表於 2007-8-28 10:56:04 | 只看該作者
還有一份講義可以參考看看5 t5 Y6 j3 p; @+ G/ [; x
希望對大大有所幫助
$ ?' ~1 s3 i/ B6 l5 O
9 J; N7 R5 Z1 ]" X
6 M2 Z% a% a$ ^! c; a0 [3 s# z7 l
遊客,如果您要查看本帖隱藏內容請回復

本帖子中包含更多資源

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

x

評分

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

查看全部評分

4#
 樓主| 發表於 2007-8-28 11:18:33 | 只看該作者
感謝小朱仔的熱心回覆
% O8 Q4 h  n# d& H+ G$ e3 m不過我電路要自己畫 還有我不會用Verilog耶$ k# M$ @% W3 c; a) O
現在主要是要有電路圖 可以用Hspice模擬的那種
( R4 z( q+ E' W$ r另外希望inverter越少越好 因為要求要省電! 還有要自己layout!
, a6 m3 ?" x- H
) l) V4 i2 S% w% N1 A8 k/ m樓上那份文件好像裡面有寫到 趕快研究一下! 感謝分享!! ?1 W: L/ p. _# `% a# Y, Q
6 u( B- A; L6 g% _+ ?, C0 S6 ]6 I
[ 本帖最後由 monkeybad 於 2007-8-28 11:23 AM 編輯 ]
5#
發表於 2007-8-28 16:05:34 | 只看該作者
你那個要自己動手畫CMOS電路吧...
  A3 t, z$ v2 J1 w寫code習慣了, 真的很不想動手再做這樣的事, 不過推完booling equation後, 直接用Cmos畫出來不就好了???
8 q9 r9 q  `; v3 Z; r沒錯吧
6#
 樓主| 發表於 2007-8-30 14:21:06 | 只看該作者
恩恩 不過booling eq好像是在推導一些輸入輸出的條件
0 e, Y; z5 G9 U
$ T9 F% ~7 l1 R' ], B記數器參考一些資料後 找到一個用ripple counter下去修改的- a1 S& U6 a" u" a" Z3 e  A& c
ripple counter就是用負緣觸發的T型正反器串接在一起
0 b# G' x: u4 p接著開始從0數到9 然後數到10的時候/ |% i3 Y2 ~, t) o! D
就reset重新從0在開始數
7#
發表於 2007-9-3 15:08:06 | 只看該作者
ripper counter真不是個好主意, 不過要看應用, 在有些地方用時倒是好東東...
8#
發表於 2007-10-23 11:19:59 | 只看該作者
我很好奇某大大說的講義" M5 u0 c6 \# R  T
給我看看寫什麼吧
9#
發表於 2007-10-23 20:26:00 | 只看該作者
我這裡有時鐘的電路圖..以送去CIC下線..可提供給大大參考看看!
10#
發表於 2007-10-30 01:52:19 | 只看該作者
我看一看那個問題,要我聯想到CODE,一時還想不起來,真是太久沒有寫程式哩!
8 X7 Q2 I. @7 u, o看到CODE,有一點恍然大悟的感覺,又接著看,害我也想看那份相關資料囉!!
11#
發表於 2007-11-9 14:57:32 | 只看該作者
BCD conuter 應該是對自己有所幫助
12#
發表於 2007-11-14 23:29:59 | 只看該作者
bcd counter對初學者的我而言真的好難, W6 T! L! n8 O- ^: o4 i+ F, O, j& R
謝謝小朱仔提供的code囉
13#
發表於 2007-11-17 16:58:54 | 只看該作者
大大別忘了給小朱仔 "感謝"
1 o6 R. ?3 p6 \+ T* @$ m( w; R7 x
. E. N7 U4 j- T( e+ I: y" p% S) `按評分, 就可以給感謝了....
14#
發表於 2008-2-22 17:34:54 | 只看該作者
Let see the shared material. THX.
15#
發表於 2008-4-24 07:28:10 | 只看該作者
幕讲义之名而来,呵呵勿见怪啦.                                             
6 R6 j# q! U2 v4 W6 C感谢
16#
發表於 2008-5-21 10:42:39 | 只看該作者

回復 3# 的帖子

感謝各位大大的資料 對初學者 真是受益良多
17#
發表於 2008-6-2 11:53:25 | 只看該作者
感謝大大的分享∼∼∼∼
" S) Z: R5 H5 |/ @7 I2 O7 H6 B因為你的無私,讓大家能學到許多知識
18#
發表於 2008-6-2 22:10:25 | 只看該作者
我也想看看大大分享的講義~~
$ D1 i( `+ X' y8 D+ _$ L回覆來看看囉!!感謝蛤!!
' Z8 v; L! f! ]7 e因為我是初學而已!!
19#
發表於 2008-6-8 20:55:26 | 只看該作者
你是要畫電路圖的方式設計~) R, \3 R, P3 B
那畫畫卡諾圖不就好了.... 只是比寫CODE還要麻煩.... 7 J7 h/ P% [/ E( E8 K# p4 {' F/ ]
因為要接邏輯閘!! - r" @: g/ ^8 P8 _  W7 H! K
用卡諾圖化簡!!
20#
發表於 2008-7-25 14:41:52 | 只看該作者
最近剛接觸這方面的東西
  V  @  l# S7 ~3 |: T  _
' D' `8 s! o* _; B剛好需要這些資料; v/ j" o* O; Y* h$ [
+ T8 J: B) |4 `  t: E0 y8 V
感謝分享!!!
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2025-2-19 06:34 AM , Processed in 0.230013 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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