Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2007-8-28 10:40:06 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
如題( X& m$ a5 d( \) H. i
小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區
$ F, ?) h7 ]( Q如果不是麻煩版主修改一下囉
; C( H4 |" I3 C" B
, o4 K2 u5 w2 g/ J  l& }2 L0 p目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一個0-5的記數器開始記數
  b8 O0 R- |; o* I6 E5 l總之就是能夠記數0-59, 個位數記數0-9, 十位數記數0-58 \  f% T: ^3 b, b+ l& W4 G0 A

- K7 E: p2 U- F2 ~請問各位有人有設計過這樣的電路嗎? 或是要去哪裡找相關的資料勒?4 B. T' V; C/ Q
謝謝!

評分

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

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂2 踩 分享分享
2#
發表於 2007-8-28 10:52:11 | 只看該作者
原帖由 monkeybad 於 2007-8-28 10:40 AM 發表
$ K' I& J' j, g# @* i2 [  e如題
# _9 D! ~6 E" a' Y1 R) e7 G; k: P2 J& d' `- ]小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區
" J2 n8 O( K8 y. t# u如果不是麻煩版主修改一下囉* R4 N) {( l  U* J# A2 C! }
" B2 S; k5 H& L+ A! K7 x* X5 T
目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一 ...
+ u& A, P+ f5 T9 s: B
; }2 J0 d( M  p
大大您是要寫Verilog還是電路
9 l0 `' D5 D  W7 V5 h% h! ^  p# y% [* C
先PO個RTL Code參考看看
; m, V) {: u2 C1 x6 y4 L, a' Y: j5 j
輸入:N clear load clk
" D4 |4 @4 s. l* Y% Q輸出:count; {) A& g6 n6 p

) P. S' E  F  r4 L行為描述(依照優先順序)
, c8 W2 F0 b. p' i/ r1.如果clear為1,則輸出設為為0
$ \) y9 X8 H) z  ]2.如果load為1,則輸出設為N
+ i, y# v% ], w  n: k3.每個時脈輸出遞增一次(BCD)2 R: V5 u2 E9 X1 `  C6 G

& w! U$ U  o2 d$ P7 n! v6 ~$ Q" t8 z& [9 a

% O8 w$ M$ q4 y0 x程式碼:# u( W$ y! T2 ]1 i/ J
BCDcounter.v0 p/ m  ^% c/ ~. @1 e5 d/ U

- x( {/ m5 Z- s% {# J. P  z! X( amodule BCDcounter(clear,load,clk,N,count);
5 ?7 D# w: I" t9 x; ninput  clear,load,clk;( D# v* e# x* i2 y0 @( W5 }
input  [3:0] N;) Z4 F+ n! M+ k  U2 U
output [3:0] count;% I/ r! U1 V+ A$ i5 C& g
reg    [3:0] count=0;
6 l$ ]2 F* _& X% J: O
& a- O  t0 V1 G6 s- P; Y5 N" Talways @ (posedge clk) begin8 e5 f2 }% Z" M; l) D& f' D/ Q
  if(clear)                 //clear=1% B5 _1 U; [4 x+ e0 y" c3 J( q) [4 W
    count=0;4 C/ y# q; b) U
  else if(!clear) begin     //clear=0(共有0 1 X Z四種狀態)* m6 q1 e' u5 ?) o5 e( _
    if(load) begin5 o: a" u6 N  c9 J, c$ u! ^
      if(N>9)2 X8 D+ Z$ d8 y
        count=0;% ^; M- W/ c2 }
      else; P8 o1 @9 A: p5 \
        count=N;
9 ^* I7 ~9 ~6 Q    end
/ I& T7 _$ X# K* ~" d% H    else if(!load) begin* B$ h8 R8 J9 h
      count = count+1;' }1 U# [& _2 @- }- |. l, ]9 M
      if(count>9)
* X, e# T3 J4 }: a      count=0;2 k7 L) ^4 k; O  a
    end" g4 |5 h2 B' a3 p& L8 K* M
  end
