Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2007-8-28 10:40:06 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
如題
6 K2 j. R+ Z4 Z  c小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區
! n! `5 j( {# c- y1 u* y如果不是麻煩版主修改一下囉
- E+ w- o- k! Y" W
" T- G6 t$ P& l5 y目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一個0-5的記數器開始記數  W8 I/ [! L+ Z) H, p% l/ u2 v1 }
總之就是能夠記數0-59, 個位數記數0-9, 十位數記數0-56 J) X, v' e+ |: U) Y
# I6 d2 c) @2 D$ t8 h7 B5 K3 q
請問各位有人有設計過這樣的電路嗎? 或是要去哪裡找相關的資料勒?' p9 q, }& l& ]2 E. C+ V* k
謝謝!

評分

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

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂2 踩 分享分享
2#
發表於 2007-8-28 10:52:11 | 只看該作者
原帖由 monkeybad 於 2007-8-28 10:40 AM 發表
1 H: P  D# v/ u+ p, n8 J1 Q如題6 _5 f7 f, \" z6 n% d
小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區
; g( O! f6 S% k如果不是麻煩版主修改一下囉
8 P3 f: x8 q% j2 E' A9 {% ]
8 G; E2 {  v9 C. U目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一 ...
# n+ t  v; U) e0 g$ @/ ~; I6 L& X8 z; t

: S  B1 b$ d( P/ I大大您是要寫Verilog還是電路# ?; H' F3 k& Z- ~  e
7 G3 Z1 \8 B: b3 d( ?' ]
先PO個RTL Code參考看看
$ u: x, m/ f# q5 B. w4 o# E1 u4 r3 X6 `+ M0 r4 P, {" A+ J0 [; q7 n2 W
輸入:N clear load clk
/ s( M. u/ b6 f: |- E% [# P9 Y輸出:count
" L8 p6 J" V; _* k3 u7 V; o( q
- v9 X; S9 O: k) h. `行為描述(依照優先順序)& y+ @' s; T& V2 {% x' C
1.如果clear為1,則輸出設為為0
# Y1 l6 u' G/ _2 U- \1 w2.如果load為1,則輸出設為N9 G# K  V/ \) ]( K8 w. ~$ Z
3.每個時脈輸出遞增一次(BCD)3 d* e6 n: ?( M% t& n
: W- a$ p# e$ m, A6 j# n

* C. _2 a. Q1 a% v$ m! t& h
% a$ g9 v2 H% d程式碼:) c0 p: U1 v' C4 J- t" J, ~0 E
BCDcounter.v: }/ |) ~7 O3 M

& H/ a5 f* K; Z1 fmodule BCDcounter(clear,load,clk,N,count);# |$ y3 k/ P6 o5 b7 B; R" \
input  clear,load,clk;
1 ?' ~# I/ F" pinput  [3:0] N;
$ ?. U% S: O* a8 o1 ~( ?output [3:0] count;
* t4 v6 d& Z$ m0 Q: r$ treg    [3:0] count=0;
" z6 n( O* {8 S4 a! L- ?0 x, @6 C
* R3 C+ \+ ?4 w) x3 a: ~( Ualways @ (posedge clk) begin- f% N4 n8 R- a& D) `# u
  if(clear)                 //clear=1- p3 P  f7 W( r+ X
    count=0;9 S' X2 k% M# I; v; f
  else if(!clear) begin     //clear=0(共有0 1 X Z四種狀態)
5 d, R$ N! X1 V2 I  B; V& W    if(load) begin0 y  L' A) w8 p8 l
      if(N>9)
: ]& @; q: r1 k/ I( j5 ]        count=0;
$ R( j1 u) y% m7 k! C/ o* u      else
1 q1 M; r: Y* m& o7 ]$ \        count=N;. O  c+ [: C7 E) L
    end8 m7 P+ {3 o! M4 M1 L
    else if(!load) begin7 c( G) ?; }$ X9 H$ @9 U9 S
      count = count+1;4 J$ U  p# `/ g8 w* a" |/ ]8 |
      if(count>9)8 Q& y' R" g3 r8 {0 J' D$ g; \
      count=0;  C3 _0 W6 ~& a1 O
    end0 F" ?9 U- r# ?- ]: O
  end' v7 b7 K4 W6 O$ {4 \8 [' M0 n- D
end
" g; s7 j  n& O2 {endmodule
# t# ~' w9 j) S3 P
1 I* h9 n/ h% y6 tbcdcounter_tb.v( X* `! U; v  i4 P& h
+ W" Z+ v( }" p* l4 i. s8 z) l
module bcdcounter_tb;
/ ]3 Q7 F* J; v& ]reg clear,load,clk;: u, {5 g0 O1 ~9 j; z8 [
reg [3:0] N;
  W. F5 F8 x  L( x7 S; C  }" {wire [3:0] count;
  X+ K$ ^1 a" l) ]" P; ?$ g+ _/ M" @9 _
BCDcounter m1(clear,load,clk,N,count);
; z) F) |) L7 w4 t2 r$ x
+ d# x- E  r0 ?3 @initial9 G# H# b4 K0 @% q& |9 h* Y
clk=0;
) @5 _1 W. R* P5 W+ g  W
( k% Z0 E$ G* y0 xalways #2 clk=~clk;, d' p/ i7 q" a* K: ?
& `; Q: g  `/ v/ |) v
initial
$ W: D$ n0 }; r- _! _: a, V#160 $finish;
0 s/ p6 h4 t* k* _- ~$ Z
1 u& F7 g4 U5 E* Dinitial begin" ]1 m( _7 Y5 j4 T: C+ p! ]
    clear=1;. A' u( }1 U4 q% E+ o
#4  clear=0;
: V* H5 W/ u* F#90 clear=1;
9 P# q5 G& Y. T. q9 [6 Y#3  clear=0;
+ B6 q3 q$ {+ _end
% Z5 X( ]: G9 j+ v5 Z" j' a8 a' e8 r# r5 g' x
initial begin
% y4 h6 R0 t4 I3 b/ N& _9 x( z, L     N=6;load=0;. K& G& R7 x  t& N0 i' A3 `; R  s" h
#58  load=1;) R( g9 e1 S* R' ~- l) L
#2   load=0;4 {+ v* I- }; }$ c3 n3 R
#22  N=12;  q' o, {3 E8 C
#40  load=1;) O; z% R4 n" C1 y9 E# b, I% e
#2   load=0;8 T5 c$ q# [' ?/ ~
end
7 s* l2 D! k9 O! x
" r9 [4 |& f" I- p" \5 g3 t9 Pendmodule

評分

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

查看全部評分

3#
發表於 2007-8-28 10:56:04 | 只看該作者
還有一份講義可以參考看看# T1 ?$ C7 L2 l  u( r6 [8 h
希望對大大有所幫助
0 j5 W) O; B! `3 @4 `4 i; o* j0 d/ Z& V0 I- F( [0 m! K

% E, F% n2 q" [- Q- _
- ~3 P$ b1 J$ D' }' T% A/ k9 J8 o
遊客,如果您要查看本帖隱藏內容請回復

本帖子中包含更多資源

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

x

評分

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

查看全部評分

4#
 樓主| 發表於 2007-8-28 11:18:33 | 只看該作者
感謝小朱仔的熱心回覆
" S+ x$ h# V- j. h不過我電路要自己畫 還有我不會用Verilog耶4 ?: [0 H; D; \2 Y, W1 g
現在主要是要有電路圖 可以用Hspice模擬的那種
+ k6 K* I: C% P% Z0 F9 l0 Q1 B另外希望inverter越少越好 因為要求要省電! 還有要自己layout!/ K  p! Z' f& L

6 u# q& f5 l7 o2 H. @! I. S- S) H樓上那份文件好像裡面有寫到 趕快研究一下! 感謝分享!
* }6 e3 O6 i+ S0 C' ~+ x
# y* t* y5 H# j7 A. s5 x[ 本帖最後由 monkeybad 於 2007-8-28 11:23 AM 編輯 ]
5#
發表於 2007-8-28 16:05:34 | 只看該作者
你那個要自己動手畫CMOS電路吧...
+ O9 \5 s# j5 n4 ?寫code習慣了, 真的很不想動手再做這樣的事, 不過推完booling equation後, 直接用Cmos畫出來不就好了???3 @+ Z; D6 S3 W' Z; M) L1 `
沒錯吧
6#
 樓主| 發表於 2007-8-30 14:21:06 | 只看該作者
恩恩 不過booling eq好像是在推導一些輸入輸出的條件
4 H' J+ w4 x! }" h3 [1 r& d% u7 E& a2 z; R" X) P' B' C  B
記數器參考一些資料後 找到一個用ripple counter下去修改的
" p0 k2 K; [5 J$ k# a, gripple counter就是用負緣觸發的T型正反器串接在一起
3 n% Z# Q" [8 G+ [7 H接著開始從0數到9 然後數到10的時候
5 U; y2 j5 ?  y  A- ^) S. P5 _* j就reset重新從0在開始數
7#
發表於 2007-9-3 15:08:06 | 只看該作者
ripper counter真不是個好主意, 不過要看應用, 在有些地方用時倒是好東東...
8#
發表於 2007-10-23 11:19:59 | 只看該作者
我很好奇某大大說的講義
0 m  {% Q+ x7 l. o( N給我看看寫什麼吧
9#
發表於 2007-10-23 20:26:00 | 只看該作者
我這裡有時鐘的電路圖..以送去CIC下線..可提供給大大參考看看!
10#
發表於 2007-10-30 01:52:19 | 只看該作者
我看一看那個問題,要我聯想到CODE,一時還想不起來,真是太久沒有寫程式哩!  a* _; j2 u9 Y0 d
看到CODE,有一點恍然大悟的感覺,又接著看,害我也想看那份相關資料囉!!
11#
發表於 2007-11-9 14:57:32 | 只看該作者
BCD conuter 應該是對自己有所幫助
12#
發表於 2007-11-14 23:29:59 | 只看該作者
bcd counter對初學者的我而言真的好難
1 T6 S- f; Q1 V7 V/ a) B& r謝謝小朱仔提供的code囉
13#
發表於 2007-11-17 16:58:54 | 只看該作者
大大別忘了給小朱仔 "感謝"
: J. ?& F. C/ }- H8 @) e# g; s5 F1 V" L+ |  ]
按評分, 就可以給感謝了....
14#
發表於 2008-2-22 17:34:54 | 只看該作者
Let see the shared material. THX.
15#
發表於 2008-4-24 07:28:10 | 只看該作者
幕讲义之名而来,呵呵勿见怪啦.                                              7 q3 _9 Y! S/ g8 Z. r1 K+ p0 U
感谢
16#
發表於 2008-5-21 10:42:39 | 只看該作者

