Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2007-8-28 10:40:06 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
如題
2 b2 O" B( ?( \# O+ x小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區
2 f9 P. F" ], Z( w如果不是麻煩版主修改一下囉
6 @- S  A2 x/ K; X6 v3 P: _$ A4 A  q6 i# J" [$ N
目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一個0-5的記數器開始記數
, `  ~5 T0 z7 |# w  l! a" a總之就是能夠記數0-59, 個位數記數0-9, 十位數記數0-5
1 a: C. Y5 ]' ^$ n0 g5 P  Y" V7 Z) ]
請問各位有人有設計過這樣的電路嗎? 或是要去哪裡找相關的資料勒?# ~$ |. ]! q; T9 O4 e
謝謝!

評分

參與人數 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 R3 v& C4 F7 `4 d5 l6 Y; a
如題7 w4 A! b& b# Q
小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區
3 o  d( Y7 s7 f# ~5 B如果不是麻煩版主修改一下囉1 M3 j+ c, g; P& i9 t8 a: l

" c2 X* Y/ U$ U- e5 u- l目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一 ...

7 L& ~% q( T' F8 t$ h2 W5 d
: r' j& L) ?' P0 w4 m; N- X大大您是要寫Verilog還是電路' `$ X& x5 l7 ]. L( C! D

5 j4 i7 ~+ T/ \0 u/ O) I9 k) a先PO個RTL Code參考看看& j" ]7 S# S0 {% t8 [4 o( |" t/ @: i

