Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2007-8-28 10:40:06 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
如題1 |4 x. b6 g; b1 F5 k
小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區, e& Q; ^5 H- J5 ]
如果不是麻煩版主修改一下囉* S+ x& \; ~* W
( V9 J$ N$ U; U
目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一個0-5的記數器開始記數1 t+ S/ G7 c5 V6 J- X! t
總之就是能夠記數0-59, 個位數記數0-9, 十位數記數0-5
4 r* c/ U- x- Q  h" a  D7 k" G) P  v# ?: m1 z  r
請問各位有人有設計過這樣的電路嗎? 或是要去哪裡找相關的資料勒?
. W4 O( K4 i6 f謝謝!

評分

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

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂2 踩 分享分享
2#
發表於 2007-8-28 10:52:11 | 只看該作者
原帖由 monkeybad 於 2007-8-28 10:40 AM 發表 & J0 e; y) V5 E2 Y: _, H
如題) ^1 H$ p5 b% j9 ]; [" }
小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區
0 k- Y- ?9 C% s/ z6 K# T如果不是麻煩版主修改一下囉' \; n# A) N$ G$ i% W6 N

0 S0 y; R% z8 z, n目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一 ...
9 `7 [' D/ Z; U5 R+ H0 n" Y$ P* r

- _1 H2 _# M, ]) \5 d5 P大大您是要寫Verilog還是電路9 ^! ]3 c4 _" h" {# ~

$ X. W4 K3 I) ^" H& }, E! T: F. P& U先PO個RTL Code參考看看% `; T8 t- B# W' |1 _4 l
; o6 A4 ?9 U4 K: N
輸入:N clear load clk+ W# H7 b. m9 E9 t
輸出:count
, g; W: p* c3 B) N% A, G6 V7 A* w* y: i# Q0 P0 L, N! x0 L
行為描述(依照優先順序)
8 t3 V( q! {) T% Q9 A1.如果clear為1,則輸出設為為0
$ z6 J/ n% C8 @2.如果load為1,則輸出設為N
) P  q4 m( o/ e3.每個時脈輸出遞增一次(BCD)
% r: r+ E. F/ |! w* X& \0 }$ y) l! q% b2 L1 Q$ r5 n7 i1 I