# Z" Z( I! ~7 V  W, U/ pend
7 \! l5 T) B: v4 D) q3 }( u1 g* |endmodule
0 u/ r. k: E7 {! y* ]$ [2 }% g- G/ m; r! ~" o7 `* }
bcdcounter_tb.v
$ |  }0 [' r+ P$ u; H
2 ?9 ^7 G3 O2 _! O" O& v/ f2 Imodule bcdcounter_tb;
# h6 Q  d, N# L/ T0 ]7 _1 oreg clear,load,clk;
/ ~, h7 X0 i# p4 kreg [3:0] N;: C# U0 x' B4 n  a- w
wire [3:0] count;
2 I7 X# x) U0 V& }0 b0 Y; o8 s/ G
BCDcounter m1(clear,load,clk,N,count);1 g/ ~: Y- X% {( W- y
. k$ Q  U9 P! @" R2 [  f; D
initial
) i- ]9 G5 }, z- A3 u/ Wclk=0;3 H5 }- n: Z5 M, x
# G9 P$ ~, f; e
always #2 clk=~clk;5 c/ Q4 \' l1 R: j5 m5 \8 l, ]

+ ?" u% @( S) winitial" r9 w0 B; W' r' ^
#160 $finish;
; R4 i6 ^5 ?& Q9 ~8 N8 D7 Q! B( T) c* r; L5 [% S; O/ V' K
initial begin; |; b, i# `( A& ^& I
    clear=1;, m& B3 s5 K4 B& f" i
#4  clear=0;
9 K; w/ E( J- k" g" q* |#90 clear=1;5 C0 m: p' E. |) Z. \3 m+ B
#3  clear=0;
7 k/ w$ |0 R& |  o( Y! wend
  O, }8 O* T6 V0 e: J6 ?; o- i% W: M. w: r7 Z1 H
initial begin
% l9 x: M+ ?# W     N=6;load=0;1 v$ |. z& x9 a% s9 a; Q8 |
#58  load=1;
* T4 X! Y' f  H7 G$ ?#2   load=0;
- f' A( r% t0 L1 A. b#22  N=12;3 u& q' K6 K, Y$ F6 T1 z' |. }) Y
#40  load=1;
5 H; L6 l2 E) a0 n" L" {& p5 V  Q! c; |#2   load=0;0 n, g) ]( R# [" G, o6 h( l
end
% S8 {  Q, W1 p- O
4 l0 Y5 L. @6 g6 E' |$ xendmodule

評分

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

查看全部評分

3#
發表於 2007-8-28 10:56:04 | 只看該作者
還有一份講義可以參考看看, K' J  q6 G: b1 f1 h8 w/ N
希望對大大有所幫助8 _5 w$ J* {: L+ l8 m5 W5 [( u/ R

9 r4 C+ C2 h" Z2 v9 N( O7 O. l! ?
2 |# I% ?( A2 O- O2 o) t" Z. i+ n7 |( O6 e& s
遊客,如果您要查看本帖隱藏內容請回復

本帖子中包含更多資源

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

x

評分

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

查看全部評分

4#
 樓主| 發表於 2007-8-28 11:18:33 | 只看該作者
感謝小朱仔的熱心回覆
  C* ~& Q, F  Y2 B" F0 f# P不過我電路要自己畫 還有我不會用Verilog耶0 \" U+ Q! R, U, g/ Q$ K. P
現在主要是要有電路圖 可以用Hspice模擬的那種: N! l( B2 J: s; H9 I
另外希望inverter越少越好 因為要求要省電! 還有要自己layout!) a# V2 q* P( l# U* f
4 g) [# R# b" H/ U" j; s
樓上那份文件好像裡面有寫到 趕快研究一下! 感謝分享!4 M( E5 u. u8 q. [( A
+ X8 h6 Q* r' ~" ^- ?- H
[ 本帖最後由 monkeybad 於 2007-8-28 11:23 AM 編輯 ]
5#
發表於 2007-8-28 16:05:34 | 只看該作者
你那個要自己動手畫CMOS電路吧...   p/ m4 ^: U( o" Z+ ?1 h- z) @
寫code習慣了, 真的很不想動手再做這樣的事, 不過推完booling equation後, 直接用Cmos畫出來不就好了???: ~8 S# J3 K2 l8 z9 B. I, U
沒錯吧
6#
 樓主| 發表於 2007-8-30 14:21:06 | 只看該作者
恩恩 不過booling eq好像是在推導一些輸入輸出的條件2 c3 V% _# r; F; ?

1 d9 a3 g  Y% k' o記數器參考一些資料後 找到一個用ripple counter下去修改的7 F' R. m! G' z- [) I$ t( F' O
ripple counter就是用負緣觸發的T型正反器串接在一起 - m7 ?* L( s! J
接著開始從0數到9 然後數到10的時候  @8 d6 I2 B& H+ W
就reset重新從0在開始數
7#
發表於 2007-9-3 15:08:06 | 只看該作者
ripper counter真不是個好主意, 不過要看應用, 在有些地方用時倒是好東東...
8#
發表於 2007-10-23 11:19:59 | 只看該作者
我很好奇某大大說的講義
  y* K- o: S$ f3 c給我看看寫什麼吧
9#
發表於 2007-10-23 20:26:00 | 只看該作者
我這裡有時鐘的電路圖..以送去CIC下線..可提供給大大參考看看!
10#
發表於 2007-10-30 01:52:19 | 只看該作者
我看一看那個問題,要我聯想到CODE,一時還想不起來,真是太久沒有寫程式哩!
, G0 p* c; B8 _! c& s/ T( `" ?看到CODE,有一點恍然大悟的感覺,又接著看,害我也想看那份相關資料囉!!
11#
發表於 2007-11-9 14:57:32 | 只看該作者
BCD conuter 應該是對自己有所幫助
12#
發表於 2007-11-14 23:29:59 | 只看該作者
bcd counter對初學者的我而言真的好難
' g1 o( Y& X- t9 m& |- c謝謝小朱仔提供的code囉
13#
發表於 2007-11-17 16:58:54 | 只看該作者
大大別忘了給小朱仔 "感謝"  G0 c% m' m9 @. [1 W) K
; Z$ t, B2 s* O& y: g
按評分, 就可以給感謝了....
14#
發表於 2008-2-22 17:34:54 | 只看該作者
Let see the shared material. THX.
15#
發表於 2008-4-24 07:28:10 | 只看該作者
幕讲义之名而来,呵呵勿见怪啦.                                             
$ a/ E0 V0 }5 j# t0 M; s, D感谢
16#
發表於 2008-5-21 10:42:39 | 只看該作者

回復 3# 的帖子

感謝各位大大的資料 對初學者 真是受益良多
17#
發表於 2008-6-2 11:53:25 | 只看該作者
感謝大大的分享∼∼∼∼) S. g& h" ?  W( i3 V  H4 |
因為你的無私,讓大家能學到許多知識
18#
發表於 2008-6-2 22:10:25 | 只看該作者
我也想看看大大分享的講義~~
) d/ u, f9 r6 [% W; v回覆來看看囉!!感謝蛤!!
9 J3 s: ?/ d& |1 I( r  e因為我是初學而已!!
19#
發表於 2008-6-8 20:55:26 | 只看該作者
你是要畫電路圖的方式設計~) c5 b: M3 C  n9 N# }
那畫畫卡諾圖不就好了.... 只是比寫CODE還要麻煩....
; u+ v2 t) ^( X/ M因為要接邏輯閘!!
# W; {+ W/ m  x7 L用卡諾圖化簡!!
20#
發表於 2008-7-25 14:41:52 | 只看該作者
最近剛接觸這方面的東西
+ X2 u( P* k$ v( R& K
, C9 Y8 G+ o3 \+ s8 @剛好需要這些資料
" P0 D" ]( T( F7 x, e6 q# D% e# q/ J! ?8 s+ ?
感謝分享!!!
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-23 09:20 AM , Processed in 0.137017 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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