Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2007-8-28 10:40:06 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
如題/ G* T) i" _1 _
小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區6 Z- k7 x" u- ^* r
如果不是麻煩版主修改一下囉, `  U) |: K, F1 F0 g

2 G7 _% O% y6 l1 p目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一個0-5的記數器開始記數
5 D" c6 b$ C4 c5 s) `& t總之就是能夠記數0-59, 個位數記數0-9, 十位數記數0-5
: K8 @: z5 T5 E8 x, r9 f" \
5 Z+ J5 U. `$ B- ~請問各位有人有設計過這樣的電路嗎? 或是要去哪裡找相關的資料勒?
5 k7 d/ P% {/ L# a* O" z* n! {" Y$ i9 i! _謝謝!

評分

參與人數 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) V2 p/ j# J- h3 G1 C, E5 m
如題* \8 V4 @* G8 S# q/ u
小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區9 A8 Q6 J3 y1 }* H( w0 N
如果不是麻煩版主修改一下囉
% u1 ~$ l' L: p/ m7 U6 r0 X5 K% T
$ h  R0 |1 o" K! t0 k: n; u( b- O目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一 ...
9 ^, A/ a% L1 m, R' D) b
# Y8 U  D. ]1 K; Y1 O1 l6 z
大大您是要寫Verilog還是電路. V* y' x5 V3 c6 ~: B6 L

' N+ q, y& w+ d0 b' e先PO個RTL Code參考看看8 l4 U3 C# ]' N. B
2 m' b( m( Q" ]+ k
輸入:N clear load clk5 J$ u+ c- j) q/ x
輸出:count* i' |/ T# I/ `# `0 c8 f1 ^
9 @8 E9 x+ R! ^& g) q
行為描述(依照優先順序)
8 j: E( W% Y& y3 G! _: Q2 X7 r9 |# @1.如果clear為1,則輸出設為為0
, p/ l( L* g! m* p# o2.如果load為1,則輸出設為N
/ R( F& J" P" f* {9 D( o3.每個時脈輸出遞增一次(BCD)9 s" p- p& N" ]$ a: y& y

& m7 r$ R- w0 h, x+ \0 W. y; X5 L
/ i. y- ]* N4 U& @" Z8 M; h" Z* D5 L# J  v' {6 k$ I
程式碼:# Z  f+ k8 G4 f' Q8 c: h3 m8 N
BCDcounter.v" Z; m' O4 j7 w1 R! R1 L  ^
% s( @$ f- c6 {( s9 x. g$ b
module BCDcounter(clear,load,clk,N,count);
& r8 E$ C5 c2 q- Rinput  clear,load,clk;$ c" b, E5 X; h* U- P8 Q; R
input  [3:0] N;
% g- I  L% F  P; w# n' [output [3:0] count;: [  G* r4 Y& s* v/ j1 R  J0 x
reg    [3:0] count=0;
8 v1 ]4 u0 c, R7 p. h9 w
* \1 O% e# _  W7 |! U' ?. H" qalways @ (posedge clk) begin+ H$ b; g3 t4 j, D2 `
  if(clear)                 //clear=1$ A2 L. I7 n$ C" _0 [
    count=0;+ f, J' L' H5 O- J! a
  else if(!clear) begin     //clear=0(共有0 1 X Z四種狀態)
2 x, ?: Q' e3 ^    if(load) begin' f' ~, G5 n% n6 Y5 s
      if(N>9)
3 @' R: s' j% I5 f) h        count=0;9 ~9 f: _' c. A5 m% ~- h1 S3 W6 G
      else
$ Y1 A" R: P7 o' _  `  [        count=N;
4 n3 I: I( e* h, D7 C    end; m/ `4 j$ L4 x9 T4 H  s
    else if(!load) begin$ O# v8 y8 u7 \8 O. a- y( e4 ]* K+ f. F
      count = count+1;
& O; w9 R, b( U. `! T% i8 ~      if(count>9)3 E1 G* `. h1 U% \+ T. X" r# D
      count=0;
5 z, E! F  r  `* t9 r0 I% U    end2 h$ i' P0 B5 x6 Z4 b
  end
/ R* d4 W+ i2 t1 |+ tend
* k; e; \6 B% gendmodule% O" f0 @. I  H; p/ S8 f
1 Y% q) R9 d3 T3 g9 ?& {% V# b
bcdcounter_tb.v6 ^4 p8 J; D+ H7 g

7 m" d  m# b# Y8 A- Z! Rmodule bcdcounter_tb;* X, z6 T' J2 f: w9 b* }
reg clear,load,clk;
5 Z" F, ^6 Y9 `1 ?0 j2 e6 d4 areg [3:0] N;, u; q- n# u4 T9 y2 _3 P% N
wire [3:0] count;
3 v3 C+ h. {! f3 w3 X+ [- |) v
3 r6 W* \& J; s9 ~7 R# b, zBCDcounter m1(clear,load,clk,N,count);
+ u0 k/ j! Y" {+ d* f% ~+ @' `% |
initial, ^+ T+ R- G, y0 @: `
clk=0;. U; I% W& \; @
# c% `5 @& r( e! h+ }
always #2 clk=~clk;
  p% v4 {! D' Q& S: M$ x7 @3 {. C2 k# H' j  W9 E- Y
initial. ^$ ^9 g/ l7 w- }6 ^+ |+ P3 I3 S
#160 $finish;6 e  [& P$ T# v1 F1 r% ]9 ?

: v8 |, Y, Z5 ^' ~2 {! Qinitial begin
: x. T/ C  L! Q8 B" m9 P    clear=1;: b. `* r* z' {, \2 R% m6 h& l( V+ J
#4  clear=0;4 |8 i3 g+ W. x2 y$ p+ o( H3 Z! S
#90 clear=1;
2 @- j% p5 B$ K9 \, K" f% {#3  clear=0;
$ D9 m! u8 ]1 t; t! Q2 Fend: E1 _: {3 j9 f# t4 ?, Y  ^
, X1 d/ k3 f' i) m
initial begin
2 @9 k% Y( P" T' b     N=6;load=0;3 y9 r  G$ j; a( V2 Y
#58  load=1;7 T3 M! j1 {5 K4 ~6 k7 s7 t
#2   load=0;' u- z1 P- D5 ^' x# Q# D
#22  N=12;
$ e& Q9 ~+ K9 }( X9 n0 t) w#40  load=1;
1 l( c: n0 ?4 H#2   load=0;
3 d+ M  _; G$ Y, lend
7 ^, X2 S% u0 K1 r3 O$ R0 H3 t- T/ o* N; @
endmodule

評分

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

查看全部評分

3#
發表於 2007-8-28 10:56:04 | 只看該作者
還有一份講義可以參考看看
! V4 X0 R% B1 ]0 ?' d+ o希望對大大有所幫助+ ?2 ~1 u  B: D; {3 D. D& B" @

3 n7 A4 Q0 J! N- L: l* G + X6 p) _* h9 _' ~+ c7 W: w
6 \" u8 y1 V! ]. o
遊客,如果您要查看本帖隱藏內容請回復

本帖子中包含更多資源

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

x

評分

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

查看全部評分

4#
 樓主| 發表於 2007-8-28 11:18:33 | 只看該作者
感謝小朱仔的熱心回覆
: s1 S8 B1 L& ^5 x, c不過我電路要自己畫 還有我不會用Verilog耶, R3 \% I! H8 L- G# c% D5 ^
現在主要是要有電路圖 可以用Hspice模擬的那種
; S3 Z* n+ R: C7 ^% i5 f0 w- ^另外希望inverter越少越好 因為要求要省電! 還有要自己layout!- U/ J2 N( l8 C: I, q6 S$ i  i5 u

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

回復 3# 的帖子

感謝各位大大的資料 對初學者 真是受益良多
17#
發表於 2008-6-2 11:53:25 | 只看該作者
感謝大大的分享∼∼∼∼7 u. E9 P7 w5 R  R& n
因為你的無私,讓大家能學到許多知識
18#
發表於 2008-6-2 22:10:25 | 只看該作者
我也想看看大大分享的講義~~3 d. H& J9 n- U6 Y- O! v
回覆來看看囉!!感謝蛤!!
$ P' f' S. ^7 X1 u因為我是初學而已!!
19#
發表於 2008-6-8 20:55:26 | 只看該作者
你是要畫電路圖的方式設計~2 D" M5 B0 r6 `. X
那畫畫卡諾圖不就好了.... 只是比寫CODE還要麻煩....
, @; |/ F) w( I: h) J8 |1 J因為要接邏輯閘!! 9 }7 K# q- x- x: u# l5 j" g
用卡諾圖化簡!!
20#
發表於 2008-7-25 14:41:52 | 只看該作者
最近剛接觸這方面的東西
/ C3 m' o. [" ?9 o# |" Z7 c' a- j- l1 Z4 B5 ^
剛好需要這些資料* j+ Z/ u4 s/ K* d/ ]' d
  V6 @& P+ T: G
感謝分享!!!
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-19 11:36 PM , Processed in 0.130517 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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