Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2007-8-28 10:40:06 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
如題, F; E! Q# b: ]9 {5 Z7 k6 \
小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區
; f4 P! U% z/ t  B如果不是麻煩版主修改一下囉' p9 {. P9 f3 X: |

% ^1 p0 x( g3 B目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一個0-5的記數器開始記數
7 s/ R. D0 {# p" C總之就是能夠記數0-59, 個位數記數0-9, 十位數記數0-5
2 X, N; K2 b& `: f9 C0 B! q1 p# K1 T1 _2 u  g( b
請問各位有人有設計過這樣的電路嗎? 或是要去哪裡找相關的資料勒?: y" F& Q$ Y: F2 k* T
謝謝!

評分

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

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂2 踩 分享分享
2#
發表於 2007-8-28 10:52:11 | 只看該作者
原帖由 monkeybad 於 2007-8-28 10:40 AM 發表
# ^6 d( P+ w. u& @; R如題
- U: w9 i' [, L* Q$ y小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區
7 D5 {) r4 }/ _9 Z! X如果不是麻煩版主修改一下囉+ s9 N6 q& v0 z2 H/ ]
0 b5 ]( p; Z- |  d
目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一 ...
. J& d1 L) ]: n8 a0 v1 v
' ]' }9 v' v3 y) P1 K
大大您是要寫Verilog還是電路5 v, t2 M4 b2 d! ?$ s

, L5 `# v& g* J5 U; {先PO個RTL Code參考看看" e$ v' j  t/ R

- a* ~2 K* g$ R4 M: _# g2 t輸入:N clear load clk! s  U7 o% |% k6 X/ J- C9 {
輸出:count  O, ^$ g5 B; g2 b" {+ z
% q- C+ s8 e( q) n- c: R
行為描述(依照優先順序)9 m! U( g' I) C# T0 U# h
1.如果clear為1,則輸出設為為0
1 V, z1 Y) }1 c8 A: C2.如果load為1,則輸出設為N
/ j) u1 |6 b2 m7 L7 P" N3.每個時脈輸出遞增一次(BCD)9 p4 l5 G) Z$ \7 \
1 @6 h) U7 n4 q$ X% {3 H
, B! j+ w* R1 e. J5 l6 Y3 q

