Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2007-8-28 10:40:06 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
如題/ ^, K6 ?+ n; F; X; z9 N) Y! R
小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區
3 L! x* @& L3 r! B如果不是麻煩版主修改一下囉
9 [+ L. L3 u! C
! v3 g- ?" v& P+ h9 a% z  H* h目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一個0-5的記數器開始記數$ ]: m( H  K# o# _7 c
總之就是能夠記數0-59, 個位數記數0-9, 十位數記數0-5
' }9 E4 v8 R+ y) u' e+ _% a. Z- v: Z( e9 Z+ {3 s+ M7 c
請問各位有人有設計過這樣的電路嗎? 或是要去哪裡找相關的資料勒?
1 H  l1 f3 S" z) x7 M  y. ?7 z2 a謝謝!

評分

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

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂2 踩 分享分享
2#
發表於 2007-8-28 10:52:11 | 只看該作者
原帖由 monkeybad 於 2007-8-28 10:40 AM 發表 ) N  d$ X, I% ?" s
如題
* e3 \( E0 {6 ^小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區  ^& O" g7 K: k- s! D
如果不是麻煩版主修改一下囉9 Y% a$ ~) e( O# |- M# c/ ^/ \
0 N! |. h) _3 w  f. S
目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一 ...

( |. u3 Q5 J% m; f' d" C/ ?" m1 X% s2 \3 u" H3 C+ V8 u
大大您是要寫Verilog還是電路7 O" p" Y, o0 j8 O* ]/ T1 S4 Z$ q
. ?' _8 Z( x$ q2 t! y/ h" C' N" z
先PO個RTL Code參考看看; L0 {  z! J3 f$ ~! H2 K
; Y: _% I! |) ?6 K: `
輸入:N clear load clk! ^! ^: N' Z4 |9 x, A
輸出:count4 J. C/ _1 S) F. `
1 F$ Z$ L6 L  m. ~  R- _/ c$ h
行為描述(依照優先順序)
2 E) \4 Q, ~8 c3 F% X! c2 @8 Z  Z1.如果clear為1,則輸出設為為0
7 e4 R# G  b5 T; h/ _& y2.如果load為1,則輸出設為N
1 [4 i9 ]+ }( d0 D3.每個時脈輸出遞增一次(BCD)* l( O" }+ ^2 Z8 u- c% J0 I

& ~. N7 P0 Y* M8 A1 V# w0 Y1 s  }/ w2 q& r/ f. ^8 y/ X

5 z% @9 V: r! V7 L+ d  t/ U程式碼:
2 a2 B3 k7 i. C, g* H" S: C1 yBCDcounter.v( f" X; e$ F5 d8 j# u
  A2 x+ M" S# Y% h. V9 j3 I
module BCDcounter(clear,load,clk,N,count);( ~# _  e$ t/ U
input  clear,load,clk;
1 K4 x5 P% q0 Iinput  [3:0] N;3 ^) f" y4 T( E1 T; m$ h
output [3:0] count;
: }2 k$ [8 F- r  v* }reg    [3:0] count=0;& l. p& T9 P  x. r$ V# q: F# [

  C2 b( p( T: M. c! n1 Lalways @ (posedge clk) begin* O; b% M3 a2 ]& |5 s
  if(clear)                 //clear=1# ]/ n. E1 g: S: ?. I1 Y- {- S
    count=0;
: M1 ^- z2 f% U  else if(!clear) begin     //clear=0(共有0 1 X Z四種狀態), K: y; u) d; v4 @* Z* y: @# g  x
    if(load) begin5 n# ?$ o  r; ^  u3 o( K
      if(N>9)8 x% @9 k8 \6 R8 P! P
        count=0;  _% `/ |& U' h  z8 e
      else
  ?! P. t1 G, k1 \  s        count=N;
& o3 g# ?8 H9 R* Z    end8 ~. l' Z( i+ y/ t9 |" u
    else if(!load) begin
" j! f  m/ `" I0 L# N      count = count+1;
6 n. H( {5 E9 {- b  z& w      if(count>9)% }$ r$ z+ s0 v4 L5 s# M. n
      count=0;
( s: r9 \2 d( ]4 Z4 b7 X+ Z    end/ s. b. {2 W+ [2 }8 v
  end. \3 P/ q1 f# N8 D* E
end
. H5 A. }" {- @/ lendmodule5 i. r" h9 ~) V! G( ~2 ~: K- G

# g: Z6 f  ]- S; v, ~& x; nbcdcounter_tb.v
5 t# S2 l& ?, ^; R
5 L; m9 c' D/ Dmodule bcdcounter_tb;8 _" w$ k0 o9 M" ^, U2 g# h# T* R
reg clear,load,clk;" B8 W+ S8 Y+ q% @
reg [3:0] N;
% I# U6 D3 a7 Q8 y8 Z( Gwire [3:0] count;
( \0 Y5 c0 D: A8 q5 `( Q
- p; J0 q$ u- |% x6 jBCDcounter m1(clear,load,clk,N,count);6 f, t- [) `! ]6 r; u" S

8 S" F- z: F8 q4 \0 W) ?& c) Oinitial
( u# J- v' K! [% @clk=0;
+ z, |, S  Y0 P6 W% ~0 y! X
7 O" A8 N5 D$ u. n% w: xalways #2 clk=~clk;
/ Z& w3 V+ a  y" I5 I4 z1 T1 W1 R! V
initial3 i8 \" ~; H/ L" w7 M5 D9 _' v
#160 $finish;
* r( I# k8 u+ z1 X6 s& d- d0 t8 g% w1 D3 k. ?
initial begin( i( z5 l4 t$ d- H) @, s
    clear=1;
& \' K0 n7 _, J5 b, r#4  clear=0;
$ y) R. z" l4 W4 X; J#90 clear=1;  s, ]5 E, e, z5 H2 F5 s! _% ~' b5 d
#3  clear=0;" p* F/ `* h7 B
end8 v' |5 E# e  b; V( t3 e% V0 d

0 s) p6 \) S* |# A6 w. Cinitial begin$ Z" N0 ^1 N( X, I
     N=6;load=0;
3 V( G: S7 V9 S8 N2 Z1 ?, h#58  load=1;
, I% A5 Z3 v7 `4 Y#2   load=0;
. g4 L+ M  r* v3 }5 M" i6 l3 s5 V#22  N=12;9 h; ~. [  i# ~" ~! O& i
#40  load=1;
$ p5 ]1 c/ E& U, o#2   load=0;/ D9 z# R9 }/ e8 L
end) C- h% R3 s4 d7 F6 C7 U) {' t7 e

) I$ D/ P2 i+ ]2 Gendmodule

評分

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

查看全部評分

3#
發表於 2007-8-28 10:56:04 | 只看該作者
還有一份講義可以參考看看) D3 s. j6 b! V. N) K% I
希望對大大有所幫助
# q5 F5 l8 e" |2 K1 v5 ?( |+ ^& [  q4 P* b# l: P# p: b% j
; M& {$ @! Q+ m" ]8 X, s! a( b

5 Z. l6 k: L7 x! r# n
遊客,如果您要查看本帖隱藏內容請回復

本帖子中包含更多資源

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

x

評分

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

查看全部評分

4#
 樓主| 發表於 2007-8-28 11:18:33 | 只看該作者
感謝小朱仔的熱心回覆
! F5 e( |. \( j* a不過我電路要自己畫 還有我不會用Verilog耶
" k; T8 d3 o- |. t- O; O# C7 j現在主要是要有電路圖 可以用Hspice模擬的那種
8 l! v5 }, `) U2 B2 `# g! \4 z另外希望inverter越少越好 因為要求要省電! 還有要自己layout!! r: ~  A: ?5 ?' E& g% J- @( z3 n

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

回復 3# 的帖子

感謝各位大大的資料 對初學者 真是受益良多
17#
發表於 2008-6-2 11:53:25 | 只看該作者
感謝大大的分享∼∼∼∼
' c) b3 y0 w) @, h5 }8 M3 @因為你的無私,讓大家能學到許多知識
18#
發表於 2008-6-2 22:10:25 | 只看該作者
我也想看看大大分享的講義~~* Q" [  {$ u9 R9 [& M
回覆來看看囉!!感謝蛤!!
% l! F1 u& N1 j& |$ \. K" v因為我是初學而已!!
19#
發表於 2008-6-8 20:55:26 | 只看該作者
你是要畫電路圖的方式設計~
0 B+ t6 N/ y3 m3 l1 S7 Y  v/ v那畫畫卡諾圖不就好了.... 只是比寫CODE還要麻煩.... 2 i- W' m5 x) ~# R3 `1 g
因為要接邏輯閘!! 2 ]2 _3 V: {+ I' `
用卡諾圖化簡!!
20#
發表於 2008-7-25 14:41:52 | 只看該作者
最近剛接觸這方面的東西; h) H" P# _: J: L# t  Y
% V3 S7 G& m4 b$ `5 o4 m5 H+ N
剛好需要這些資料* z5 }1 {0 r, }% ~8 B/ |
+ h% u. E: N0 t) H1 }' C4 {
感謝分享!!!
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-4-29 06:21 AM , Processed in 0.143009 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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