Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2007-8-28 10:40:06 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
如題$ m1 b8 q4 y7 R
小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區
8 S7 e4 N. |" D如果不是麻煩版主修改一下囉
: g5 M- G9 U( W( v2 x  Y% c* h) r" J
" \2 B# V; T8 Z3 h4 p目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一個0-5的記數器開始記數* }3 I  S% E9 h
總之就是能夠記數0-59, 個位數記數0-9, 十位數記數0-59 q# S- L$ ]8 E1 J! k( s9 i2 i) Q
7 x8 R5 c1 [2 I7 K3 \: d
請問各位有人有設計過這樣的電路嗎? 或是要去哪裡找相關的資料勒?
3 {3 C/ B" }& i謝謝!

評分

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

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂2 踩 分享分享
2#
發表於 2007-8-28 10:52:11 | 只看該作者
原帖由 monkeybad 於 2007-8-28 10:40 AM 發表 ; m) ]. [" W, L, N" O, B: t
如題. Q4 E8 i  u+ A( x+ D
小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區
$ Z( r$ B4 _( M- F3 r  m5 h+ `+ [如果不是麻煩版主修改一下囉9 B! F2 R, v: z4 ~/ o7 [; j
! ^1 @$ u5 {% H# t9 |
目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一 ...
" T3 \- N! @! A, b1 Z4 ]1 k, G
9 h+ X8 t) n8 @( j3 I! F
大大您是要寫Verilog還是電路, I# _2 L9 r1 c* X5 X, C' T- C6 M7 L
+ {9 x- U4 X. X8 ~: N4 r! r' E2 O
先PO個RTL Code參考看看! ~4 N8 @/ P: h

7 O# P0 X3 t; \  I! A( h輸入:N clear load clk1 m; I" D- G' h1 t
輸出:count
  _. q% h; {  P5 ~2 n, W% ^0 ?- N
* t& H6 A; M1 c2 l行為描述(依照優先順序)5 h1 v# ]5 T5 f. X" F( |
1.如果clear為1,則輸出設為為0$ V' K+ e3 W: X& i2 n8 [# [
2.如果load為1,則輸出設為N
, M% r4 s$ `: w% J; q2 q3.每個時脈輸出遞增一次(BCD)
+ |+ c% c5 z% ]2 M! K' o. ?: G& H" Z* g' Y, n3 I- S7 Z% j

  Q% j8 A+ Y2 n: p/ r) J' O' t) X, ^- h
程式碼:
4 K% c4 s9 u8 T1 f' XBCDcounter.v5 B" M6 M0 m' y' k

6 x3 c0 b+ q9 }& G" t1 Z- i  N( fmodule BCDcounter(clear,load,clk,N,count);
1 m- K, t& L' G4 e2 I, g- Zinput  clear,load,clk;* ^, n# B7 F2 g0 T! N; R3 p5 y2 Q
input  [3:0] N;
; I  l0 f6 a% A# j# @output [3:0] count;
$ o( |# @" _7 b- treg    [3:0] count=0;
- c2 D/ X( @) V
& S$ f3 u: C: i5 |. a; Oalways @ (posedge clk) begin' H- B% W: S# M7 A2 q) W4 D
  if(clear)                 //clear=1- s6 \! p6 K& J5 f* J' P
    count=0;! J% S0 _+ D' B3 G; Q4 d; N* @
  else if(!clear) begin     //clear=0(共有0 1 X Z四種狀態)
$ `& k/ |$ Q8 J2 X3 g( s& o    if(load) begin
1 [  [9 t4 G& R$ N+ }3 [+ _' ]# R      if(N>9)
5 U" @' d/ B3 _7 i# Y        count=0;/ S/ @" y, U: q, |) u
      else
) J# P$ F$ ^" u! Z5 ?3 Q6 [9 C        count=N;
' L$ K0 K# Z, v' m    end
9 m& B5 N/ z. C( M( }/ V  I# k    else if(!load) begin
6 f" L$ S. n/ X2 j: ~. q      count = count+1;
; O  u( `# S; }1 d& r  V8 f+ a      if(count>9)
2 D/ |* d4 z; i! r2 C" a      count=0;: a5 d: w- [* S5 t0 W3 d2 V
    end
) b3 y/ l' s* y# R8 f4 i  end
% q5 V+ l0 q6 V0 s- Q5 Q5 k5 V  M- P: O' n: lend+ _: d& @$ J" A* r
endmodule
+ ?& r( y  f# K6 W% i& k  @; @0 M7 V% {
bcdcounter_tb.v
8 N. K) ~5 f+ f, ?* n. R6 N7 @' O# p+ h6 P" ^. E1 K- F
module bcdcounter_tb;
6 B7 U* N: {  F6 Ureg clear,load,clk;
; i) i! ~2 w; l3 r  preg [3:0] N;9 k  t8 I  w2 Y9 }% g8 v
wire [3:0] count;
6 {+ c  ^* b3 s9 b) P$ J* b
$ P6 R) @0 d( M% ZBCDcounter m1(clear,load,clk,N,count);
+ m9 h8 J2 b; j
1 [. Y6 {4 V+ T) E; pinitial) H8 {% O, ~2 s. E7 Z1 h/ s% `1 h
clk=0;
* n9 w) x2 d4 _$ \% ?8 }, T+ r4 P2 l
always #2 clk=~clk;/ u$ c; K. X. D1 U( V) h
9 ?0 d! P4 {: x8 o* t
initial
- A, H/ x* q, K#160 $finish;2 H( M- r6 F/ t; ?, f
! [+ u% G! S) i( z# \5 s# e
initial begin
/ l) K7 L" E! u8 h9 _5 _    clear=1;
7 Q4 Y$ `$ i: z/ C#4  clear=0;
" Y) v4 }- U' r( h" E: N#90 clear=1;
- g+ n! K* C0 R* X1 B7 ~3 w#3  clear=0;
8 R! t  A' w3 l- K1 v1 e- Xend
1 J. `$ V( S& @( H
6 q8 u9 o( j( _$ X& c* @initial begin
+ d& C) w: Z3 J9 `( K, \, g     N=6;load=0;
4 P9 T  m9 C8 {4 Z- c+ o  L! D& K! y#58  load=1;
: ~5 i- y/ p& ], }4 i% w#2   load=0;- `4 \& u( i" a7 o, O* K& p7 F# h5 x
#22  N=12;, y; x- n; d9 c' F1 n3 S! s3 x& R
#40  load=1;- R  k% D4 D* ~, N( l
#2   load=0;
) l0 f5 f1 n" R* m) C1 Eend* S  f' n( Z6 O' d8 |+ C) F0 l! F' j4 [

6 ^7 ?) h1 E- K' R; n7 c3 m8 V8 Aendmodule