! h: Z7 Y- O6 \6 E% N4 [% I程式碼:8 i; Z, m  u2 R
BCDcounter.v( v4 B- S8 J) K$ d
2 _" l+ s+ d( k2 u
module BCDcounter(clear,load,clk,N,count);. M9 ^' b/ {! g2 j+ _+ h
input  clear,load,clk;  M% d: p' v. M- k' S8 `
input  [3:0] N;
- u1 N# r1 z. M; N" g; qoutput [3:0] count;- j/ d$ k% y( l
reg    [3:0] count=0;
- O8 A& a- W1 W" Y
7 {5 L, \  T+ ?, Z: J: a* @9 M$ xalways @ (posedge clk) begin4 l/ ~& L- E3 c+ G4 I# {4 l
  if(clear)                 //clear=1
+ p9 ?  S& f! @; ?, q* Y+ l1 v    count=0;  d% D1 ~+ x8 l3 ?, p: W2 Q) U6 Q
  else if(!clear) begin     //clear=0(共有0 1 X Z四種狀態)
0 ~0 U. c: }, n! ]+ x6 ]6 ^    if(load) begin/ y6 k7 s( k0 T  M% N. V
      if(N>9)
. V, S: N& O% w) J( _        count=0;
9 v  j. x; V5 v& }1 M* J" _      else4 S5 F# z8 Q& v; t) y
        count=N;
6 e3 W9 D4 e$ _) \    end
+ ^& ~( \5 ]: w# M% Z    else if(!load) begin
4 Y4 ~, r( }, E3 Y7 q      count = count+1;
, N6 ~; ^4 x3 j" R, j      if(count>9)
( u. j  w8 d" l      count=0;" \$ Q3 W' w; T; }( ?4 m
    end
3 X" c4 ^+ p/ c6 v9 h" y  end
7 n1 }( L' ]! m6 Y4 X6 h( K' eend6 _) k6 ~- _+ W& ]! Q' E! x3 p
endmodule- f: }' L' ~8 f8 v& E
* v1 p9 S2 T" A. |& g; M, W
bcdcounter_tb.v8 `0 f" f4 D; L( J, w7 w* i

' [! z- y) S& z, V5 J1 Imodule bcdcounter_tb;
, E- l% ?0 G, t' g6 [; D" n+ dreg clear,load,clk;
8 N) T1 I! [8 }  m, n  `. ^reg [3:0] N;
4 S1 ?1 D! n3 A; K( H: C" X9 }7 zwire [3:0] count;9 E5 E9 p( e4 a5 s& M7 y/ d/ S+ V
, u7 {1 Y! B9 G. Q3 @( \$ H
BCDcounter m1(clear,load,clk,N,count);
4 S% q$ i6 @. [% d, ]
' a9 K, L- p/ H6 ~# m% _/ t3 Ginitial
* s; L% V1 q3 m3 kclk=0;
& A/ {8 d3 N8 K" W! I+ B
  s! _$ K' f. |9 D1 palways #2 clk=~clk;
2 U7 Z$ b! Q- _5 i% K" S: }3 f# q$ x' t2 p
initial# Q7 g! X$ z7 T5 u1 f# {( M) j: V
#160 $finish;
* x5 B4 i2 t' I- ?6 {
+ {% q" U5 p3 I# }3 b8 Qinitial begin
+ V; n; e0 [3 P9 k3 q  A$ R    clear=1;
% Y6 I% Q/ B0 x  W3 q#4  clear=0;
4 _& j5 k# j# g, ?; G- d" d  R#90 clear=1;
. R  j/ O" {! |8 F" P#3  clear=0;
/ [  p- B3 W( f; @9 vend
; m* b; D) V1 H% C
9 \2 g, Y/ P" m. p, ^* M& Vinitial begin7 @0 t) k' A- x: c( u
     N=6;load=0;
, |3 I9 q+ _: y% E2 s6 P( Z#58  load=1;
% n0 H( Z6 u0 G#2   load=0;
8 E# V+ Z: }; R( u# N# X#22  N=12;
* d  V/ Z5 v+ c# R#40  load=1;" g. r7 [- S9 a0 h( s  M+ O
#2   load=0;
( w0 |. a: S' C; q7 l  Hend7 a' d: o( W& g! Q" X: A! D
- H) s% ], \) S2 j
endmodule

評分

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

查看全部評分

3#
發表於 2007-8-28 10:56:04 | 只看該作者
還有一份講義可以參考看看1 F/ _# [; l# R1 p) a
希望對大大有所幫助8 x1 ?1 ^+ i! X- @' c' s9 M% x4 A
" I5 P7 n. a8 q
3 ~( D. {4 _1 D& d' x

2 h  D! p/ l6 u9 U1 I; `
遊客,如果您要查看本帖隱藏內容請回復

本帖子中包含更多資源

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

x

評分

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

查看全部評分

4#
 樓主| 發表於 2007-8-28 11:18:33 | 只看該作者
感謝小朱仔的熱心回覆
  _9 ]8 T" X( p4 |+ _4 n不過我電路要自己畫 還有我不會用Verilog耶
