Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2007-8-28 10:40:06 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
如題
  d9 a3 f3 }0 }" P- q0 T小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區# j1 |" ^  N: b, P% W
如果不是麻煩版主修改一下囉9 ]( U$ x+ e$ _+ P/ b
; k4 j4 l9 Z3 }& W* A! |/ ~7 _
目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一個0-5的記數器開始記數. }6 {7 G% r) V
總之就是能夠記數0-59, 個位數記數0-9, 十位數記數0-58 m; \- g6 t' o+ i; M% U# M

9 s! Q$ T4 l2 ~$ o請問各位有人有設計過這樣的電路嗎? 或是要去哪裡找相關的資料勒?
  }6 L" |) T6 F0 M謝謝!

評分

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

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂2 踩 分享分享
2#
發表於 2007-8-28 10:52:11 | 只看該作者
原帖由 monkeybad 於 2007-8-28 10:40 AM 發表 % h# V9 m# j' a
如題
- c2 ^# o1 h4 Z" k小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區
: V. ]/ M( ?5 F& ]如果不是麻煩版主修改一下囉
& n: ]; T1 S, v. q8 `; @4 x3 i6 U* }2 T- E9 E7 y0 ]' Z0 a% h
目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一 ...

$ d' l# H6 z4 t1 V3 f+ F6 l# p* C7 J2 S. x
大大您是要寫Verilog還是電路
# i/ u/ K  b7 s/ g  z
/ O9 q* o+ k0 m/ g/ v1 p" K' d1 a先PO個RTL Code參考看看  t% `4 P; S- E+ F7 i

