Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2007-8-28 10:40:06 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
如題
, R  F* D/ B3 F9 o" {4 G* W. L小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區+ n1 z2 Y( n, n# _/ m" Y5 J
如果不是麻煩版主修改一下囉# K0 ~  F1 S2 X0 s

2 g9 p, l( V8 ?# _目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一個0-5的記數器開始記數
  Z4 ]8 R( q0 `. p- e* Y. @* n總之就是能夠記數0-59, 個位數記數0-9, 十位數記數0-5/ N- `3 p) F' z- e5 s1 H" R% R
5 [: T, n  X  q8 ]
請問各位有人有設計過這樣的電路嗎? 或是要去哪裡找相關的資料勒?
# o' ~( d/ h$ L2 H7 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 發表
! U3 ?3 I' X' v- V如題- v0 K; R1 ]: D( W0 d
小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區
4 @9 G9 [6 D5 P* e4 m) w7 O如果不是麻煩版主修改一下囉
/ J2 i; R: Y1 v. ?. D. h
. ~; E; r0 e/ `3 v目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一 ...

) |+ l3 H3 U8 j7 Q. w! W
& o/ b: f3 {. c$ t" H: {" W大大您是要寫Verilog還是電路& V3 p. V) v" G' u' {0 N

. V% P* r1 k: b5 @, x先PO個RTL Code參考看看; \' A1 M  }* F& U9 {) P
0 H7 Z# ^* I% a. [- [* @
輸入:N clear load clk
* j6 m: p, G- D9 `( a1 Z$ }輸出:count& N& Q% x& m* b; v2 O0 @4 O! |
! `& v$ K% ?3 @6 f' _! B
行為描述(依照優先順序)
6 g/ u2 v0 }2 Z5 \! p' a1.如果clear為1,則輸出設為為0
$ J3 Z' s) C/ y1 Y/ {2.如果load為1,則輸出設為N
1 q% D( Y. J5 j, f1 p8 J/ L3.每個時脈輸出遞增一次(BCD)( H9 K/ s2 R) U% V

/ A3 F: H3 g. |1 A! z+ O0 `, k0 h: a' B! M1 V) W
* D6 z0 @5 N. \) C- B7 b. W* |/ i
程式碼:
) g2 e/ j% h3 c3 j: I1 aBCDcounter.v
7 {" u0 K$ j  q& o$ t/ I6 N
2 w, `% y# c0 W3 E; f! y4 hmodule BCDcounter(clear,load,clk,N,count);
6 `8 F' b% `, n4 W0 I' minput  clear,load,clk;
- U- ^! H# [, v( Minput  [3:0] N;. n- n; W* x& S  b2 r
output [3:0] count;. l; Y+ @; `5 e# b% ^. A
reg    [3:0] count=0;+ G) {9 ^2 e; f" `/ q3 E# ?: R

) L) J9 M& n3 Q" [) L5 Malways @ (posedge clk) begin
- K& `. K4 ?" `& _; {# y  if(clear)                 //clear=1
1 K& N4 W0 C) L7 F& A8 T    count=0;
! H, T" U( U! A+ p! S# p" f( K  else if(!clear) begin     //clear=0(共有0 1 X Z四種狀態)# j" z9 M/ ~- x* g5 Q7 x) c
    if(load) begin
! h' j, |# E; k) B) }, _      if(N>9); p# g  U9 o0 d- T. A9 O7 Z' a# b! G
        count=0;
6 S5 q- ]1 H& s) _) Z      else# ~7 F$ P2 T4 y3 H
        count=N;) g% u; Z* J% \4 L
    end! Z) e2 A, ?: M, I! E- O1 P- S) @' t
    else if(!load) begin
  ]0 T" `. y1 J6 l. _      count = count+1;6 z6 a% ^) y  u% ^
      if(count>9): o: }0 I# Z4 }" ], ]8 v
      count=0;: P# ^4 Y: ?3 k2 |- c" K& U* [8 V
    end