6 ?9 Z4 I6 K/ o. V現在主要是要有電路圖 可以用Hspice模擬的那種
2 Q  \- a9 M  N, |6 b另外希望inverter越少越好 因為要求要省電! 還有要自己layout!+ I1 b! u& q3 {6 ^/ D1 y, `, O
  X( W( ~" J2 {  r2 ?
樓上那份文件好像裡面有寫到 趕快研究一下! 感謝分享!% L- Y# I. ?) D
- J6 O" N' h1 P- u0 B. j
[ 本帖最後由 monkeybad 於 2007-8-28 11:23 AM 編輯 ]
5#
發表於 2007-8-28 16:05:34 | 只看該作者
你那個要自己動手畫CMOS電路吧...
) u- x- n' C* L! U4 v$ r/ l寫code習慣了, 真的很不想動手再做這樣的事, 不過推完booling equation後, 直接用Cmos畫出來不就好了???3 [8 c. l) r& ?; c( I2 }
沒錯吧
6#
 樓主| 發表於 2007-8-30 14:21:06 | 只看該作者
恩恩 不過booling eq好像是在推導一些輸入輸出的條件3 e' c; w4 ?) P0 x8 G

7 T6 X3 |0 _$ v; G- ^* d+ Z# x記數器參考一些資料後 找到一個用ripple counter下去修改的
' F- K' u' Q; `( N8 X* d+ K# Uripple counter就是用負緣觸發的T型正反器串接在一起 $ N: x, f4 ~8 m0 X
接著開始從0數到9 然後數到10的時候* \1 c4 T2 p" S
就reset重新從0在開始數
7#
發表於 2007-9-3 15:08:06 | 只看該作者
ripper counter真不是個好主意, 不過要看應用, 在有些地方用時倒是好東東...
8#
發表於 2007-10-23 11:19:59 | 只看該作者
我很好奇某大大說的講義
  J! A5 N* M1 Q* ]  H給我看看寫什麼吧
9#
發表於 2007-10-23 20:26:00 | 只看該作者
我這裡有時鐘的電路圖..以送去CIC下線..可提供給大大參考看看!
10#
發表於 2007-10-30 01:52:19 | 只看該作者
我看一看那個問題,要我聯想到CODE,一時還想不起來,真是太久沒有寫程式哩!" e$ u6 W5 I3 G) c5 @7 {7 d, k
看到CODE,有一點恍然大悟的感覺,又接著看,害我也想看那份相關資料囉!!
11#
發表於 2007-11-9 14:57:32 | 只看該作者
BCD conuter 應該是對自己有所幫助
12#
發表於 2007-11-14 23:29:59 | 只看該作者
bcd counter對初學者的我而言真的好難# n8 ^& C& {+ U
謝謝小朱仔提供的code囉
13#
發表於 2007-11-17 16:58:54 | 只看該作者
大大別忘了給小朱仔 "感謝"
. l% M/ B- V: d, F, p4 |) I  H0 U: q8 J. y3 u! a3 }
按評分, 就可以給感謝了....
14#
發表於 2008-2-22 17:34:54 | 只看該作者
Let see the shared material. THX.
15#
發表於 2008-4-24 07:28:10 | 只看該作者
幕讲义之名而来,呵呵勿见怪啦.                                             
4 |7 _8 O  j7 M# Y9 {感谢
16#
發表於 2008-5-21 10:42:39 | 只看該作者

回復 3# 的帖子

感謝各位大大的資料 對初學者 真是受益良多
17#
發表於 2008-6-2 11:53:25 | 只看該作者
感謝大大的分享∼∼∼∼8 Y4 j2 W1 a/ D8 y5 n
因為你的無私,讓大家能學到許多知識
18#
發表於 2008-6-2 22:10:25 | 只看該作者
我也想看看大大分享的講義~~. g1 O, O3 {7 M
回覆來看看囉!!感謝蛤!!) k+ ^! k& a( ~: N$ Z1 x4 a' e
因為我是初學而已!!
19#
發表於 2008-6-8 20:55:26 | 只看該作者
你是要畫電路圖的方式設計~4 B' c' x, d2 z. F7 n5 t4 `  g
那畫畫卡諾圖不就好了.... 只是比寫CODE還要麻煩....
, Z2 r+ i3 i& X9 G6 |8 C" h因為要接邏輯閘!!
6 ]; r) ]* p' j  V: a用卡諾圖化簡!!
20#
發表於 2008-7-25 14:41:52 | 只看該作者
最近剛接觸這方面的東西& x, v: j& Y$ e2 v
7 ~9 s4 q) ^8 Z0 j
剛好需要這些資料8 f  e# r3 q' g! [. }

) o& ~( N" t8 t" z9 t# W感謝分享!!!
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-14 06:42 PM , Processed in 0.131517 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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