Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2007-8-28 10:40:06 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
如題! }6 K+ w* t9 }* [2 r8 k+ W
小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區8 V: b! f/ {+ [( g% E. C
如果不是麻煩版主修改一下囉
! C: e7 [& l; N' Q/ ]) K- j: H% b- p( _8 m) ^
目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一個0-5的記數器開始記數
7 p' K2 y4 _/ K' P) g總之就是能夠記數0-59, 個位數記數0-9, 十位數記數0-5
. y+ |, r4 {# b* u" G0 R+ [% E3 y2 j; c# v
2 S/ Z) m% @. a+ u% H  g請問各位有人有設計過這樣的電路嗎? 或是要去哪裡找相關的資料勒?" L) H0 V$ C- J/ B; O
謝謝!

評分

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

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂2 踩 分享分享
2#
發表於 2007-8-28 10:52:11 | 只看該作者
原帖由 monkeybad 於 2007-8-28 10:40 AM 發表
$ B) u2 j( M+ N5 W如題
: R- V8 W& [7 I7 Q3 ]小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區" m2 l1 Y4 _8 u! N  g* u  y9 G
如果不是麻煩版主修改一下囉
3 L( m# O( N5 t- ]* ]
% L9 r+ t/ E2 Z8 t. V* Z目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一 ...
% d8 ^, t4 K/ c6 x1 }

, y1 ^% w3 R+ i2 x) b! m6 h$ H9 X0 }( Z$ G大大您是要寫Verilog還是電路
0 {/ G) T, Y/ B6 M- C9 h3 i6 E5 I2 |# D+ [7 E2 x% z7 N. \/ d
先PO個RTL Code參考看看: O* R6 Y3 B% F/ E

2 q+ Z# Q. _# J/ [# w輸入:N clear load clk4 b7 w0 C8 w/ L6 W4 l  F
輸出:count
" Y) d3 d+ M' r( ?( I6 N' d  k
: h9 M: `6 H5 P9 u- ?行為描述(依照優先順序)
2 M- l* A& t7 l+ _; d1.如果clear為1,則輸出設為為0
: z6 ~) ?! v6 M% @7 M& O2.如果load為1,則輸出設為N
6 X! [/ n) C( F0 P3.每個時脈輸出遞增一次(BCD)% ^3 j" u' V/ X0 x

5 A& Q; e; x" i2 z8 ?' R. N( [
  H8 O. _# F7 O+ p! ^& T  g8 H# h7 U: A
* B% @* a: j% B6 x3 F/ y程式碼:
3 V) x8 f* W3 mBCDcounter.v
0 d* F4 {8 A" u/ I% J1 I4 M
- [0 d( }3 _+ V  ~+ ?, C8 k# xmodule BCDcounter(clear,load,clk,N,count);/ e9 O) m! `* ^0 y3 M' L, G
input  clear,load,clk;
9 w5 W" x3 R  ?" F& M6 yinput  [3:0] N;
$ n4 Z6 h7 V$ ~output [3:0] count;
: z4 P1 L' `' F5 Q1 @reg    [3:0] count=0;( A- w  ]8 D6 _
# C1 J0 U' F4 r% \& n
always @ (posedge clk) begin
0 F/ [: |% E) `. L  if(clear)                 //clear=1# N5 u4 o) Y. t" S
    count=0;% `  f( ?9 S/ }; D- W% ^* j
  else if(!clear) begin     //clear=0(共有0 1 X Z四種狀態)
) m/ y* V; ^" M    if(load) begin
% x& u+ u9 R' G4 C9 g7 m/ ^      if(N>9)0 P1 o) ]- }- c6 D3 Q( y
        count=0;
" m& I7 s& t1 P3 ?6 w      else
( c. c* L7 N. |# f        count=N;
; B" {1 c3 s- d. N( l, C    end
' c8 H5 n7 f. l8 g, P    else if(!load) begin
# u2 c, y# b( P( O4 h      count = count+1;8 q% D3 j: P/ W1 C, b; P- B$ L
      if(count>9)
. _% g2 s) b- h      count=0;
# b! H. u* X# W/ [    end* l0 d- i' A8 g2 m
  end
5 `$ f( v* n$ r) |4 T3 R' r4 eend  V: u! c3 N7 I; Y0 u1 B4 _
endmodule
& G3 U; y, p. X7 T' }2 y$ g( r$ q! M/ a4 G$ [' T1 y, r, A
bcdcounter_tb.v+ f5 r6 `# u3 i5 E3 Q( E
  f& e: k2 C. X  B$ q4 Y
module bcdcounter_tb;
) Q5 |% Z! B, d4 x0 P( L/ Ureg clear,load,clk;& U% X7 D) s4 A" d) ^$ [% x1 w; s
reg [3:0] N;% o2 a# [) _% _, `
wire [3:0] count;
$ d: O4 b5 E  h) E8 t8 X
$ S, c6 g1 c' VBCDcounter m1(clear,load,clk,N,count);
! B6 m* O& g3 r+ b0 H( {  B3 G) w- A3 ]+ ]6 ]8 y0 y- K
initial
4 Z# p; P. J0 q6 X6 Cclk=0;
0 R+ y+ Y$ k( r4 C+ r& m2 }: d% T6 M- \
always #2 clk=~clk;
$ M- Z, B# ~' c% a1 V3 ^6 W/ n& D9 n7 e: z* y$ X
initial( e. u6 c; X8 }* _: M4 B  l3 _6 X& ~
#160 $finish;& J# m0 Z- ]3 H! t& D& B  S
& u# f/ Y% e* E
initial begin+ l8 O' z, Q9 {. e; `$ P1 z
    clear=1;! Q3 C9 ^$ S2 I- a1 Z