/ E0 l0 z/ [) C輸入:N clear load clk+ c0 n- ^% s, \. k, S
輸出:count
3 E9 y8 \) w* J& {/ I& U, t. c4 `1 o$ `0 r5 m. y
行為描述(依照優先順序)
) {; M& q1 {7 ^) j& b1.如果clear為1,則輸出設為為0
! F; x9 D4 }' U2.如果load為1,則輸出設為N
. |$ |& i; n( n# d" ]3.每個時脈輸出遞增一次(BCD)
9 u& w/ P! Y( P% \. s. m1 w* I8 w( F6 V" R6 H# @4 ?/ h

4 f  c* m5 Q  Z1 V" P& X/ D! i, T1 ]
; m! X1 A8 {9 ~+ z/ j  t6 J' Z程式碼:+ V4 M; f! u' J
BCDcounter.v/ J4 P- G8 _2 t/ w* o$ d

- c* ]; `4 d/ w- M1 c+ T( Zmodule BCDcounter(clear,load,clk,N,count);
2 ^) W8 i8 w& T# Dinput  clear,load,clk;4 x& \0 P: o2 {, i& ?- f7 t
input  [3:0] N;$ A- g; N4 P, t4 W: h5 J
output [3:0] count;
0 S* ]  ~# h3 breg    [3:0] count=0;
: \2 }+ q* O" a3 A; Q. Z" O5 X/ B. h- X- t9 ~
always @ (posedge clk) begin- D( ^9 ]/ O) i$ V1 ?
  if(clear)                 //clear=18 @* N+ Z* v  \5 W4 F4 N
    count=0;
$ ]+ c, M6 K5 w* S% i0 E1 H, p  else if(!clear) begin     //clear=0(共有0 1 X Z四種狀態)
) a' p1 j! ^$ Q( T    if(load) begin% U6 S- ~# _/ y: g& y2 h+ Y
      if(N>9)
6 G8 `. C: @+ \6 ~) J& M3 J, n        count=0;  |* ^+ Q; @2 q: d, t5 Z+ W; o) c
      else
) A% h  d# k$ t, q9 n9 Q        count=N;
( R5 C; [& _2 l# L' \9 V  n    end
) j2 Q# F9 m6 g: n    else if(!load) begin- d, C  U8 `/ x& F
      count = count+1;) j( W2 O8 ~. Q, E
      if(count>9)
$ T- ^( b, W6 T0 [* y      count=0;
' n3 [- c, I. |' P    end
# e' \" R4 G- h" p4 h  end
9 ?/ q5 {2 }0 hend7 e; _$ W" S! q8 ~1 q
endmodule& R2 w; `2 b' J; l1 \

1 A3 P5 u7 t- h0 u5 f# O0 F& M  l: mbcdcounter_tb.v& d9 {" G) u. e3 G

+ E/ I1 a2 ?+ Y8 g) E6 Fmodule bcdcounter_tb;5 v/ G3 E6 L# h$ ^" E! d+ D
reg clear,load,clk;
# R+ u# S( i& b) m0 Freg [3:0] N;2 m  ~8 m6 J; f4 Z" X! w
wire [3:0] count;
4 B& P7 ^2 H+ m0 }( B" a: }" l' q4 C# A. }( \
BCDcounter m1(clear,load,clk,N,count);3 u  P0 D  F9 o* B1 v
3 @. n1 K5 E$ A# G5 x
initial
# U9 i2 b: j" c0 |: \# L3 c" lclk=0;: v! u. x" a8 N3 S6 s( B7 z# c* ~
# `+ S' Z8 K; A; T4 u
always #2 clk=~clk;
/ Y  W* t  O% e6 i, M6 _
7 R- K  S& r* X3 O6 [initial1 B" U. i' Z0 g# j& I3 R
#160 $finish;
: e; _( j' K  d: t( N. m! m/ n! d# W8 t, s1 r
initial begin
' K9 P- Z6 B6 u% J) V    clear=1;
6 T* G" I& ~' b4 T$ L' m: x#4  clear=0;- x5 N; ^& U$ D9 e) R8 T, l
#90 clear=1;/ p: K4 a6 \4 B* E6 j0 I
#3  clear=0;0 q2 D  P* t+ b: G( e
end  R5 f4 b) v) B- v. \8 O- U. f

* w2 u& P0 v0 j5 c0 v9 |initial begin
- w$ Z+ e1 y5 F' G     N=6;load=0;
6 v  m7 [" ?% x2 U! t% ~. l$ P; [' Z#58  load=1;
9 t) Q! A3 g: a; |4 y#2   load=0;
9 a3 l4 M: T: X- ?5 R4 Q#22  N=12;  @7 R9 m7 a  Q* N$ `
#40  load=1;
& m$ e' ~- ]; A3 l#2   load=0;
4 ^/ {6 ?' Y- d: a3 fend
9 D8 J7 _6 k2 p$ a' w0 D! k
( [' y+ E4 u  j0 |# M5 {endmodule

評分

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

查看全部評分

3#
發表於 2007-8-28 10:56:04 | 只看該作者
還有一份講義可以參考看看
0 i) W' e; v' n  L. V希望對大大有所幫助2 x; O9 b, p$ d6 S, |/ K7 H
; r+ l, u$ ^: s* F, J  A/ Y

$ ~# P7 D% Y/ Y( Q9 C
% V* u; E8 G& `# p( q* Z7 c
遊客,如果您要查看本帖隱藏內容請回復

本帖子中包含更多資源

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

x

評分

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

查看全部評分

4#
 樓主| 發表於 2007-8-28 11:18:33 | 只看該作者
感謝小朱仔的熱心回覆
. R, [, _* M; R- ^; ]不過我電路要自己畫 還有我不會用Verilog耶
3 g1 H# x! \( l+ b, ~! l現在主要是要有電路圖 可以用Hspice模擬的那種% g  Q- s, Z; A" l
另外希望inverter越少越好 因為要求要省電! 還有要自己layout!
, m# `7 i4 N2 ~) z3 S2 \
6 l- V! L& G+ o2 t+ c# A樓上那份文件好像裡面有寫到 趕快研究一下! 感謝分享!
4 j) T1 L% d# x( e: \
$ R1 {/ N1 B+ `8 I* v[ 本帖最後由 monkeybad 於 2007-8-28 11:23 AM 編輯 ]
5#
發表於 2007-8-28 16:05:34 | 只看該作者
你那個要自己動手畫CMOS電路吧... 8 }# y6 m" s2 b
寫code習慣了, 真的很不想動手再做這樣的事, 不過推完booling equation後, 直接用Cmos畫出來不就好了???
" n  c/ e' U) l- n' k2 B2 p沒錯吧
6#
 樓主| 發表於 2007-8-30 14:21:06 | 只看該作者
恩恩 不過booling eq好像是在推導一些輸入輸出的條件9 A% n2 ^& i2 r, w; ]: L
3 y( V  I7 G$ d, R# I
記數器參考一些資料後 找到一個用ripple counter下去修改的
: x! E* q0 S. {1 w6 M; n* Gripple counter就是用負緣觸發的T型正反器串接在一起
  A# @. s' ?% ^+ `& s接著開始從0數到9 然後數到10的時候
4 \; a+ T  q( j+ ?# q! e4 }4 o- n就reset重新從0在開始數
7#
發表於 2007-9-3 15:08:06 | 只看該作者
ripper counter真不是個好主意, 不過要看應用, 在有些地方用時倒是好東東...
8#
發表於 2007-10-23 11:19:59 | 只看該作者
我很好奇某大大說的講義3 a6 \$ H' V3 m! R. H" q( z5 w
給我看看寫什麼吧
9#
發表於 2007-10-23 20:26:00 | 只看該作者
我這裡有時鐘的電路圖..以送去CIC下線..可提供給大大參考看看!
10#
發表於 2007-10-30 01:52:19 | 只看該作者
我看一看那個問題,要我聯想到CODE,一時還想不起來,真是太久沒有寫程式哩!
$ t4 H9 z7 T" Z4 b3 v7 G" T) ]: b! z: `- M看到CODE,有一點恍然大悟的感覺,又接著看,害我也想看那份相關資料囉!!
11#
發表於 2007-11-9 14:57:32 | 只看該作者
BCD conuter 應該是對自己有所幫助
12#
發表於 2007-11-14 23:29:59 | 只看該作者
bcd counter對初學者的我而言真的好難$ t8 c* R/ e# ~  r4 }
謝謝小朱仔提供的code囉
13#
發表於 2007-11-17 16:58:54 | 只看該作者
大大別忘了給小朱仔 "感謝"+ k* U5 L& ~. o" a5 R

9 R- ~- W$ S) \0 Q8 `按評分, 就可以給感謝了....
14#
發表於 2008-2-22 17:34:54 | 只看該作者
Let see the shared material. THX.
15#
發表於 2008-4-24 07:28:10 | 只看該作者
幕讲义之名而来,呵呵勿见怪啦.                                             
* j7 J3 `& Y. [0 s. i: `6 j- K感谢
16#
發表於 2008-5-21 10:42:39 | 只看該作者

回復 3# 的帖子

感謝各位大大的資料 對初學者 真是受益良多
17#
發表於 2008-6-2 11:53:25 | 只看該作者
感謝大大的分享∼∼∼∼
9 Z4 K9 f1 k2 R' ?& f因為你的無私,讓大家能學到許多知識
18#
發表於 2008-6-2 22:10:25 | 只看該作者
我也想看看大大分享的講義~~; p' d( d* v2 f" P& `
回覆來看看囉!!感謝蛤!!
6 j$ f8 X! z; A) i. D7 ^因為我是初學而已!!
19#
發表於 2008-6-8 20:55:26 | 只看該作者
你是要畫電路圖的方式設計~( r  H0 S  T8 I' c' P
那畫畫卡諾圖不就好了.... 只是比寫CODE還要麻煩.... 5 M; C$ E7 [* C* i. w! {
因為要接邏輯閘!!
7 C' I& @' A# U" E7 ~- F用卡諾圖化簡!!
20#
發表於 2008-7-25 14:41:52 | 只看該作者
最近剛接觸這方面的東西
" {7 Q: P: p# Y! ?* r% p5 v  n% c
剛好需要這些資料
2 n; u) U  h' a3 k, P" E7 z4 y6 k0 k  k/ h+ x* V: w$ {. E
感謝分享!!!
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-6-16 03:15 PM , Processed in 0.150520 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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