Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2007-8-28 10:40:06 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
如題7 m- r1 W4 t" d7 O
小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區
7 `1 U! L0 S1 Q/ r) P如果不是麻煩版主修改一下囉
; j) u4 a# |; j+ x
9 ]- J) R# E6 g! R! B, i- G" x% i1 m目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一個0-5的記數器開始記數' h$ p# a6 z' e" {
總之就是能夠記數0-59, 個位數記數0-9, 十位數記數0-5
3 J. Z4 [7 Q4 k; _6 Y/ D
* \2 V4 I& Y# N, \請問各位有人有設計過這樣的電路嗎? 或是要去哪裡找相關的資料勒?2 Z2 {; G0 U1 o0 D( |$ 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 發表
+ y" n! m: {3 }  F9 d4 T$ {如題
7 y5 r* j3 H1 j小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區; [/ a" i6 R4 E9 C
如果不是麻煩版主修改一下囉0 E6 u4 h' ^+ e2 T  q2 U1 l

' V5 q+ H% ?7 s: M- y目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一 ...

" [. ^9 V+ Y/ a- X
- k( `& [& V! G1 p  i! ]& c大大您是要寫Verilog還是電路, B- t9 U. I4 g$ e. k5 e# q$ r
8 ]7 Q/ M& v/ d  n
先PO個RTL Code參考看看
/ ?: I: R' z0 |# e
" K9 t5 X% _+ T/ K$ [輸入:N clear load clk
* U& I& Q3 Q  u- D: e9 H輸出:count
+ K. k/ d1 e- B, v9 n; z, |4 ?1 T6 v9 b! G) j( w
行為描述(依照優先順序)$ @5 L$ F9 ]: {, ~% s: E" O' g
1.如果clear為1,則輸出設為為0
" s6 }* [) S' P* A8 S% P# i3 u2.如果load為1,則輸出設為N% F2 a) t& {. e) A& ^
3.每個時脈輸出遞增一次(BCD)* N( O" d' P" |$ e- h6 g$ q0 L

9 A" J, `" W& ?" G# F- s% `& f% ]! _6 ~" Z5 B
' k, `, }0 F% Z! L6 H
程式碼:- e. [3 `+ W$ a: O  e) p& Y
BCDcounter.v
( `( C$ [& k" J5 A' Y% k
! t# f) D. L9 ^2 }! B" g" Dmodule BCDcounter(clear,load,clk,N,count);8 Y, ^, D$ n5 f
input  clear,load,clk;3 b) a* ]& v7 J
input  [3:0] N;
8 S8 E) g# P; g9 q0 a* F9 Joutput [3:0] count;
# X0 U$ i0 z" Q8 ^' |! _% d$ hreg    [3:0] count=0;+ v  D1 \% }3 `5 P2 _% e/ C9 D

0 j2 T7 e1 z+ malways @ (posedge clk) begin
9 U- s5 u; g3 V# p  if(clear)                 //clear=1! i3 c3 v% b" L2 y' X# Z
    count=0;
: ~8 D2 z5 I  e4 D* i2 l  else if(!clear) begin     //clear=0(共有0 1 X Z四種狀態)
# }  Q# r- S, {, U! z# G    if(load) begin! f1 b' c: M7 q+ J  r9 R' H
      if(N>9)
; E4 {+ L# h' t5 K9 Z        count=0;, P9 ~4 ~$ U! ]& Q3 C
      else# P0 }8 E% I  \! N/ c  j: R6 t
        count=N;8 b! _2 V, J; R8 [. q6 c$ F
    end+ n, R7 {) ^) r3 h7 F" J
    else if(!load) begin
0 P$ J& u, X/ h8 a      count = count+1;
$ ], {* Z, t- a0 q6 T  k/ [2 S9 X      if(count>9)' W0 @1 i7 Z$ i5 ]- t3 l
      count=0;
. D2 y  x; y3 k2 H) e6 I    end# }+ t8 D% z* Q( p2 B$ i; \3 d
  end. v& b. \: n+ r% P' i9 i' M
end  o( W' |- `- q- j3 Q* d
endmodule
; G& f- f- f; i+ P$ {5 K+ J) t6 O
bcdcounter_tb.v
4 c/ m, R- _5 g* }+ @
7 w  U- [$ V/ smodule bcdcounter_tb;* L- h( W4 G! i- F7 Z$ O* t# [" E
reg clear,load,clk;6 W- T" \# @9 _, V3 {0 \' U- Z1 P
reg [3:0] N;# p9 t3 v6 ?$ W  C
wire [3:0] count;
" m& K% d/ t9 u# P# F9 S( Z
1 e1 S( E5 l  E1 Z. O7 B. Y/ X" eBCDcounter m1(clear,load,clk,N,count);! Q( D/ f% h. p8 f. B. b
, _! l/ I6 b, l& v( v8 H0 k
initial
+ B( Z, R; Z% q9 O- ]% _clk=0;+ h& s( h2 o% ]: @8 e

( t" C; w7 x6 r- i' jalways #2 clk=~clk;$ y( l$ O0 u0 D

9 z( a- j- H/ I. Ainitial
. o6 }& ~/ q( y7 S3 r3 c, T#160 $finish;
3 F1 F* L1 C+ s2 R; l9 f9 h. T5 ~9 R# I% M% @4 D
initial begin
! X5 U9 y% a" Q) R    clear=1;# K. l$ B( a" N# f  k
#4  clear=0;1 V, `1 W0 A; r0 h) S+ }9 D
#90 clear=1;
( s6 j" u. R  C6 A* v4 A" g#3  clear=0;
/ C* B, Y) D  H# {& a$ qend
3 B6 g! t; q6 K# y  B
5 x7 R8 H1 K+ v8 A1 h% {1 B7 C& [initial begin- d2 ~1 P3 S1 _& I/ H3 m
     N=6;load=0;
4 B5 y+ c" o7 M: z9 v) E" W#58  load=1;
! A1 e8 G4 E: ^#2   load=0;
  Q! a) P$ I4 T( X  `' b  v#22  N=12;
! W2 v# _0 p% u3 q" Y#40  load=1;& }; ]' K% x  u& L, r) ^
#2   load=0;# ?# @5 V! t/ f, a+ o; f
end
  }  Q' ~/ z: Y# v% C% [, [! E
; X0 s# s/ k& D5 Y. b" Pendmodule

評分

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

查看全部評分

3#
發表於 2007-8-28 10:56:04 | 只看該作者
還有一份講義可以參考看看
/ s( G( a2 j3 f5 h: D; A( y希望對大大有所幫助$ I/ P- n# P! L

( Y" m/ l) j. M
: l) y& y) x/ l9 u! E4 A: t; Y! X# [) Q  t& K& s
遊客,如果您要查看本帖隱藏內容請回復

本帖子中包含更多資源

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

x

評分

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

查看全部評分

4#
 樓主| 發表於 2007-8-28 11:18:33 | 只看該作者
感謝小朱仔的熱心回覆% e1 G( ]+ L- J( O$ H: ~. c$ w* ~7 O
不過我電路要自己畫 還有我不會用Verilog耶
/ B& n  @9 c0 _- `" x現在主要是要有電路圖 可以用Hspice模擬的那種
* \* g0 j4 x- j% J另外希望inverter越少越好 因為要求要省電! 還有要自己layout!* X/ g+ R* g: {$ ]* J& _8 x
; {8 }# r' f$ M- J# w1 m) A* I
樓上那份文件好像裡面有寫到 趕快研究一下! 感謝分享!# b: f: f# o' [7 h$ S8 b* I+ B
5 n' u" H' m3 M: o5 I
[ 本帖最後由 monkeybad 於 2007-8-28 11:23 AM 編輯 ]
5#
發表於 2007-8-28 16:05:34 | 只看該作者
你那個要自己動手畫CMOS電路吧... / Y6 p5 O& K/ y
寫code習慣了, 真的很不想動手再做這樣的事, 不過推完booling equation後, 直接用Cmos畫出來不就好了???) }2 F; L, h" G& ^3 p
沒錯吧
6#
 樓主| 發表於 2007-8-30 14:21:06 | 只看該作者
恩恩 不過booling eq好像是在推導一些輸入輸出的條件
- ?4 q2 Y5 B. r' b$ u/ \* \5 s8 m# E7 H# L5 f2 N0 z
記數器參考一些資料後 找到一個用ripple counter下去修改的6 }3 s5 }" g; P
ripple counter就是用負緣觸發的T型正反器串接在一起 6 u0 h" u! ~  A. }
接著開始從0數到9 然後數到10的時候
4 Y! o1 [/ q  P1 y) N就reset重新從0在開始數
7#
發表於 2007-9-3 15:08:06 | 只看該作者
ripper counter真不是個好主意, 不過要看應用, 在有些地方用時倒是好東東...
8#
發表於 2007-10-23 11:19:59 | 只看該作者
我很好奇某大大說的講義( d* ?* ]( v8 p9 B
給我看看寫什麼吧
9#
發表於 2007-10-23 20:26:00 | 只看該作者
我這裡有時鐘的電路圖..以送去CIC下線..可提供給大大參考看看!
10#
發表於 2007-10-30 01:52:19 | 只看該作者
我看一看那個問題,要我聯想到CODE,一時還想不起來,真是太久沒有寫程式哩!* k  Q% L4 \# F& t+ M7 k' A
看到CODE,有一點恍然大悟的感覺,又接著看,害我也想看那份相關資料囉!!
11#
發表於 2007-11-9 14:57:32 | 只看該作者
BCD conuter 應該是對自己有所幫助
12#
發表於 2007-11-14 23:29:59 | 只看該作者
bcd counter對初學者的我而言真的好難) E# X6 O' h3 {
謝謝小朱仔提供的code囉
13#
發表於 2007-11-17 16:58:54 | 只看該作者
大大別忘了給小朱仔 "感謝"8 ^' `9 _/ D0 z1 P+ M, ~8 P# l0 W

" l9 i8 u0 ?4 R4 o, c( m按評分, 就可以給感謝了....
14#
發表於 2008-2-22 17:34:54 | 只看該作者
Let see the shared material. THX.
15#
發表於 2008-4-24 07:28:10 | 只看該作者
幕讲义之名而来,呵呵勿见怪啦.                                             
2 n5 F* a4 U1 a# s' C% n; v+ H感谢
16#
發表於 2008-5-21 10:42:39 | 只看該作者

回復 3# 的帖子

感謝各位大大的資料 對初學者 真是受益良多
17#
發表於 2008-6-2 11:53:25 | 只看該作者
感謝大大的分享∼∼∼∼
1 t. E* t1 U- |/ p7 w因為你的無私,讓大家能學到許多知識
18#
發表於 2008-6-2 22:10:25 | 只看該作者
我也想看看大大分享的講義~~  P3 G) S  S" k, f& k
回覆來看看囉!!感謝蛤!!7 A$ ]! v- ^, ?+ Y3 m5 |
因為我是初學而已!!
19#
發表於 2008-6-8 20:55:26 | 只看該作者
你是要畫電路圖的方式設計~# q# B+ }6 Z* G9 |! a
那畫畫卡諾圖不就好了.... 只是比寫CODE還要麻煩.... / M( N/ o" z  Z
因為要接邏輯閘!!
& J' D9 _0 `( N& m+ r, \用卡諾圖化簡!!
20#
發表於 2008-7-25 14:41:52 | 只看該作者
最近剛接觸這方面的東西
8 B9 R( n# Q& L6 e( C  b' _1 B4 C# A2 F; D3 B
剛好需要這些資料: S$ q8 H$ P( L/ Y( A
5 U9 a* V% D# E* d4 T" _7 Y
感謝分享!!!
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-6-5 01:36 PM , Processed in 0.148018 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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