#4  clear=0;6 c  l: r' \: }$ Z: T" m
#90 clear=1;
; k4 `5 c6 H, _# K: L#3  clear=0;
) r1 h+ t0 k; }9 s. b; xend: E! m* R2 u/ D) G1 ?6 Y) v( W

/ i  L+ A1 O: G% p0 E# minitial begin
6 a) h8 l9 T8 ]! w) F7 e     N=6;load=0;
4 i- w% {9 d9 m! [3 Z: X# x#58  load=1;* N9 \% m* x( r! X) r# X
#2   load=0;
( h9 [) {$ j9 ]6 @& l) ^& g#22  N=12;7 v& y# ?4 t/ z+ I+ r$ C: c
#40  load=1;
, ]' O4 `" \- z#2   load=0;5 V% ~1 \# W' k7 C3 [: x
end
1 R$ @% W0 {2 K: c8 q
( B6 G8 s$ V  Z: Y% V- cendmodule

評分

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

查看全部評分

3#
發表於 2007-8-28 10:56:04 | 只看該作者
還有一份講義可以參考看看
8 }" o4 r. X2 k4 h6 I. e希望對大大有所幫助0 \1 j0 [; S5 y- h' u
, `+ i6 B% V/ G
& N/ c0 k8 ?  R6 k, H1 O. r* i% p- D
5 ?& W5 b1 q+ `
遊客,如果您要查看本帖隱藏內容請回復

本帖子中包含更多資源

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

x

評分

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

查看全部評分

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

回復 3# 的帖子

感謝各位大大的資料 對初學者 真是受益良多
17#
發表於 2008-6-2 11:53:25 | 只看該作者
感謝大大的分享∼∼∼∼" v$ {* e9 K$ i
因為你的無私,讓大家能學到許多知識
18#
發表於 2008-6-2 22:10:25 | 只看該作者
我也想看看大大分享的講義~~% x& b5 }6 B$ [6 c8 B
回覆來看看囉!!感謝蛤!!$ Q' T$ \' h$ l0 }3 r, R' J  W
因為我是初學而已!!
19#
發表於 2008-6-8 20:55:26 | 只看該作者
你是要畫電路圖的方式設計~
) J& \* ^3 E  |! T9 }8 G那畫畫卡諾圖不就好了.... 只是比寫CODE還要麻煩.... : t; i$ E, P, z& h$ ~6 g: L0 P5 p
因為要接邏輯閘!!
4 U+ c; U. S9 L% ^3 N用卡諾圖化簡!!
20#
發表於 2008-7-25 14:41:52 | 只看該作者
最近剛接觸這方面的東西
6 A$ R6 U, j9 o$ Y4 U
: @, k& i4 C6 C剛好需要這些資料$ _  U' ~/ e; G9 j% q) P8 d; E

3 L$ l6 k7 p* {感謝分享!!!
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-6-16 12:30 PM , Processed in 0.147519 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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