Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2007-8-28 10:40:06 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
如題1 L' \8 Y! y+ a. E
小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區% e& o6 W6 g' |; b+ F
如果不是麻煩版主修改一下囉
* `" O) ]: i3 \: u: C
$ R  t4 M9 a% q$ _, N' b目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一個0-5的記數器開始記數4 q) G0 A6 g% \% k' v3 Y
總之就是能夠記數0-59, 個位數記數0-9, 十位數記數0-57 ]( h& U: b- L" c: q2 w; o/ ]4 y: o

; _: B% p( D6 [3 f* k0 ]請問各位有人有設計過這樣的電路嗎? 或是要去哪裡找相關的資料勒?
# d1 T) ?0 C1 w- U0 h/ n謝謝!

評分

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

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂2 踩 分享分享
2#
發表於 2007-8-28 10:52:11 | 只看該作者
原帖由 monkeybad 於 2007-8-28 10:40 AM 發表 * \( I* H' x7 q* ~! V
如題
) _6 r! r+ d& @$ n+ f2 q: ]小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區
" e! L4 ~3 f6 d5 t+ B$ t# G4 N# Q1 ?如果不是麻煩版主修改一下囉( n" y" G, B( Y) V: u
# G$ b9 u# I8 a5 i
目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一 ...
) v2 v0 ^( m. a$ `0 L: s+ p- I4 `+ m2 M

- U; e0 K8 H  J( z大大您是要寫Verilog還是電路
0 G: B" y' Q6 z' t) l% t4 n. Y. V9 \! P; O
先PO個RTL Code參考看看8 g/ W9 n" P6 Z
: P& U* d, y9 ~: z5 \) y$ r
輸入:N clear load clk) @: T. Q  N/ y2 J" g- [5 Y
輸出:count& Y; s, _; d: O6 H% s9 `: R$ S7 |( |
4 `6 f/ l6 d& d; L
行為描述(依照優先順序)
- b! f/ i5 ]1 O0 `& c6 a1.如果clear為1,則輸出設為為0
% g* ]. N: K1 a5 k& b2.如果load為1,則輸出設為N- b0 W8 b( s; C; `* o3 \+ b
3.每個時脈輸出遞增一次(BCD)
" J5 N6 n6 u* Y/ s6 Z
0 i8 @; ?1 g3 O* D  A$ c7 I" ]

7 G" ?  m  B% }8 l2 I/ _程式碼:' l* u3 K# _' v4 [* T, ~
BCDcounter.v
3 r: ^/ c3 O4 w2 i
8 L( Z8 I2 s; w0 V) g2 v- Amodule BCDcounter(clear,load,clk,N,count);, |4 ?8 O! \7 G" {) K
input  clear,load,clk;% T; Y8 U1 C  N* U6 k4 g. }5 B* M
input  [3:0] N;* y. F' g4 f/ K5 {. B' ^+ g
output [3:0] count;  X# v: f" |$ \+ J4 `5 h( _3 S
reg    [3:0] count=0;
+ _$ F+ S& s# ?
6 x; h$ r9 d: o3 T* n0 {, Falways @ (posedge clk) begin
2 ]) Y7 I: m, d* K/ `2 b+ S( ]. Q: c  if(clear)                 //clear=1
" w7 @' P2 |; V0 v- R6 g9 m) ~1 }    count=0;
# H9 e7 `4 @) G' L+ f  else if(!clear) begin     //clear=0(共有0 1 X Z四種狀態)
9 j& X  A( O0 M' x    if(load) begin+ I% r2 b$ _' G# |* d3 Q" U
      if(N>9); l( U* j  Y. |$ \& d5 B5 z9 g( A2 y
        count=0;( |$ \, h1 ?" e, y
      else
1 m. J, P4 `) a; S$ Z8 b' {% E+ l        count=N;
4 x0 _% y8 @* r2 `  i    end4 D$ _* p* k( |. P: [* ?
    else if(!load) begin
6 t6 W1 p. w: k2 C: x1 m      count = count+1;5 [7 T8 }4 c. I$ v
      if(count>9): a( h$ A' e  ^4 D
      count=0;9 J: X7 y& b8 N1 t" i( B2 E$ D/ [
    end0 A7 K7 d1 }# o/ m# a
  end
4 T& g6 T- I, Qend
- H; I! L' d  p* D/ s, fendmodule
# p3 R8 G0 y+ k% p% ^0 B4 z  L/ k4 K1 U- d
bcdcounter_tb.v3 U* ?$ m( V) `, p; m
* N% k6 w  x$ Q: q0 j6 f5 f
module bcdcounter_tb;) K- h$ y4 _3 `  J  l! Q% G/ j
reg clear,load,clk;
' h3 E+ l0 t1 Yreg [3:0] N;$ r" d( k; x5 G
wire [3:0] count;
! `4 j% G. n* j. {7 u' V, b" i+ u3 ?6 s/ ]& x, W: Z
BCDcounter m1(clear,load,clk,N,count);& R3 c- q1 g3 P
; {5 m5 E1 l0 S" _% T  v
initial4 S# `  \, J1 J/ g. n6 z
clk=0;9 y7 o3 ?  e: i! S2 T
5 |$ \8 [" ^& y! }6 Z
always #2 clk=~clk;  u5 ]$ m& g$ X* n- t: o% C: x
0 ^2 I( H1 J. L! F" J* ^2 x
initial" `1 H; S  J, A  k9 D1 Y; A
#160 $finish;
, q; b1 j7 g: S6 ]: f' }
% k# g) B( g0 \( Q2 }* |1 X  z5 [initial begin
+ d8 a: e: b) T, U    clear=1;& c7 b4 c$ V  B3 u& V7 Q' r% L
#4  clear=0;* W, _" Q( R( D+ r! S8 |8 i
#90 clear=1;  _$ p( w$ l) k
#3  clear=0;5 V; ?& e7 T, g' @# t
end
8 |- m8 k/ C0 m0 X; B# z
& s+ M: R* u( a- y0 {/ W/ ainitial begin
. ~" A* X6 ]% g0 I7 s     N=6;load=0;% f! u  Y8 @* [/ v' K) m
#58  load=1;
" k' p8 ~; a# r9 t, b. k# l#2   load=0;! a3 J% A, V# R5 ?9 V4 V
#22  N=12;2 f  ^' a& `+ X* F
#40  load=1;$ z) F  Z8 [& o: w5 Y' i* X
#2   load=0;
! A. {& D6 O" T2 j7 kend
1 i6 I5 ~/ `  R& K1 |( L
% O9 Y; B0 Y" @3 }: u9 }endmodule

評分

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

查看全部評分

3#
發表於 2007-8-28 10:56:04 | 只看該作者
還有一份講義可以參考看看5 }) l% \3 O2 c& J6 \/ k: P
希望對大大有所幫助4 P" g6 Y  p. N5 u
. b0 A! X0 a7 O2 d3 N9 Z. x
, x: v1 C( O3 L* k) T5 H3 Q
4 I$ h) G+ _7 y: g5 D0 z' q, P
遊客,如果您要查看本帖隱藏內容請回復

本帖子中包含更多資源

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

x

評分

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

查看全部評分

4#
 樓主| 發表於 2007-8-28 11:18:33 | 只看該作者
感謝小朱仔的熱心回覆
6 y7 M7 E8 f( s+ z6 E* `) u不過我電路要自己畫 還有我不會用Verilog耶
9 T2 i7 E  t1 E) B1 V1 M! h現在主要是要有電路圖 可以用Hspice模擬的那種
2 F4 Y0 F! {$ w/ `1 H& ]另外希望inverter越少越好 因為要求要省電! 還有要自己layout!8 a( l1 G" P, n' @
! G5 G1 m% S) `1 A+ D
樓上那份文件好像裡面有寫到 趕快研究一下! 感謝分享!
. ^' @+ A2 b) h: X3 F
, {6 I; i2 x4 f1 L[ 本帖最後由 monkeybad 於 2007-8-28 11:23 AM 編輯 ]
5#
發表於 2007-8-28 16:05:34 | 只看該作者
你那個要自己動手畫CMOS電路吧... , v; ]4 Z2 e* q9 l- V; Y6 S, m
寫code習慣了, 真的很不想動手再做這樣的事, 不過推完booling equation後, 直接用Cmos畫出來不就好了???
* i1 v, z  D# ?( @沒錯吧
6#
 樓主| 發表於 2007-8-30 14:21:06 | 只看該作者
恩恩 不過booling eq好像是在推導一些輸入輸出的條件& G( J! w% S4 V  q2 \' r

0 G3 s. d* D3 r2 w記數器參考一些資料後 找到一個用ripple counter下去修改的
9 D( ?- r' b3 n! E1 }ripple counter就是用負緣觸發的T型正反器串接在一起
. u8 h/ `- d$ X9 l* P接著開始從0數到9 然後數到10的時候
; H4 U  m8 }' r4 k' d* s# k" n( F就reset重新從0在開始數
7#
發表於 2007-9-3 15:08:06 | 只看該作者
ripper counter真不是個好主意, 不過要看應用, 在有些地方用時倒是好東東...
8#
發表於 2007-10-23 11:19:59 | 只看該作者
我很好奇某大大說的講義) A' ]: a+ d# o/ U. f/ M6 i
給我看看寫什麼吧
9#
發表於 2007-10-23 20:26:00 | 只看該作者
我這裡有時鐘的電路圖..以送去CIC下線..可提供給大大參考看看!
10#
發表於 2007-10-30 01:52:19 | 只看該作者
我看一看那個問題,要我聯想到CODE,一時還想不起來,真是太久沒有寫程式哩!
' j* g1 b8 z& D7 X3 m看到CODE,有一點恍然大悟的感覺,又接著看,害我也想看那份相關資料囉!!
11#
發表於 2007-11-9 14:57:32 | 只看該作者
BCD conuter 應該是對自己有所幫助
12#
發表於 2007-11-14 23:29:59 | 只看該作者
bcd counter對初學者的我而言真的好難5 Q4 S# ~9 t) a- c# \
謝謝小朱仔提供的code囉
13#
發表於 2007-11-17 16:58:54 | 只看該作者
大大別忘了給小朱仔 "感謝"
: E) C: U- B- K* W" `9 K0 [$ Y5 w, p  @9 {$ H6 T: I
按評分, 就可以給感謝了....
14#
發表於 2008-2-22 17:34:54 | 只看該作者
Let see the shared material. THX.
15#
發表於 2008-4-24 07:28:10 | 只看該作者
幕讲义之名而来,呵呵勿见怪啦.                                             
( N7 e. }5 _, o6 z8 z) c感谢
16#
發表於 2008-5-21 10:42:39 | 只看該作者

回復 3# 的帖子

感謝各位大大的資料 對初學者 真是受益良多
17#
發表於 2008-6-2 11:53:25 | 只看該作者
感謝大大的分享∼∼∼∼
+ C4 s/ X/ F7 [" c1 g' _: s4 E因為你的無私,讓大家能學到許多知識
18#
發表於 2008-6-2 22:10:25 | 只看該作者
我也想看看大大分享的講義~~
: p4 y7 r. f& g' _9 m回覆來看看囉!!感謝蛤!!: q- g; T! A' M0 v& _
因為我是初學而已!!
19#
發表於 2008-6-8 20:55:26 | 只看該作者
你是要畫電路圖的方式設計~
0 V" R: T  Z" g! Y$ @, A- B那畫畫卡諾圖不就好了.... 只是比寫CODE還要麻煩....
" M8 E5 F" O( S% I3 o( `4 a- L因為要接邏輯閘!! / d1 F6 z# n# y4 x5 l
用卡諾圖化簡!!
20#
發表於 2008-7-25 14:41:52 | 只看該作者
最近剛接觸這方面的東西
, N7 Y, K* b( J. S+ I8 b: `) d
8 U# J% ~* q$ d9 K, e$ l剛好需要這些資料! @/ F$ T% S% w8 O' ~
2 J' V9 l# y( }5 x( ?
感謝分享!!!
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-6 05:54 PM , Processed in 0.129007 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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