" {/ e$ v+ S& U& t7 G, b; Q
$ h* v# c, A$ S+ z5 v程式碼:
5 |. P' n0 @' R; {0 g1 _$ W! sBCDcounter.v& x4 ^% T0 D' T7 U
; u7 L9 K0 i, t4 T
module BCDcounter(clear,load,clk,N,count);
! S4 M) X% f$ y5 z' Tinput  clear,load,clk;
% K% g8 c0 t3 t  ]% D4 S* }input  [3:0] N;
& n! _. V; q" g- P, T- Moutput [3:0] count;5 v$ r5 g. B9 Z; t5 i
reg    [3:0] count=0;3 \( |! x* y- @
5 @! _6 B# n9 y9 ?; _( E+ Q
always @ (posedge clk) begin
5 k! N. Z8 `- T2 Y; F  if(clear)                 //clear=18 h: J% O# D! w
    count=0;
) R  z, K6 ^+ B2 B+ p9 h/ G  else if(!clear) begin     //clear=0(共有0 1 X Z四種狀態); Y; |/ C, `$ d& O" R1 d
    if(load) begin3 {' t1 x+ d& M4 J+ G8 d/ C
      if(N>9)
. s$ o- |0 y' u4 D1 o+ T& R        count=0;
  I( q& _2 d8 w5 J' v' r, L      else/ p- k4 S6 W# f
        count=N;$ Q/ h- {9 p) m3 M
    end
0 m% O* _% ]0 C* X- N! _0 n    else if(!load) begin) F- {: v, M5 {! v! j, j
      count = count+1;% v# U" j7 B* @' v* L
      if(count>9)
( K2 e8 K! b8 p" N3 u: f; h$ z      count=0;
! z; t. E$ ~( ~    end
; a) D& p3 a9 R8 h* O7 s  end! L& W0 b; b8 s* C
end9 j5 s0 L2 g) t
endmodule) ^9 P- \& B) b3 u1 v5 _  }% M% M
) \) ?( u/ V, t8 R  j
bcdcounter_tb.v% b: H  E+ y* @
9 R! t& H3 p$ Y. P/ {
module bcdcounter_tb;
2 |. a$ e& F4 B# K1 o) Yreg clear,load,clk;
1 }+ @! X" m1 d6 I/ F3 Q2 ^: x" v2 ireg [3:0] N;
/ y7 X6 c1 h- gwire [3:0] count;
' s$ u9 x& z3 m& l2 f
) J$ h5 [" z, {5 bBCDcounter m1(clear,load,clk,N,count);" i, f+ g& h3 K0 Z" S% l

' D$ R$ H' ?2 `4 yinitial
: Q* m" p  Q* K6 {9 Wclk=0;
* U1 S$ S7 D( @9 {3 v4 y/ X0 J8 C& w. H0 N% l' x: N6 E
always #2 clk=~clk;( P; U  M+ P9 y. U1 ~" Q
& ?0 S1 w+ q# [+ a+ K' M" K
initial
9 x- D7 m3 M% r) E8 h#160 $finish;
' j1 S; ~) n" L- Y* n+ Q
: B8 J; ~: K% o3 u  _5 F: G4 ^initial begin
4 ^6 y3 C4 y/ M1 K+ g+ u    clear=1;, g. d$ A) X) A# |; F- k: Z
#4  clear=0;
$ W1 X8 {. D# m, x: h% L#90 clear=1;& `$ ]0 D0 |; X4 ]
#3  clear=0;
5 f2 n! S% r% b! N0 K( m& [  Mend4 B" X: o, p% Q% v% i+ Z6 x' m

9 n" l! ]" y3 c" C+ D) dinitial begin5 L# [7 z6 q1 `% b
     N=6;load=0;
: z: A2 }: x$ q/ {6 ^. u) }- c$ g#58  load=1;/ U# V; k% W1 X! j
#2   load=0;
6 n# C7 t) ]& f7 _! Z( G/ |#22  N=12;2 @# P) h1 X3 [* I; R; l4 l; V+ P
#40  load=1;' _7 o) b9 F. y3 E) ^
#2   load=0;
2 ~2 I" R  s: x0 ]+ i/ dend9 C* m6 V# D+ F1 A. d, ]3 W6 T  v

1 d. T* Q9 t; ]  R7 g2 sendmodule

評分

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

查看全部評分

3#
發表於 2007-8-28 10:56:04 | 只看該作者
還有一份講義可以參考看看
* Z+ A+ q" Z) {  k! y希望對大大有所幫助
! ?/ C; A" B1 E- x
, F9 H0 r  @8 x, g/ S' S. q 8 ]! E1 s) N7 R+ O/ Q% {; o
$ j) v( i7 m8 B/ k" d- X( h
遊客,如果您要查看本帖隱藏內容請回復

本帖子中包含更多資源

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

x

評分

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

查看全部評分

4#
 樓主| 發表於 2007-8-28 11:18:33 | 只看該作者
感謝小朱仔的熱心回覆
& k& l- f. R' ]不過我電路要自己畫 還有我不會用Verilog耶
0 L( z8 J7 ^$ Z9 X現在主要是要有電路圖 可以用Hspice模擬的那種  Y; s/ }5 M1 P% O3 {+ @
另外希望inverter越少越好 因為要求要省電! 還有要自己layout!
! z/ H6 M0 N$ j' q' }$ _, G: {. ^1 `, _5 N0 J
樓上那份文件好像裡面有寫到 趕快研究一下! 感謝分享!* h  B0 T2 g0 O, k- c8 G

5 {" I  G$ `) L6 c[ 本帖最後由 monkeybad 於 2007-8-28 11:23 AM 編輯 ]
5#
發表於 2007-8-28 16:05:34 | 只看該作者
你那個要自己動手畫CMOS電路吧...
; |- h3 l! g( B- C9 Q: S寫code習慣了, 真的很不想動手再做這樣的事, 不過推完booling equation後, 直接用Cmos畫出來不就好了???0 L) W6 Y$ ]" q+ Z* ~) H' J
沒錯吧
6#
 樓主| 發表於 2007-8-30 14:21:06 | 只看該作者