& H  Q" d+ P( r* N  end9 _2 N( o( y* u! @4 z9 b4 S
end
3 u3 W) s5 a1 O0 h/ T: mendmodule0 t% M* z  ~1 \

$ s0 i8 s3 k8 W1 S9 ybcdcounter_tb.v9 g8 ~0 ^3 L4 ^6 Z2 L, M3 s

! m+ F* Z' B9 D$ Imodule bcdcounter_tb;
1 t" d! g; ?% \( mreg clear,load,clk;/ l1 w# t# @2 A% t8 S. C, B) [
reg [3:0] N;
0 R0 C8 e7 L+ J5 d, [wire [3:0] count;
! \8 ]# V$ H1 m' m" L( x5 }' ~" {& P. Q$ P
BCDcounter m1(clear,load,clk,N,count);: w4 ]/ V5 Z- Z2 b. _0 r

; k3 b' L& @! Dinitial, S3 v( K1 B# f; S, Y7 @
clk=0;$ \' s4 w1 _* X% C% i1 ~
- K+ s2 B: Y5 G. ~' Y/ N- e/ R) C
always #2 clk=~clk;
1 ?1 H9 g* \% L
6 x$ {8 A- u6 h5 I, Zinitial8 F+ O3 Q# ?7 C3 ~$ o
#160 $finish;' y$ q3 k, a( k; I

- F0 p( o* D& v' B/ Binitial begin
2 H, l2 Z  e3 r# E4 L    clear=1;* ]! K; j8 o3 r& ^5 I. O' J# }
#4  clear=0;
. F5 I+ S& f  f, h#90 clear=1;
3 _7 I/ r( ^6 g; I' z#3  clear=0;; K6 ?( m: D3 P! R. m( \/ o
end& Y# `6 y* q+ n
$ t4 R% T; o3 @- v& A' s8 \# T8 b
initial begin! }9 u. c1 r0 L% Z( s
     N=6;load=0;
7 a$ {- v, |5 M5 @8 O& ^# }& n* v#58  load=1;/ X5 d; B6 T# r( H: ?8 C
#2   load=0;" G9 R. I- u6 R
#22  N=12;
. y6 h7 w" M/ ?#40  load=1;
4 ?- ?: g+ S  w( ^! ~7 R#2   load=0;9 T. K3 Z8 B! h
end: _. ?# K0 l, X) T7 u/ F( H; v

( J7 g9 g, {) N$ g) zendmodule

評分

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

查看全部評分

3#
發表於 2007-8-28 10:56:04 | 只看該作者
還有一份講義可以參考看看: ^4 H. @' z! v" Y! I/ ~
希望對大大有所幫助  a  f! P, ~+ X) z5 v$ ?0 z

/ |7 [0 x' q4 d, F5 H 0 U/ A) V( ?4 M0 U2 O5 z
* U* d" v- j$ i% r  g4 c3 x
遊客,如果您要查看本帖隱藏內容請回復

本帖子中包含更多資源

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

x

評分

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

查看全部評分

4#
 樓主| 發表於 2007-8-28 11:18:33 | 只看該作者
感謝小朱仔的熱心回覆
9 ^: N. }9 @2 N1 O2 A不過我電路要自己畫 還有我不會用Verilog耶5 Q0 e. w* o. ~% J) |, Z5 e
現在主要是要有電路圖 可以用Hspice模擬的那種$ M: q8 G6 r$ }' t0 V: I: p5 h' k% k
另外希望inverter越少越好 因為要求要省電! 還有要自己layout!4 F- |& M, }& f/ U7 A6 L

  C% v1 X# N  s5 R樓上那份文件好像裡面有寫到 趕快研究一下! 感謝分享!
: v  o' I& a6 `& m7 R' f% \( v, I  {( Q
[ 本帖最後由 monkeybad 於 2007-8-28 11:23 AM 編輯 ]
5#
發表於 2007-8-28 16:05:34 | 只看該作者
你那個要自己動手畫CMOS電路吧... ) G0 c. I0 n% m
寫code習慣了, 真的很不想動手再做這樣的事, 不過推完booling equation後, 直接用Cmos畫出來不就好了???+ N3 v" \/ @% e
沒錯吧
6#
 樓主| 發表於 2007-8-30 14:21:06 | 只看該作者
恩恩 不過booling eq好像是在推導一些輸入輸出的條件+ V1 e6 v) K' K7 y) C

: [* O1 Q$ T; S% s% p6 I1 E記數器參考一些資料後 找到一個用ripple counter下去修改的* S: c7 X7 `$ t! `. |& {& p9 L- O. W0 [
ripple counter就是用負緣觸發的T型正反器串接在一起 & I5 V  Z, f8 |$ G
接著開始從0數到9 然後數到10的時候
2 k6 o8 T" F3 a( Q0 z; W& n, I就reset重新從0在開始數
7#
發表於 2007-9-3 15:08:06 | 只看該作者
ripper counter真不是個好主意, 不過要看應用, 在有些地方用時倒是好東東...
8#
發表於 2007-10-23 11:19:59 | 只看該作者
我很好奇某大大說的講義; u% Z' M+ {' i( w1 [" @
給我看看寫什麼吧
9#
發表於 2007-10-23 20:26:00 | 只看該作者
我這裡有時鐘的電路圖..以送去CIC下線..可提供給大大參考看看!
10#
發表於 2007-10-30 01:52:19 | 只看該作者
我看一看那個問題,要我聯想到CODE,一時還想不起來,真是太久沒有寫程式哩!2 V) M$ c" M5 C/ H5 B9 i7 ~
看到CODE,有一點恍然大悟的感覺,又接著看,害我也想看那份相關資料囉!!
11#
發表於 2007-11-9 14:57:32 | 只看該作者
BCD conuter 應該是對自己有所幫助
12#
發表於 2007-11-14 23:29:59 | 只看該作者
bcd counter對初學者的我而言真的好難/ h0 d. `2 C! J. }: ^
謝謝小朱仔提供的code囉
13#
發表於 2007-11-17 16:58:54 | 只看該作者
大大別忘了給小朱仔 "感謝"; \* e" y- A$ Z7 U! k* j( Q
: Z# e) @- k0 z
按評分, 就可以給感謝了....
14#
發表於 2008-2-22 17:34:54 | 只看該作者
Let see the shared material. THX.
15#
發表於 2008-4-24 07:28:10 | 只看該作者
幕讲义之名而来,呵呵勿见怪啦.                                             
# O6 u4 ]) e+ n" N# C3 Q1 y感谢
16#
發表於 2008-5-21 10:42:39 | 只看該作者

回復 3# 的帖子

感謝各位大大的資料 對初學者 真是受益良多
17#
發表於 2008-6-2 11:53:25 | 只看該作者
感謝大大的分享∼∼∼∼
4 ^6 K' `0 C3 w, @1 O; z: D& E因為你的無私,讓大家能學到許多知識
18#
發表於 2008-6-2 22:10:25 | 只看該作者
我也想看看大大分享的講義~~
) N2 b5 t; D( l回覆來看看囉!!感謝蛤!!8 z4 @: ^# ^  R
因為我是初學而已!!
19#
發表於 2008-6-8 20:55:26 | 只看該作者
你是要畫電路圖的方式設計~3 [% n: `  G) X3 S+ p4 Z  |8 i% i+ M5 A
那畫畫卡諾圖不就好了.... 只是比寫CODE還要麻煩.... 9 o' V. R$ P$ x3 t
因為要接邏輯閘!! 2 @6 ]8 h5 u, ?1 j6 v* m5 k
用卡諾圖化簡!!
20#
發表於 2008-7-25 14:41:52 | 只看該作者
最近剛接觸這方面的東西" M. z5 T4 L6 Y  @5 `9 N0 c0 J) f

) O; K7 \5 A% R剛好需要這些資料* T+ p4 g7 E' x# n8 j  A" N
5 P, n* M3 g6 r: n
感謝分享!!!
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

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

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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