Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

搜索
1 2 3 4
查看: 53306|回復: 51

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

  [複製鏈接]
發表於 2007-8-28 10:40:06 | 顯示全部樓層 |閱讀模式
如題; i% R* s: v) i" r( k2 g
小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區% @  ?; b/ h# q; T5 r; j: t
如果不是麻煩版主修改一下囉% \; I2 ~4 Y5 M' W0 m

& o5 V) T6 M" ]1 W, I( l0 ^目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一個0-5的記數器開始記數* }! E4 _6 S6 h6 C4 g# O, f
總之就是能夠記數0-59, 個位數記數0-9, 十位數記數0-5/ U+ w/ u+ J4 V- I  T
/ l$ s: w# h/ l- g# E  h" r
請問各位有人有設計過這樣的電路嗎? 或是要去哪裡找相關的資料勒?
* [  w6 M+ h2 K" H5 }謝謝!

評分

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

查看全部評分

發表於 2007-8-28 10:52:11 | 顯示全部樓層
原帖由 monkeybad 於 2007-8-28 10:40 AM 發表
  Y# D9 q! i8 W$ S3 H8 `/ O& [6 O9 ^9 j如題5 Z3 r5 t8 c4 p2 ^- C2 _
小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區
2 Q: M- a4 M1 t( m; J0 ?如果不是麻煩版主修改一下囉
0 V& ^1 C+ |3 Y3 x' t3 f; i
2 _+ @8 ^. g' }9 E. X3 ~% Y& h, X目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一 ...
* O) T  j; p: q
) ^3 e) u/ g; L: ]( N$ }; _7 z1 m
大大您是要寫Verilog還是電路
; y# }' k, i" Q. G0 C/ n2 r2 k$ m2 v0 G% k7 j2 f2 [  S
先PO個RTL Code參考看看
. s; [  ^5 N4 }* D1 o
% ?9 h9 b: y* ?& E1 _$ w輸入:N clear load clk
2 [0 `0 t5 N2 F: J- i8 O9 b輸出:count
; u( u/ A6 v5 N, ]; D2 n( U2 N# u5 J% M5 V; _
行為描述(依照優先順序), X& G$ e3 \/ B+ O7 B
1.如果clear為1,則輸出設為為0' `9 D) M9 u* s+ |# w
2.如果load為1,則輸出設為N5 F) m, j! q$ Z. |! k: `" t
3.每個時脈輸出遞增一次(BCD)
% Z4 @4 Z0 d  N9 p, i& C
6 T5 v# `0 o' ~' A$ U* ]  R% y2 J' U6 x  y4 p$ k# f" C

