Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2007-8-28 10:40:06 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
如題3 E! d' q$ n, L* E2 _" A. h. c
小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區
+ p8 \! k2 {# S2 _8 C# e% e如果不是麻煩版主修改一下囉
, a# U, h9 Y! e. o/ Z8 N
: ?  m. m; o' ^! y) G2 Q8 g目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一個0-5的記數器開始記數
" A1 @0 T, }( t總之就是能夠記數0-59, 個位數記數0-9, 十位數記數0-5
) i# W5 l0 f4 b6 f4 d' h' X8 u: j3 u( p* |( k2 s- C3 F  c, W
請問各位有人有設計過這樣的電路嗎? 或是要去哪裡找相關的資料勒?
1 O; Y% V( Y, t# X" F/ k, e$ V謝謝!

評分

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

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂2 踩 分享分享
2#
發表於 2007-8-28 10:52:11 | 只看該作者
原帖由 monkeybad 於 2007-8-28 10:40 AM 發表 ; S: M  ~1 R1 Y- W8 G  x! h
如題6 s2 f, Q! S4 h) P, e2 [* {+ ]& B
小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區7 O5 u0 M2 e& [0 Z* ]
如果不是麻煩版主修改一下囉* X$ F/ B% U  ]2 W! p9 U
9 [/ [$ Z4 o# w& g4 [2 ]
目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一 ...

% v' Q$ L( n" X* N! P: U+ u
. \* S4 t. I* P8 {) a( ^大大您是要寫Verilog還是電路
( m! M% F1 h  H* _+ b3 R: O
2 `( O$ D) |' S) n/ Z3 J先PO個RTL Code參考看看4 V" \* `/ v; R+ d" f: O) z" S

1 l: I: S" m0 p輸入:N clear load clk# I+ }( |) o: V
輸出:count' ^. B2 y9 L, |6 S  X
5 }+ E0 l0 c* X& z
行為描述(依照優先順序)
6 m1 j: h; i* |1.如果clear為1,則輸出設為為0
$ h$ F3 _4 }( ~. n$ M( s2.如果load為1,則輸出設為N
7 h: a+ r# X  e% X$ d) [3.每個時脈輸出遞增一次(BCD)
( v2 L3 D& r5 C: W: T: v
% Q, R3 ]2 _% _; h$ s& {8 s" \
4 f2 p/ E4 m0 s2 a! b4 ^$ B+ G7 n0 u- P3 |# Q$ f
程式碼:/ y# S8 J8 f8 Z1 d' ^) q
BCDcounter.v, {2 ]6 u3 N# p9 n" D
" h) G" F: s# h" [
module BCDcounter(clear,load,clk,N,count);
) \( ~& n0 J) W/ g$ [  @, K4 minput  clear,load,clk;
8 D/ P- ?( s3 h* z  E$ ]0 xinput  [3:0] N;8 E5 Z- X* X* f# S+ m# o9 y
output [3:0] count;* b' G# a3 U# X& `1 x* c
reg    [3:0] count=0;/ l% x) C- J2 K* i# K

* k' u" i6 ]  ^& G) M1 B, Valways @ (posedge clk) begin- F) `1 a7 C; y& d+ G5 \
  if(clear)                 //clear=1
# ?3 b9 |0 Z" E    count=0;
1 L4 ~1 m% E# }% b, N  else if(!clear) begin     //clear=0(共有0 1 X Z四種狀態)9 O5 [% R4 a8 J) f
    if(load) begin
5 O0 L! \2 ^5 [$ A# b      if(N>9)5 r! c  ^, g# _6 h7 g0 o
        count=0;+ k* w# I+ I8 A6 W
      else
8 @0 Z  C0 |! q* V- }/ l; w        count=N;
4 W* A4 }- a! J( }' a: O    end
$ a3 E$ T3 X8 b) F+ k    else if(!load) begin
% ^5 R0 F$ W# d0 c4 U; k3 ]6 N      count = count+1;
1 E  g% f. h; _      if(count>9)$ V' O& K6 W  N1 v( R! y6 m' d8 {- p
      count=0;: A1 \! M) C, j2 f
    end# M5 I8 v2 z% R, ~/ V
  end
9 P! T$ a4 z& E! A: p/ Eend0 w  P& f- G+ D% H
endmodule
/ b1 _7 S' n4 ^4 I( @  V9 Y% _" ?! w: a5 E
bcdcounter_tb.v
0 p: `& Y' {" m) v; j* m. F  k6 L1 d2 C1 o
module bcdcounter_tb;
: |0 p, ^' e- G1 ^reg clear,load,clk;5 [: C* X7 S# R
reg [3:0] N;
0 o: }6 |, p7 A, swire [3:0] count;4 H3 f/ v% P3 N
/ k4 `$ ?5 {7 `. s! }
BCDcounter m1(clear,load,clk,N,count);7 V, j6 p0 ?- q, U4 O
  `: b' D' E& R7 J7 R: T
initial0 B+ n8 y& R5 T# }2 u: b" ?( O
clk=0;- r* J. d: P( Z8 F

/ f; k5 I0 |- Y! O; Q7 Dalways #2 clk=~clk;4 ~% x6 `7 O+ Z! r- e( o, o2 R- n

  }. l2 L2 E( O! }initial& w% X! z- x2 q
#160 $finish;9 X5 r2 H3 x/ ]  {( F# [" V

3 u- k! e8 _& F7 _) E$ Winitial begin
2 a/ J/ Q' T( Y' d( y. Z5 r" d/ Z    clear=1;
. O7 ?! i. a! m2 n& `2 m* m#4  clear=0;8 I% L6 J/ e* l! q* B1 c3 L. f6 V
#90 clear=1;
' D  }! ]/ O4 i; i& U#3  clear=0;  n: ]: h7 q1 R* l. Y8 k  @. I* j
end
; m9 m4 j, R8 z/ B4 M$ }9 _$ A6 Z& e9 n2 b! p( B- l3 }* }
initial begin4 K8 _# s6 f- g
     N=6;load=0;3 j, z5 S) f# }: |, }" v# _3 Z! R
#58  load=1;- i' j0 x# l2 j2 w% s' x
#2   load=0;1 _  v& U) C5 ]3 M1 Q, M( ^# n
#22  N=12;1 x; Y; \* u, w# R+ x
#40  load=1;
* J* v1 |3 h8 t" T' p#2   load=0;
- D8 Y0 I: m* u! }" H1 zend
5 x2 ^6 z4 O' n! k) F! a; v8 t0 S( d! v& e2 }" K9 O0 z; C5 Z
endmodule

評分

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

查看全部評分

3#
發表於 2007-8-28 10:56:04 | 只看該作者
還有一份講義可以參考看看
, G) Y# r9 R& F' C0 W希望對大大有所幫助: U# t. c0 c: F- e
, c+ m: O5 T, a7 {

6 \+ v0 U6 f' a4 F/ W0 F# j
& D8 y/ J* W( s" y$ E$ I
遊客,如果您要查看本帖隱藏內容請回復

本帖子中包含更多資源

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

x

評分

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

查看全部評分

4#
 樓主| 發表於 2007-8-28 11:18:33 | 只看該作者
感謝小朱仔的熱心回覆3 j7 [9 w, k- d% `
不過我電路要自己畫 還有我不會用Verilog耶* m* E; R: l" B( R. i( @
現在主要是要有電路圖 可以用Hspice模擬的那種
% o, r  C/ T7 V2 I; J另外希望inverter越少越好 因為要求要省電! 還有要自己layout!* C) v, w9 P: B
9 f% Y, W) o: k- R, a& Q, r% Q
樓上那份文件好像裡面有寫到 趕快研究一下! 感謝分享!
) v* }2 [$ f7 S! e; [% T1 b6 h4 x& O
[ 本帖最後由 monkeybad 於 2007-8-28 11:23 AM 編輯 ]
5#
發表於 2007-8-28 16:05:34 | 只看該作者
你那個要自己動手畫CMOS電路吧...
  u0 }+ z( J# |# ], E寫code習慣了, 真的很不想動手再做這樣的事, 不過推完booling equation後, 直接用Cmos畫出來不就好了???, U8 M4 R8 H* R: h8 Z
沒錯吧
6#
 樓主| 發表於 2007-8-30 14:21:06 | 只看該作者
恩恩 不過booling eq好像是在推導一些輸入輸出的條件
9 N9 k; h" q! e: B! t8 N0 a
! B7 a+ I6 l' m+ ]  W1 v, X記數器參考一些資料後 找到一個用ripple counter下去修改的; f, K+ K6 J/ a! k) ?- w- _& R
ripple counter就是用負緣觸發的T型正反器串接在一起
% s; g$ `4 x/ q4 C9 Q+ f& D接著開始從0數到9 然後數到10的時候- x& B" |& ]; G
就reset重新從0在開始數
7#
發表於 2007-9-3 15:08:06 | 只看該作者
ripper counter真不是個好主意, 不過要看應用, 在有些地方用時倒是好東東...
8#
發表於 2007-10-23 11:19:59 | 只看該作者
我很好奇某大大說的講義1 b1 H( ~7 b) t, @" R
給我看看寫什麼吧
9#
發表於 2007-10-23 20:26:00 | 只看該作者
我這裡有時鐘的電路圖..以送去CIC下線..可提供給大大參考看看!
10#
發表於 2007-10-30 01:52:19 | 只看該作者
我看一看那個問題,要我聯想到CODE,一時還想不起來,真是太久沒有寫程式哩!
/ h# d# |1 T4 [  P看到CODE,有一點恍然大悟的感覺,又接著看,害我也想看那份相關資料囉!!
11#
發表於 2007-11-9 14:57:32 | 只看該作者
BCD conuter 應該是對自己有所幫助
12#
發表於 2007-11-14 23:29:59 | 只看該作者
bcd counter對初學者的我而言真的好難
6 K) f0 M) M0 q; e' ]  }2 w謝謝小朱仔提供的code囉
13#
發表於 2007-11-17 16:58:54 | 只看該作者
大大別忘了給小朱仔 "感謝": C, G- Z1 ~9 k: U* k+ C

/ u  w& {. L/ w按評分, 就可以給感謝了....
14#
發表於 2008-2-22 17:34:54 | 只看該作者
Let see the shared material. THX.
15#
發表於 2008-4-24 07:28:10 | 只看該作者
幕讲义之名而来,呵呵勿见怪啦.                                              ( J. P9 {6 |3 v; j5 K. z
感谢
16#
發表於 2008-5-21 10:42:39 | 只看該作者

回復 3# 的帖子

感謝各位大大的資料 對初學者 真是受益良多
17#
發表於 2008-6-2 11:53:25 | 只看該作者
感謝大大的分享∼∼∼∼
' r8 g; w& @' g: a& i% h- A因為你的無私,讓大家能學到許多知識
18#
發表於 2008-6-2 22:10:25 | 只看該作者
我也想看看大大分享的講義~~* I: |% l1 N# P! _' _2 F
回覆來看看囉!!感謝蛤!!
$ J1 D2 o! s) Y" L- H因為我是初學而已!!
19#
發表於 2008-6-8 20:55:26 | 只看該作者
你是要畫電路圖的方式設計~
5 m& l5 {0 m- I+ L, P6 s$ W! d那畫畫卡諾圖不就好了.... 只是比寫CODE還要麻煩....
( Z; O( ]- s, c5 n因為要接邏輯閘!! - N: W' w8 _% m, T
用卡諾圖化簡!!
20#
發表於 2008-7-25 14:41:52 | 只看該作者
最近剛接觸這方面的東西3 H$ S" Q( {9 W
3 ~. `7 s2 X8 I6 _
剛好需要這些資料
$ O, a. [" ?: _# C1 A
! ]" |. P$ `  X; x$ V5 Y  y9 _4 _感謝分享!!!
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-15 01:37 AM , Processed in 0.129516 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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