Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2007-8-28 10:40:06 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
如題
: I' a( [! Q  D5 O( A% e1 t小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區
$ K. I9 z# Y9 p$ V如果不是麻煩版主修改一下囉
8 a- k; y. L* g( D; L- V
+ N8 ~- m' j! \% D! X# t0 p目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一個0-5的記數器開始記數2 d! ?$ `/ F. v5 T& J7 G+ d7 M
總之就是能夠記數0-59, 個位數記數0-9, 十位數記數0-5
2 _( H% p: N" I5 a6 e1 N. H& q* w, J. _2 ]5 d3 Y
請問各位有人有設計過這樣的電路嗎? 或是要去哪裡找相關的資料勒?* E- n4 S1 f  }! F. ~6 a" B" c
謝謝!

評分

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

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂2 踩 分享分享
2#
發表於 2007-8-28 10:52:11 | 只看該作者
原帖由 monkeybad 於 2007-8-28 10:40 AM 發表
/ L. t! k( p" m4 _- `% F7 s+ }如題: L3 A7 ]- G& v* T4 w7 W9 g8 i9 x7 X$ }
小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區& a5 E# Q+ y. ^0 `1 w# a  T$ |
如果不是麻煩版主修改一下囉
* \# s" l. D! d3 i+ k
/ S9 \+ g7 c% I4 K0 j8 k; ^目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一 ...

" w5 a  Y* T0 S2 D' R2 U; Q
" Y1 ~8 F, o7 L; Z! E: E: \1 @/ x  _6 f大大您是要寫Verilog還是電路
5 L0 p. D; v6 ^1 M9 ~  `, j) n" Z: R
先PO個RTL Code參考看看
) ~2 ^- R0 p7 L' f( E
9 l" M, j( r. |, c輸入:N clear load clk
  y  ^- \! L# ]- ]. _; Z# |輸出:count5 n% o) z: j& l4 t; w- e

7 {/ V+ `1 w% ^0 R* o1 E2 o行為描述(依照優先順序)
; m3 Q, @8 L$ T: Z6 V% R. u; s7 Y1.如果clear為1,則輸出設為為0
$ o5 [8 u/ L7 |6 f' X- _2.如果load為1,則輸出設為N
7 K0 L$ s; i% ?2 `3 H8 ~3.每個時脈輸出遞增一次(BCD)0 o! L, K6 ]! V- H
8 O' Z0 f* ?) v$ d6 S; f5 R
3 H$ I  P+ S$ S4 K% ^

3 D8 G- f, b3 U$ _) Z6 P& S程式碼:) ~7 J- [  J+ T; w& M( ]
BCDcounter.v
/ b7 k/ i% w+ Y; K0 {0 \5 n
2 U. G/ Y/ D* X4 ^3 z7 E1 wmodule BCDcounter(clear,load,clk,N,count);$ R4 D; k4 e7 I3 b0 d  p7 V! w& W
input  clear,load,clk;7 j& J: S, {% W, E3 q
input  [3:0] N;
" U. }- ~( G! Doutput [3:0] count;, k- @" Q( R8 x* }
reg    [3:0] count=0;
. a9 S& x3 T$ p9 \  w- O2 Q) P' T4 m( _1 U: Z/ q
always @ (posedge clk) begin6 R8 p" L8 R8 i  r5 ^$ n: A
  if(clear)                 //clear=1
" O  B  f3 I+ r4 l! y9 T% ?+ Z    count=0;4 G; Y9 d( D' o' Z( }
  else if(!clear) begin     //clear=0(共有0 1 X Z四種狀態)3 o) w* |$ e; k7 s* ^: L1 o
    if(load) begin) k" o: h$ [' v/ _! W5 O2 J" h, u
      if(N>9)
1 C7 E+ x3 {3 ~# Y        count=0;( V! X" v7 t' d0 u( X) r
      else% p/ `" M  ?7 u: ^5 o+ {2 f) O
        count=N;
5 Z# a  f4 R2 X! {8 o" {# [6 e* _    end
! }: N! i1 k0 @7 r# Z    else if(!load) begin
% U+ J  Y$ `4 E: e; I5 k3 W- x      count = count+1;
, o  h  h& ^* n# h      if(count>9)) C$ U6 K) L4 g4 M$ {5 e
      count=0;
( z9 A1 `( h4 I2 Z, O9 ?    end
* `2 ?' ~3 H* B7 q  end
. {# ^8 l1 ^7 y+ a" M/ R* r" f! O7 @/ vend) R2 f$ a3 j; L1 h& J" o
endmodule
7 a4 O6 P6 X, b; _% z7 C4 \& i' Q# X8 i  z* @0 D* K, N0 _/ C
bcdcounter_tb.v
/ b* A% |9 t* T$ F2 b' @# _
0 |" K% l) y! S3 }0 x7 L- Gmodule bcdcounter_tb;  Y; Q$ b# n6 {" w$ h; y2 e
reg clear,load,clk;1 c- O! V3 V/ N. S8 T! Z
reg [3:0] N;
0 K) }' @& ~+ i5 c# a. gwire [3:0] count;- U; q% U' X$ P9 [
, N6 N6 r4 s( x
BCDcounter m1(clear,load,clk,N,count);
" h* F' e! f! O6 @& u# l9 {) r  u+ B7 }
initial8 {! D/ K, ~% a
clk=0;
0 M  H. ~% I" i! v' c
2 E) G' Q7 q8 G3 y& Qalways #2 clk=~clk;5 S' q  U$ f9 N, _; D

1 j# B, B2 k6 Z% E7 P0 Sinitial6 d2 m5 D" b! u3 J/ `! P% U/ Y3 t
#160 $finish;; J7 H& s) |# {% h9 l; ~
  @. e- p$ A5 S0 ^
initial begin' O+ G1 l1 `0 q
    clear=1;
# Y/ p+ `4 o' w9 ?% u! f#4  clear=0;
9 l$ Q! G* E$ O$ \4 J5 d3 ^9 i#90 clear=1;
; c$ T  v3 }' C. [% j#3  clear=0;
$ Z$ w3 ]7 `- q5 f- ?+ Nend
* c4 S4 S/ |3 i* e  m
1 j/ z6 P% V, w% G' o: Xinitial begin
1 y4 E; P+ t) y. S6 U. @( u8 C" X     N=6;load=0;
- {! {0 `  L% d& v#58  load=1;& x/ d3 F& q% {" U
#2   load=0;& T; G' w) x; P9 J
#22  N=12;
9 d  f- ^% a5 y#40  load=1;, i" j; n6 w% X  p
#2   load=0;
# D  B6 d7 d6 D$ i5 H! t; _( Vend3 X9 m$ j4 `- D% _' M$ c  Z, g

( o/ f- \, K# F( O1 aendmodule

評分

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

查看全部評分

3#
發表於 2007-8-28 10:56:04 | 只看該作者
還有一份講義可以參考看看
3 g/ A9 K( [" b* A! z( [1 G3 S/ z希望對大大有所幫助
7 b0 e: l1 N0 X/ _/ z6 N
8 \. E' O- Z" Q( e4 a5 m
0 N) H% @# T. u# B" E7 }" [- Z2 g% @; M) I, u+ \  |( B* M$ J$ H/ W
遊客,如果您要查看本帖隱藏內容請回復

本帖子中包含更多資源

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

x

評分

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

查看全部評分

4#
 樓主| 發表於 2007-8-28 11:18:33 | 只看該作者
感謝小朱仔的熱心回覆
# x$ D0 a8 f$ h5 b( o不過我電路要自己畫 還有我不會用Verilog耶" T2 V, W; `0 R" |) f
現在主要是要有電路圖 可以用Hspice模擬的那種1 T+ l9 W6 g/ L1 e
另外希望inverter越少越好 因為要求要省電! 還有要自己layout!$ O  m3 ]. F8 Y: v0 ~5 Q* s$ p
" `/ j* w* w2 X: P  f
樓上那份文件好像裡面有寫到 趕快研究一下! 感謝分享!
6 Z7 E* S2 R, H! `% i* N9 w5 i
5 m8 Z' ]3 O" e1 Y; o; K[ 本帖最後由 monkeybad 於 2007-8-28 11:23 AM 編輯 ]
5#
發表於 2007-8-28 16:05:34 | 只看該作者
你那個要自己動手畫CMOS電路吧...
5 R0 d9 b1 Q! C- ^) h% _4 V1 `寫code習慣了, 真的很不想動手再做這樣的事, 不過推完booling equation後, 直接用Cmos畫出來不就好了???/ x6 U& Q% S6 _& |. W
沒錯吧
6#
 樓主| 發表於 2007-8-30 14:21:06 | 只看該作者
恩恩 不過booling eq好像是在推導一些輸入輸出的條件
3 }7 O$ w/ s( o* k+ N$ q5 t6 V* w: F! V; `: W- W
記數器參考一些資料後 找到一個用ripple counter下去修改的3 p! F: }. l! }" q9 q" G5 m! @
ripple counter就是用負緣觸發的T型正反器串接在一起
# Q$ R- C) [2 U/ R, u接著開始從0數到9 然後數到10的時候
0 T) {% b4 G  D! x2 }% [就reset重新從0在開始數
7#
發表於 2007-9-3 15:08:06 | 只看該作者
ripper counter真不是個好主意, 不過要看應用, 在有些地方用時倒是好東東...
8#
發表於 2007-10-23 11:19:59 | 只看該作者
我很好奇某大大說的講義* Q' Z  b( m9 a7 d
給我看看寫什麼吧
9#
發表於 2007-10-23 20:26:00 | 只看該作者
我這裡有時鐘的電路圖..以送去CIC下線..可提供給大大參考看看!
10#
發表於 2007-10-30 01:52:19 | 只看該作者
我看一看那個問題,要我聯想到CODE,一時還想不起來,真是太久沒有寫程式哩!
- W- N% c, \' i" D/ s% U5 c: Q, l看到CODE,有一點恍然大悟的感覺,又接著看,害我也想看那份相關資料囉!!
11#
發表於 2007-11-9 14:57:32 | 只看該作者
BCD conuter 應該是對自己有所幫助
12#
發表於 2007-11-14 23:29:59 | 只看該作者
bcd counter對初學者的我而言真的好難
1 \& ?5 R/ D* p( i" z6 ]+ ?謝謝小朱仔提供的code囉
13#
發表於 2007-11-17 16:58:54 | 只看該作者
大大別忘了給小朱仔 "感謝"
/ X7 t7 B) A9 P, u6 C7 `" u6 ^! p7 S
0 y2 U: [" k: U按評分, 就可以給感謝了....
14#
發表於 2008-2-22 17:34:54 | 只看該作者
Let see the shared material. THX.
15#
發表於 2008-4-24 07:28:10 | 只看該作者
幕讲义之名而来,呵呵勿见怪啦.                                             
& e- B. T% C0 n( a. W; @感谢
16#
發表於 2008-5-21 10:42:39 | 只看該作者

回復 3# 的帖子

感謝各位大大的資料 對初學者 真是受益良多
17#
發表於 2008-6-2 11:53:25 | 只看該作者
感謝大大的分享∼∼∼∼
# ^* d" }: o' j; ^% R因為你的無私,讓大家能學到許多知識
18#
發表於 2008-6-2 22:10:25 | 只看該作者
我也想看看大大分享的講義~~
! |6 q! U5 A/ `% g& K) z回覆來看看囉!!感謝蛤!!" {5 S. z" D6 d" s* i( R7 f& S3 |
因為我是初學而已!!
19#
發表於 2008-6-8 20:55:26 | 只看該作者
你是要畫電路圖的方式設計~
  b4 V' l- }% \3 P; k5 ^8 S4 J那畫畫卡諾圖不就好了.... 只是比寫CODE還要麻煩.... 5 n/ ?& e+ T! }' X
因為要接邏輯閘!! " q+ w; @$ T" U& I
用卡諾圖化簡!!
20#
發表於 2008-7-25 14:41:52 | 只看該作者
最近剛接觸這方面的東西
* v0 }2 \  b* ?  O9 ?" a
2 y3 k- q) K+ _7 a! j0 F" F剛好需要這些資料
* w- ?& J' l6 [; R2 j( b+ w
4 M7 w# T8 f7 d- K. o$ Y感謝分享!!!
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-4 04:07 AM , Processed in 0.129007 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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