回復 3# 的帖子

感謝各位大大的資料 對初學者 真是受益良多
17#
發表於 2008-6-2 11:53:25 | 只看該作者
感謝大大的分享∼∼∼∼
1 j8 Z! j; w: I  u+ I- V6 E因為你的無私,讓大家能學到許多知識
18#
發表於 2008-6-2 22:10:25 | 只看該作者
我也想看看大大分享的講義~~
7 Z# ~! ]* p! A+ U; X( s  @, z回覆來看看囉!!感謝蛤!!
2 k( s& g1 h7 v5 v' a  r5 U因為我是初學而已!!
19#
發表於 2008-6-8 20:55:26 | 只看該作者
你是要畫電路圖的方式設計~
8 }8 X& r+ g* p% P那畫畫卡諾圖不就好了.... 只是比寫CODE還要麻煩....
: E% d) s4 V6 T2 y- V7 o; w/ `因為要接邏輯閘!! ! c; T2 i3 k! [/ r* S
用卡諾圖化簡!!
20#
發表於 2008-7-25 14:41:52 | 只看該作者
最近剛接觸這方面的東西$ V4 W2 {: e& I* n, e" L6 j
" e) \/ ?- M6 A- Q
剛好需要這些資料8 `' H% }1 Y$ q$ \) T+ W
- ^# K. Z, q2 p! p/ D, W
感謝分享!!!
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-15 09:14 PM , Processed in 0.127016 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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