! V$ J0 ?5 x4 J! x. A/ t8 ^輸入:N clear load clk
" K" R* G  }% |# x6 j輸出:count  {% v6 y9 y# @8 c# O
& T+ k6 v$ {+ Z- v" i) w2 [
行為描述(依照優先順序)1 B2 ]8 n. Q. e" B/ p8 ~7 s) l
1.如果clear為1,則輸出設為為0% _7 a* n! V7 ]" x3 \
2.如果load為1,則輸出設為N
3 B6 g6 A" _6 }' a6 _  S3.每個時脈輸出遞增一次(BCD)
, a& `3 Z9 f* r4 Q( K/ k% n1 ~8 b
# ^& p  w1 z7 g! ]% \, |7 p7 C: N
! i' N" j/ T( {
程式碼:, F2 Q( P/ D' M# r- H
BCDcounter.v. A+ ^; }0 H5 `
3 l# t: f: @3 o  Y0 k0 n3 g1 E' \
module BCDcounter(clear,load,clk,N,count);" q' ?% v( n+ w7 c+ K+ A
input  clear,load,clk;
6 A7 o1 \1 G) D* C0 D  g& linput  [3:0] N;) b. S5 w: [( ~( ~  v, F- _& \
output [3:0] count;
; R' b, h7 |; }reg    [3:0] count=0;
* p: M' l- Q5 T, T( y0 d" o( [: u  D# z  m7 \. v- O  i3 v1 |
always @ (posedge clk) begin
. Y" L5 K" w: j- T" @! F  if(clear)                 //clear=1
1 V4 y  i  W* D    count=0;
1 [' p& _; C8 T$ U% v# R" q+ C  else if(!clear) begin     //clear=0(共有0 1 X Z四種狀態)& i* w9 \3 r, I. h' C$ o5 {* U, `
    if(load) begin" I  O6 A( C  e0 F- g- B
      if(N>9)% K. J8 ~, G# J1 ~9 ^0 y
        count=0;
, b: G1 @2 t7 W% }      else
6 o4 ?3 v9 L, W1 Q+ W! V. P, \        count=N;0 c5 w! y7 D: X! |
    end
# r* i) f2 o: f% I- f. {& S    else if(!load) begin
7 s) V5 d1 g2 ~" H6 [; r      count = count+1;
. W' ^8 N7 z/ k5 g# n- `( z      if(count>9)
' }% m& d8 n) c' I5 D' b; q& }4 V      count=0;
9 x' g! `- ~3 k5 F    end
/ R& i: v# t7 W) p  end( m, ~' L: m" G4 K
end$ s' K3 {+ X( s! Y$ K
endmodule( H* f- C) W" q5 N. B7 g

- ^" c/ V* `) m2 S! _: h) gbcdcounter_tb.v9 U" O9 N* a2 B- x" }

" n; d4 M! {: Q& r- j6 ~module bcdcounter_tb;
; l( M. u5 n2 S. X7 |! Treg clear,load,clk;" L! X  q6 ^& }) |
reg [3:0] N;
' I' V2 _) [* p) s$ q' Vwire [3:0] count;
* G+ B! ^7 C  B+ k7 `" d* M0 ]2 w! o# `: x. H% C
BCDcounter m1(clear,load,clk,N,count);
+ o5 h7 L1 C- R7 G5 L( j: I$ A: `
, h, x/ A" W3 h8 Z* Zinitial
3 g# e' ?1 R( ]" o& q/ rclk=0;8 V- T. T* O: y9 ]1 H1 \9 w; P

5 s+ H1 q+ G0 G+ R9 Yalways #2 clk=~clk;
4 k9 E8 m7 P5 ^+ f! [9 h5 n, ~# g
initial
$ u$ o  ^" \( k5 d& O% ]#160 $finish;
4 S$ v/ l1 h  K7 {2 n; ~+ l9 T5 ^8 M9 N: j" d
initial begin3 l- P) }2 J9 p4 v( c5 u' X6 U
    clear=1;
: a; ~3 ?9 `' [7 O- o#4  clear=0;
2 N! B* U/ |$ v( T+ p#90 clear=1;
3 @2 W0 F- ~  p" O4 ?#3  clear=0;, H, F7 K9 f9 `4 ?2 {
end
( k) `' _5 D) X* U$ ~! Q
* ~! J& q3 V: b: I9 u; Sinitial begin
6 s' B0 }; m8 H  D4 c2 E$ Q* q' k     N=6;load=0;# f  s0 H4 M. d
#58  load=1;
. X& s- j2 V/ L. ^% K5 u/ {#2   load=0;% i2 h; [* z$ `9 Q7 X* s+ Y! H
#22  N=12;
/ ^8 Q; A1 C" d' h#40  load=1;
/ H$ G! M5 I: P  @, T( _# S#2   load=0;- @9 G+ \* `: h1 R  C) }
end
: `" ^! v2 x5 w9 o  G% W- v# z6 C
1 @7 M8 P% b  Kendmodule

評分

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

查看全部評分

3#
發表於 2007-8-28 10:56:04 | 只看該作者
還有一份講義可以參考看看5 Z6 t2 t  J# u' J3 p2 c
希望對大大有所幫助
5 h/ a' F! w+ L9 o" Y
1 _' z2 F9 ?% a: @% K5 \ 7 |3 t# i9 X, [, E  K
6 O4 P' Z& ^! p$ m
遊客,如果您要查看本帖隱藏內容請回復

本帖子中包含更多資源

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

x

評分

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

查看全部評分

4#
 樓主| 發表於 2007-8-28 11:18:33 | 只看該作者
感謝小朱仔的熱心回覆
  `9 ^( j% e9 z) F- X不過我電路要自己畫 還有我不會用Verilog耶
7 e9 T# n5 a# l1 ^9 \' I現在主要是要有電路圖 可以用Hspice模擬的那種8 _( f: u! J, Z% t" u
另外希望inverter越少越好 因為要求要省電! 還有要自己layout!
6 R. |7 i" F: L) K% g3 F6 v4 M, Y  H/ F, p- S
樓上那份文件好像裡面有寫到 趕快研究一下! 感謝分享!# c0 R* ^! u0 ]& O% v

4 `" M0 x1 C0 Z+ }$ z& Y6 _4 D" X7 n5 y[ 本帖最後由 monkeybad 於 2007-8-28 11:23 AM 編輯 ]
5#
發表於 2007-8-28 16:05:34 | 只看該作者
你那個要自己動手畫CMOS電路吧... 9 @) r& e0 I5 e- z
寫code習慣了, 真的很不想動手再做這樣的事, 不過推完booling equation後, 直接用Cmos畫出來不就好了???
9 e7 X; a2 B  c3 Q  |9 [; W* P沒錯吧
6#
 樓主| 發表於 2007-8-30 14:21:06 | 只看該作者
恩恩 不過booling eq好像是在推導一些輸入輸出的條件
& K2 f- J9 P( `6 j' h+ N0 v6 e" i; r& V6 v" U
記數器參考一些資料後 找到一個用ripple counter下去修改的) o+ E; X* z  {( v# u$ O! W" }7 U
ripple counter就是用負緣觸發的T型正反器串接在一起
# x& J/ R( v" F. `* S7 s接著開始從0數到9 然後數到10的時候
- P; G$ J- I# R  H9 B: b9 u' Y就reset重新從0在開始數
7#
發表於 2007-9-3 15:08:06 | 只看該作者
ripper counter真不是個好主意, 不過要看應用, 在有些地方用時倒是好東東...
8#
發表於 2007-10-23 11:19:59 | 只看該作者
我很好奇某大大說的講義
; y6 W- H5 j$ l& K% v! X& i& D- ]7 r1 m給我看看寫什麼吧
9#
發表於 2007-10-23 20:26:00 | 只看該作者
我這裡有時鐘的電路圖..以送去CIC下線..可提供給大大參考看看!
10#
發表於 2007-10-30 01:52:19 | 只看該作者
我看一看那個問題,要我聯想到CODE,一時還想不起來,真是太久沒有寫程式哩!
( w! D- y" n2 d) Z7 {看到CODE,有一點恍然大悟的感覺,又接著看,害我也想看那份相關資料囉!!
11#
發表於 2007-11-9 14:57:32 | 只看該作者
BCD conuter 應該是對自己有所幫助
12#
發表於 2007-11-14 23:29:59 | 只看該作者
bcd counter對初學者的我而言真的好難! `* U. Y. g8 V2 O9 U$ g
謝謝小朱仔提供的code囉
13#
發表於 2007-11-17 16:58:54 | 只看該作者
大大別忘了給小朱仔 "感謝") e/ D+ |/ _0 {# C
0 A8 P6 {6 e2 g" H- `# a! U* Q( q7 o8 _
按評分, 就可以給感謝了....
14#
發表於 2008-2-22 17:34:54 | 只看該作者
Let see the shared material. THX.
15#
發表於 2008-4-24 07:28:10 | 只看該作者
幕讲义之名而来,呵呵勿见怪啦.                                              / L/ x! m1 ]; k( v, ?" X
感谢
16#
發表於 2008-5-21 10:42:39 | 只看該作者

回復 3# 的帖子

感謝各位大大的資料 對初學者 真是受益良多
17#
發表於 2008-6-2 11:53:25 | 只看該作者
感謝大大的分享∼∼∼∼* A$ o* m4 j( A- T) h0 b
因為你的無私,讓大家能學到許多知識
18#
發表於 2008-6-2 22:10:25 | 只看該作者
我也想看看大大分享的講義~~
* w, h, g3 \  }% N; {9 ?回覆來看看囉!!感謝蛤!!
  @9 U+ P; D% a& K因為我是初學而已!!
19#
發表於 2008-6-8 20:55:26 | 只看該作者
你是要畫電路圖的方式設計~- l8 v4 v2 R6 L& ^! `
那畫畫卡諾圖不就好了.... 只是比寫CODE還要麻煩.... 7 p* ~% D1 [- b& h" q0 g: y- t- |( o
因為要接邏輯閘!!
) L6 W' |9 P- r/ |% C+ h  Q用卡諾圖化簡!!
20#
發表於 2008-7-25 14:41:52 | 只看該作者
最近剛接觸這方面的東西
: R8 }+ X% b( h& D( C+ v, E8 A# b( c5 d$ }, x# s/ y/ z- Z- g
剛好需要這些資料  V3 R% D4 L! n; F( y; n  Z

- k7 h, _. t( E" A; G  k1 `- Y" f感謝分享!!!
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-4-29 08:05 AM , Processed in 0.132008 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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