- h6 m# U$ J" z$ A2 s程式碼:
8 i- o' o8 B+ P/ y' q# X+ cBCDcounter.v
# d7 m! L( `6 A4 U- k: t
* v3 w3 Z6 h8 I; `module BCDcounter(clear,load,clk,N,count);0 N; d4 s0 C3 E9 x
input  clear,load,clk;
; `/ Y5 k# |2 L: `: _input  [3:0] N;) l4 d8 ~6 m6 s8 q
output [3:0] count;
: X. x4 e4 @" C$ m/ r* \reg    [3:0] count=0;) ?& }% m$ s5 ~4 j. U

  o) J" X7 r7 ^" c% talways @ (posedge clk) begin/ E1 Q7 J3 N3 z  f2 |$ C& U* {
  if(clear)                 //clear=16 U1 z. z( X4 d: @
    count=0;
4 q2 n: M/ {( {: x% {  else if(!clear) begin     //clear=0(共有0 1 X Z四種狀態)
# l+ d+ ]+ z9 _; D6 y    if(load) begin7 d( g6 v( K5 H, ^0 N9 S
      if(N>9)
6 ^1 j( K  d0 p. t2 ?        count=0;
% G+ i" Q. D, P1 f      else2 O! ]: {, b, {8 Z8 s+ y- h0 p9 ~
        count=N;
% {8 e4 _- ?- W6 o    end
' H. v9 Y7 E( F1 F; h    else if(!load) begin, b* S- B* k. x; [
      count = count+1;
+ K$ k* R. M7 I7 N  Y6 j      if(count>9)
7 ?+ v( F' L1 N5 A6 i      count=0;4 ]7 U/ D) t; b0 J* \
    end: \' X' d8 J- a8 P
  end+ b/ T, F! u+ i5 c
end# h9 d, @3 Z3 S) |( _% l
endmodule
/ I+ C7 F: X- ?" M5 \" r; V. Y. A  m: a) d  S/ X- \" C4 w
bcdcounter_tb.v
2 F2 y$ @3 F& N$ V% W. Z: W2 ?, l4 |+ S8 b/ T$ |
module bcdcounter_tb;, z+ ^8 A1 z' |# R! ]2 O
reg clear,load,clk;
1 m: j# Y. m% T0 Q9 Vreg [3:0] N;
, `1 D0 r5 Y' G8 _wire [3:0] count;0 {; v; q3 V3 ~! x9 C2 c; W

% Z4 _7 Z8 v3 {) uBCDcounter m1(clear,load,clk,N,count);
3 n3 b4 t# e. E3 {$ t& V
% @5 L. @& X6 [. Q. k" linitial" G# U# ]- t, K* A: t& L
clk=0;0 H! Y: x; r; E8 x/ A/ u

- ?; [: ]  N" Kalways #2 clk=~clk;! ?& }# |& C, o' ~
* a/ h) c4 P$ {# @- `' [# V3 c1 p
initial# B6 v3 J# q# G% T5 k
#160 $finish;
) p/ c! H3 }* h) ^) f5 L
# j& W5 N0 \# N6 ]" ^initial begin5 y% A; z1 ]8 x# }3 n
    clear=1;1 L, F3 ^* l, I, y3 U, d
#4  clear=0;
! L: {7 V; A- \; p4 V#90 clear=1;2 r) v. _5 `& m3 m, B
#3  clear=0;
3 V8 E; _: z; M; B+ }( c7 Rend
1 H9 c  o" v& f3 {' ^% @* f: v+ ^9 k* F* @
initial begin4 h- i. x) \; ~# a
     N=6;load=0;! M" p& I* J& B; D5 C$ d) B1 F( C
#58  load=1;
* B$ p$ \  f) [* Q#2   load=0;# w5 {/ t% H! c& n
#22  N=12;
$ t$ [  \+ X# A$ l0 ~#40  load=1;
$ q+ E  _9 O! S: |; \! R* r#2   load=0;
+ Z6 G5 r8 y: p3 q/ a& Xend$ a* n. P( Y! z  N; s
" |" h2 l2 Y( M+ r% O& y3 y
endmodule

評分

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

查看全部評分

發表於 2007-8-28 10:56:04 | 顯示全部樓層
還有一份講義可以參考看看
+ _4 g6 n8 E  }希望對大大有所幫助
: X: C$ |9 F" j7 n5 W9 E  h
! s0 a' j  b. X' k( i$ p: Y; K 3 N7 h" J% w7 r+ r  V- U4 a

& G7 P. s$ i: o7 v: V3 [. f+ w
遊客,如果您要查看本帖隱藏內容請回復

本帖子中包含更多資源

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

x

評分

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

查看全部評分

 樓主| 發表於 2007-8-28 11:18:33 | 顯示全部樓層
感謝小朱仔的熱心回覆
. s  C4 t/ q  V* o& K" n不過我電路要自己畫 還有我不會用Verilog耶: a2 ]4 ~1 [7 _- i4 J  ]
現在主要是要有電路圖 可以用Hspice模擬的那種
- U" K  H: a' X9 @另外希望inverter越少越好 因為要求要省電! 還有要自己layout!
) ^: h6 ?) S  U; e7 }2 g3 m/ u! H/ _" {6 e3 |
樓上那份文件好像裡面有寫到 趕快研究一下! 感謝分享!
! e, x3 _# r9 J. r  |6 k9 _* W) \- f6 P' o
[ 本帖最後由 monkeybad 於 2007-8-28 11:23 AM 編輯 ]
發表於 2007-8-28 16:05:34 | 顯示全部樓層
你那個要自己動手畫CMOS電路吧...
* {$ e5 K! r. O; b: c寫code習慣了, 真的很不想動手再做這樣的事, 不過推完booling equation後, 直接用Cmos畫出來不就好了???
# R& z* v- ?! K' r沒錯吧
 樓主| 發表於 2007-8-30 14:21:06 | 顯示全部樓層
恩恩 不過booling eq好像是在推導一些輸入輸出的條件
* y0 V5 @* U( R: }/ t( O. t+ |
2 D  a  k( x- Z# Z  b0 a3 e! Z4 h記數器參考一些資料後 找到一個用ripple counter下去修改的6 C9 l1 a; \6 P1 ]
ripple counter就是用負緣觸發的T型正反器串接在一起 / E' L. S0 l' ?* \
接著開始從0數到9 然後數到10的時候
# @) D% v$ Z, r& e8 Q% ~% G就reset重新從0在開始數
發表於 2007-9-3 15:08:06 | 顯示全部樓層
ripper counter真不是個好主意, 不過要看應用, 在有些地方用時倒是好東東...
發表於 2007-10-23 11:19:59 | 顯示全部樓層
我很好奇某大大說的講義
8 V1 D5 `) ~  K. M! ]/ B3 `給我看看寫什麼吧
發表於 2007-10-23 20:26:00 | 顯示全部樓層
我這裡有時鐘的電路圖..以送去CIC下線..可提供給大大參考看看!
發表於 2007-10-30 01:52:19 | 顯示全部樓層
我看一看那個問題,要我聯想到CODE,一時還想不起來,真是太久沒有寫程式哩!5 l+ R% a& @. `5 H$ y3 I
看到CODE,有一點恍然大悟的感覺,又接著看,害我也想看那份相關資料囉!!
發表於 2007-11-9 14:57:32 | 顯示全部樓層
BCD conuter 應該是對自己有所幫助
發表於 2007-11-14 23:29:59 | 顯示全部樓層
bcd counter對初學者的我而言真的好難
0 @* u) M7 |0 A5 ~( D& L謝謝小朱仔提供的code囉
發表於 2007-11-17 16:58:54 | 顯示全部樓層
大大別忘了給小朱仔 "感謝"0 j/ z3 p: e/ f0 V  U* e* W

( A7 D) l2 K: f; @按評分, 就可以給感謝了....
發表於 2008-2-22 17:34:54 | 顯示全部樓層
Let see the shared material. THX.
發表於 2008-4-24 07:28:10 | 顯示全部樓層
幕讲义之名而来,呵呵勿见怪啦.                                             
& \$ O, S& `8 g7 d8 A! C1 `感谢
發表於 2008-5-21 10:42:39 | 顯示全部樓層

回復 3# 的帖子

感謝各位大大的資料 對初學者 真是受益良多
發表於 2008-6-2 11:53:25 | 顯示全部樓層
感謝大大的分享∼∼∼∼. z; y/ m5 f6 |5 _/ L6 \
因為你的無私,讓大家能學到許多知識
發表於 2008-6-2 22:10:25 | 顯示全部樓層
我也想看看大大分享的講義~~
; p7 H# F" r: x回覆來看看囉!!感謝蛤!!* }. l, ^& [7 T* @* N8 u
因為我是初學而已!!
發表於 2008-6-8 20:55:26 | 顯示全部樓層
你是要畫電路圖的方式設計~; b; s+ ^8 [7 [% [3 A% J. x
那畫畫卡諾圖不就好了.... 只是比寫CODE還要麻煩....
6 w* _5 b' u; y+ }+ Q4 P因為要接邏輯閘!!
- g2 C: B2 z' Z# l+ a. ~用卡諾圖化簡!!
發表於 2008-7-25 14:41:52 | 顯示全部樓層
最近剛接觸這方面的東西- Q8 i, D0 s+ o7 n0 x* j7 G# l

' \( G4 A" G. d  \# V, s! e, r) [剛好需要這些資料  Z8 ^% a2 `" d0 j
! h9 T. }7 p* v4 u1 d
感謝分享!!!
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-4 07:41 AM , Processed in 0.131008 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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