Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2007-8-28 10:40:06 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
如題7 ]3 d, F5 l8 |$ n- d6 q- u# J
小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區+ N0 Q* R( g3 M4 X+ C
如果不是麻煩版主修改一下囉
' R5 K# F0 w* x4 T. \
- Q5 b+ A# H5 Y* s目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一個0-5的記數器開始記數
) \) E9 y7 f' r. m: m總之就是能夠記數0-59, 個位數記數0-9, 十位數記數0-5* H% \$ e3 h' b* T% O

" [* s& X+ ?5 N; ?9 g5 E  i請問各位有人有設計過這樣的電路嗎? 或是要去哪裡找相關的資料勒?1 `: o7 I( V: t0 g6 j
謝謝!

評分

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

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂2 踩 分享分享
2#
發表於 2007-8-28 10:52:11 | 只看該作者
原帖由 monkeybad 於 2007-8-28 10:40 AM 發表
5 f$ s! D" Y( X% w如題) r. A7 e- y; q- O, E& b
小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區
$ g8 Q$ E. V3 n; q# Z如果不是麻煩版主修改一下囉9 @/ G' v7 G! }4 B+ m
: |, S) j8 C3 c1 J$ _+ B
目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一 ...
! m- }1 G' H# T
& L- l9 ?3 P' R$ j
大大您是要寫Verilog還是電路
( @% G9 v' i& d7 b" ?4 c% T9 O8 A+ ]. w4 {, o+ g
先PO個RTL Code參考看看
1 v" c* ^3 ^" O  i( [- @$ S2 x0 `/ M% \8 r
輸入:N clear load clk
! m6 E1 ~- O; C7 q輸出:count4 {( K9 y7 I9 P# B
0 l; O! {- U/ K- C; S. g" Y9 {
行為描述(依照優先順序). D! q7 ~7 _9 ~0 `
1.如果clear為1,則輸出設為為0) {, {9 J* g5 {, _" |
2.如果load為1,則輸出設為N& e  g& F8 E' p6 h0 v1 J" `5 s
3.每個時脈輸出遞增一次(BCD)
- g% B5 C+ |6 w1 p$ J. Q  J; |2 [9 U1 L1 e

' z. J) p! u# y& A3 n' Q- D% l) ?& D$ o1 X* Q; {: g7 c
程式碼:
) U( f6 n7 N' J4 ^% X& O# |+ c( FBCDcounter.v
9 k! u: g, ^; z
+ _$ H+ C* x5 smodule BCDcounter(clear,load,clk,N,count);, A5 ~# ]% V, _' P8 i
input  clear,load,clk;5 z3 L  T1 `6 h7 s/ P1 b7 H! `
input  [3:0] N;6 X# T4 T5 h- q; L$ J+ X
output [3:0] count;
' Y; g3 f4 T' P6 A1 p" Nreg    [3:0] count=0;1 D" g5 t, e* t1 {9 E
0 f% v5 A5 Y, v$ i1 f
always @ (posedge clk) begin
: t) K  M: d' y9 T  if(clear)                 //clear=17 o7 Y, L  b5 A' m* {; N
    count=0;
% T- r1 u, H( V) M) H  else if(!clear) begin     //clear=0(共有0 1 X Z四種狀態)
( X3 c- p, _6 j2 E2 w( b    if(load) begin/ ?% k. c6 S# s0 Z  d
      if(N>9)9 g/ o$ U* e$ J" q' D
        count=0;4 M6 `3 ]; s3 q; X) O1 M2 f
      else; G7 u* J. |! B
        count=N;
7 T/ a" Y5 {+ q    end/ e  ^- }$ K, H* z) p7 S" C* E( J
    else if(!load) begin
) y4 J9 X9 S; e! T      count = count+1;4 B- q: W+ k: }- V2 `1 X, m6 K. d
      if(count>9): M* R( V$ S! R" V) U% ]2 v; \+ u5 C1 `
      count=0;
3 ]" r# a7 p! G9 r3 h' C9 C    end2 j' W# c. d" n8 o
  end7 \! \6 R; x5 i6 a, o* `4 F
end
) K8 l- n7 a; N! k; Q$ Dendmodule& S: [. Z/ w4 Z' e, |

# k' S7 S6 w+ m: `; M) Cbcdcounter_tb.v
  e9 m0 ]0 _/ l
: [1 q8 |3 |. \7 x9 O4 kmodule bcdcounter_tb;
5 D6 f0 t" ~* q" Ereg clear,load,clk;/ \: W0 _) ]1 K' @: z3 F
reg [3:0] N;
: [8 e* z# k" l7 X4 Iwire [3:0] count;
7 C. A/ P9 X# E7 [& ]7 L$ k& h6 H8 X
BCDcounter m1(clear,load,clk,N,count);; z5 d) V" w" `( o! B
& v3 T! s3 A' W% ^1 k  b
initial
# I$ U6 w4 b5 oclk=0;
* D1 z4 a( m7 F; f, G$ M, q" c& \: V4 _: c
always #2 clk=~clk;
9 p, Z; b  P2 {2 H6 r3 B% p( P. }8 G5 r) E3 k6 u$ `6 f' p
initial8 V+ F0 O2 f0 n; z# D
#160 $finish;3 ~2 c# n3 c, R! v, }* |2 k7 n

( N% ]. W. }/ T" |initial begin
% v" j/ Y3 B2 ~& m2 g* \0 C    clear=1;! W8 f1 y3 t5 c4 _+ S  B8 c
#4  clear=0;
4 K. m% i8 K( U8 ?5 I#90 clear=1;
. G( J, l/ L7 \/ x$ \# N. g0 {#3  clear=0;
& \2 I. {* u# t5 P" K" `- ]end
* O1 W; v$ d3 P$ m  X) }8 y, d5 |2 h- }9 C" F
initial begin
1 [  c# f6 D( r+ d9 p6 _$ D1 w. m     N=6;load=0;% y2 k! Y8 W) [
#58  load=1;
2 @4 _+ z6 }' H' w! N( \#2   load=0;6 C" Q  |* `; V, E# E: K6 }( c; T
#22  N=12;
3 }" m) y- J0 T7 [' k0 F) U#40  load=1;
8 l" n/ W4 G" r8 b# o#2   load=0;2 t& V0 r( k! n$ j, G
end
3 J% C0 q% j( j+ }5 w& `% @' G
' j# `/ J, O6 d1 g/ p  Uendmodule

評分

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

查看全部評分

3#
發表於 2007-8-28 10:56:04 | 只看該作者
還有一份講義可以參考看看
) ^# L/ K! G( a, {' M5 V希望對大大有所幫助
) Y. _& [- C0 W4 B- I2 l
1 H3 A) H0 v' j
5 W7 E+ p# e- F
2 |7 u" `! ?' o. ]) }5 [
遊客,如果您要查看本帖隱藏內容請回復

本帖子中包含更多資源

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

x

評分

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

查看全部評分

4#
 樓主| 發表於 2007-8-28 11:18:33 | 只看該作者
感謝小朱仔的熱心回覆2 m* E$ G( o4 r2 ?/ k! W* R2 u; V4 w
不過我電路要自己畫 還有我不會用Verilog耶8 F8 M1 D. [( ?/ L1 }# a
現在主要是要有電路圖 可以用Hspice模擬的那種
/ q: b! t7 D8 ?另外希望inverter越少越好 因為要求要省電! 還有要自己layout!
1 ~* ]7 @7 L/ c4 ~/ i: L
: t' F- I: [: F2 W! T$ O$ J樓上那份文件好像裡面有寫到 趕快研究一下! 感謝分享!  [1 g, u/ H+ h. t! J4 h6 Q

3 b( M* z0 K8 p8 V  u[ 本帖最後由 monkeybad 於 2007-8-28 11:23 AM 編輯 ]
5#
發表於 2007-8-28 16:05:34 | 只看該作者
你那個要自己動手畫CMOS電路吧... 0 A6 i, N2 w) G) m
寫code習慣了, 真的很不想動手再做這樣的事, 不過推完booling equation後, 直接用Cmos畫出來不就好了???+ V4 w8 G( \: S* _
沒錯吧
6#
 樓主| 發表於 2007-8-30 14:21:06 | 只看該作者
恩恩 不過booling eq好像是在推導一些輸入輸出的條件
- m* M4 C' Y5 z) c5 [
5 U( g/ F$ ?6 ~0 f記數器參考一些資料後 找到一個用ripple counter下去修改的/ u1 @4 @/ K6 R* Y, {
ripple counter就是用負緣觸發的T型正反器串接在一起 ) ~/ a6 H1 o, m( }8 y
接著開始從0數到9 然後數到10的時候4 x2 y7 X) S5 z+ d, d* ]3 O
就reset重新從0在開始數
7#
發表於 2007-9-3 15:08:06 | 只看該作者
ripper counter真不是個好主意, 不過要看應用, 在有些地方用時倒是好東東...
8#
發表於 2007-10-23 11:19:59 | 只看該作者
我很好奇某大大說的講義9 I; h5 j6 r4 I+ A1 z% W
給我看看寫什麼吧
9#
發表於 2007-10-23 20:26:00 | 只看該作者
我這裡有時鐘的電路圖..以送去CIC下線..可提供給大大參考看看!
10#
發表於 2007-10-30 01:52:19 | 只看該作者
我看一看那個問題,要我聯想到CODE,一時還想不起來,真是太久沒有寫程式哩!( `3 e! o$ H" m
看到CODE,有一點恍然大悟的感覺,又接著看,害我也想看那份相關資料囉!!
11#
發表於 2007-11-9 14:57:32 | 只看該作者
BCD conuter 應該是對自己有所幫助
12#
發表於 2007-11-14 23:29:59 | 只看該作者
bcd counter對初學者的我而言真的好難6 {* F- \; C/ i/ _5 R% p" `- y9 v) e+ T
謝謝小朱仔提供的code囉
13#
發表於 2007-11-17 16:58:54 | 只看該作者
大大別忘了給小朱仔 "感謝"% t$ B( S) v  G9 x8 t% U
/ s7 P& A$ v1 r5 Z
按評分, 就可以給感謝了....
14#
發表於 2008-2-22 17:34:54 | 只看該作者
Let see the shared material. THX.
15#
發表於 2008-4-24 07:28:10 | 只看該作者
幕讲义之名而来,呵呵勿见怪啦.                                             
- w; @. }% ?; P( g& p! p感谢
16#
發表於 2008-5-21 10:42:39 | 只看該作者

回復 3# 的帖子

感謝各位大大的資料 對初學者 真是受益良多
17#
發表於 2008-6-2 11:53:25 | 只看該作者
感謝大大的分享∼∼∼∼
4 I9 M% o) R: G  W. x因為你的無私,讓大家能學到許多知識
18#
發表於 2008-6-2 22:10:25 | 只看該作者
我也想看看大大分享的講義~~
. N4 f5 f0 ^, X  Y: T$ M/ A9 ]  G回覆來看看囉!!感謝蛤!!9 k* _/ b0 J! H
因為我是初學而已!!
19#
發表於 2008-6-8 20:55:26 | 只看該作者
你是要畫電路圖的方式設計~2 d1 U4 k3 b; x7 H% F) H5 P1 m
那畫畫卡諾圖不就好了.... 只是比寫CODE還要麻煩.... 2 l, B- {0 B% @" p8 ^$ r7 b
因為要接邏輯閘!! ; U) V0 h. g( c! N
用卡諾圖化簡!!
20#
發表於 2008-7-25 14:41:52 | 只看該作者
最近剛接觸這方面的東西
, A+ t  G- h$ W# R6 X* h
7 e$ L/ r. J) s( f, y! ?剛好需要這些資料
2 i( |3 W# O) m: a) }1 Z3 A7 p9 U/ @3 @' P
感謝分享!!!
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-6-15 10:18 PM , Processed in 0.160520 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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