評分

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

查看全部評分

3#
發表於 2007-8-28 10:56:04 | 只看該作者
還有一份講義可以參考看看
9 k6 C) l, G3 J* g* U希望對大大有所幫助
0 h. f8 c) c! g9 e' a+ b0 D
8 Q- n( I9 c5 k, T& ~7 q7 T 2 e" \& e4 ]& ^2 l8 H6 w
' M; T3 C0 p8 T9 v
遊客,如果您要查看本帖隱藏內容請回復

本帖子中包含更多資源

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

x

評分

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

查看全部評分

4#
 樓主| 發表於 2007-8-28 11:18:33 | 只看該作者
感謝小朱仔的熱心回覆
! d1 {) H8 y' b/ j5 w, ^不過我電路要自己畫 還有我不會用Verilog耶
) Y8 _! U1 }5 z6 B4 v現在主要是要有電路圖 可以用Hspice模擬的那種) G! b3 q3 k* _' N, j; f* V0 A
另外希望inverter越少越好 因為要求要省電! 還有要自己layout!: ^1 X( a5 r: E4 o( R, |
# G/ ]  r; x6 T, M
樓上那份文件好像裡面有寫到 趕快研究一下! 感謝分享!
* e( r/ R5 k' j! }. Y6 `8 |8 |; z, ~1 s) h3 O2 \: ^; b) B/ l
[ 本帖最後由 monkeybad 於 2007-8-28 11:23 AM 編輯 ]
5#
發表於 2007-8-28 16:05:34 | 只看該作者
你那個要自己動手畫CMOS電路吧... / w& L* @1 ~( h' c$ H
寫code習慣了, 真的很不想動手再做這樣的事, 不過推完booling equation後, 直接用Cmos畫出來不就好了???, T/ t+ j* p( x. {2 b
沒錯吧
6#
 樓主| 發表於 2007-8-30 14:21:06 | 只看該作者
恩恩 不過booling eq好像是在推導一些輸入輸出的條件& o2 R) a3 {+ W9 h* I) h
! u& {- e1 d5 a2 i
記數器參考一些資料後 找到一個用ripple counter下去修改的5 U$ D0 X6 I9 z2 u& `' Y
ripple counter就是用負緣觸發的T型正反器串接在一起
" P. X( _6 h- M$ O, A2 k接著開始從0數到9 然後數到10的時候
& @3 s0 u4 r9 [就reset重新從0在開始數
7#
發表於 2007-9-3 15:08:06 | 只看該作者
ripper counter真不是個好主意, 不過要看應用, 在有些地方用時倒是好東東...
8#
發表於 2007-10-23 11:19:59 | 只看該作者
我很好奇某大大說的講義; L+ w+ M2 [2 j. v0 Z! _
給我看看寫什麼吧
9#
發表於 2007-10-23 20:26:00 | 只看該作者
我這裡有時鐘的電路圖..以送去CIC下線..可提供給大大參考看看!
10#
發表於 2007-10-30 01:52:19 | 只看該作者
我看一看那個問題,要我聯想到CODE,一時還想不起來,真是太久沒有寫程式哩!" r' f5 _( D9 }) P* A& f
看到CODE,有一點恍然大悟的感覺,又接著看,害我也想看那份相關資料囉!!
11#
發表於 2007-11-9 14:57:32 | 只看該作者
BCD conuter 應該是對自己有所幫助
12#
發表於 2007-11-14 23:29:59 | 只看該作者
bcd counter對初學者的我而言真的好難
* B: x2 A7 w/ [6 N- r謝謝小朱仔提供的code囉
13#
發表於 2007-11-17 16:58:54 | 只看該作者
大大別忘了給小朱仔 "感謝". P  H) W: L* X1 m6 O2 G
5 W' O/ l# E8 v" p' _$ \+ X4 G
按評分, 就可以給感謝了....
14#
發表於 2008-2-22 17:34:54 | 只看該作者
Let see the shared material. THX.
15#
發表於 2008-4-24 07:28:10 | 只看該作者
幕讲义之名而来,呵呵勿见怪啦.                                              . w7 V0 v# e4 s" Z- J
感谢
16#
發表於 2008-5-21 10:42:39 | 只看該作者

回復 3# 的帖子

感謝各位大大的資料 對初學者 真是受益良多
17#
發表於 2008-6-2 11:53:25 | 只看該作者
感謝大大的分享∼∼∼∼' z2 Y1 Y  P/ n( T
因為你的無私,讓大家能學到許多知識
18#
發表於 2008-6-2 22:10:25 | 只看該作者
我也想看看大大分享的講義~~* j# d0 p$ G0 }- M4 p7 j
回覆來看看囉!!感謝蛤!!, m% T; C! F+ W% h6 q
因為我是初學而已!!
19#
發表於 2008-6-8 20:55:26 | 只看該作者
你是要畫電路圖的方式設計~
9 M* J& x4 V. I0 u( }0 }$ J那畫畫卡諾圖不就好了.... 只是比寫CODE還要麻煩.... % P" D, S/ N) p8 J3 j) p
因為要接邏輯閘!!
% ~! E3 Y3 G. q用卡諾圖化簡!!
20#
發表於 2008-7-25 14:41:52 | 只看該作者
最近剛接觸這方面的東西% Z* Q5 [" s4 ?! L! U& i9 }
9 j! Y2 D( Z) [+ q% P
剛好需要這些資料! F$ D% R; T. }! w8 A

) M" l- B: d- f. Q, a感謝分享!!!
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-20 12:55 AM , Processed in 0.133517 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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