恩恩 不過booling eq好像是在推導一些輸入輸出的條件
3 R  p8 G" C: q8 P4 u4 {, Z/ ~- l; |( K( k) _+ h1 L: t  {. |
記數器參考一些資料後 找到一個用ripple counter下去修改的
, h% `0 ^* j8 cripple counter就是用負緣觸發的T型正反器串接在一起
, p* |4 I) R/ Q接著開始從0數到9 然後數到10的時候
  O! i: l4 }5 X, s7 z- G4 u就reset重新從0在開始數
7#
發表於 2007-9-3 15:08:06 | 只看該作者
ripper counter真不是個好主意, 不過要看應用, 在有些地方用時倒是好東東...
8#
發表於 2007-10-23 11:19:59 | 只看該作者
我很好奇某大大說的講義
2 q: U$ z5 L# h! z給我看看寫什麼吧
9#
發表於 2007-10-23 20:26:00 | 只看該作者
我這裡有時鐘的電路圖..以送去CIC下線..可提供給大大參考看看!
10#
發表於 2007-10-30 01:52:19 | 只看該作者
我看一看那個問題,要我聯想到CODE,一時還想不起來,真是太久沒有寫程式哩!) x: ?/ I3 M2 `
看到CODE,有一點恍然大悟的感覺,又接著看,害我也想看那份相關資料囉!!
11#
發表於 2007-11-9 14:57:32 | 只看該作者
BCD conuter 應該是對自己有所幫助
12#
發表於 2007-11-14 23:29:59 | 只看該作者
bcd counter對初學者的我而言真的好難9 T( U0 j( _3 {' h6 k
謝謝小朱仔提供的code囉
13#
發表於 2007-11-17 16:58:54 | 只看該作者
大大別忘了給小朱仔 "感謝"
8 J. @7 `* I2 k- S
" A9 \) }- m0 t& O! g+ v0 q按評分, 就可以給感謝了....
14#
發表於 2008-2-22 17:34:54 | 只看該作者
Let see the shared material. THX.
15#
發表於 2008-4-24 07:28:10 | 只看該作者
幕讲义之名而来,呵呵勿见怪啦.                                             
% x$ I6 r& k3 [6 _4 l% W感谢
16#
發表於 2008-5-21 10:42:39 | 只看該作者

回復 3# 的帖子

感謝各位大大的資料 對初學者 真是受益良多
17#
發表於 2008-6-2 11:53:25 | 只看該作者
感謝大大的分享∼∼∼∼$ v$ c7 P. x; j" Q  J. j0 W- h
因為你的無私,讓大家能學到許多知識
18#
發表於 2008-6-2 22:10:25 | 只看該作者
我也想看看大大分享的講義~~
' v1 Q& \4 R& F( n# R" E回覆來看看囉!!感謝蛤!!
( H4 n1 G- D) D! [  j3 H因為我是初學而已!!
19#
發表於 2008-6-8 20:55:26 | 只看該作者
你是要畫電路圖的方式設計~
) ~3 k* o$ a' s+ u9 X那畫畫卡諾圖不就好了.... 只是比寫CODE還要麻煩.... , A* ?8 X4 B: o# N+ ]* t
因為要接邏輯閘!!
; x# o- p2 J0 G% r. U0 X  l8 I用卡諾圖化簡!!
20#
發表於 2008-7-25 14:41:52 | 只看該作者
最近剛接觸這方面的東西
9 Y1 c& N" @6 `' ^7 w/ A0 s* I- m- n  I/ S; ~1 H0 P
剛好需要這些資料
' Y; s; P& p  M0 E2 n7 K
6 g" K% U) t1 M" E( p5 W# Z: ]感謝分享!!!
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-6-9 12:44 AM , Processed in 0.164021 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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