Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2007-8-28 10:40:06 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
如題8 Y$ n6 t4 f" ~
小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區
1 H# n2 Z$ `& ^2 l5 H如果不是麻煩版主修改一下囉
7 j4 S+ Z) ?+ B; K) k9 i- y/ [, ?- V2 _4 Y
目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一個0-5的記數器開始記數
* s* f, A9 t% N( y, F3 p總之就是能夠記數0-59, 個位數記數0-9, 十位數記數0-5% r# U7 ^% }& r2 H+ Z
0 u; b0 I! g6 P2 a
請問各位有人有設計過這樣的電路嗎? 或是要去哪裡找相關的資料勒?& F) _8 x& e) x0 z/ L4 l
謝謝!

評分

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

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂2 踩 分享分享
2#
發表於 2007-8-28 10:52:11 | 只看該作者
原帖由 monkeybad 於 2007-8-28 10:40 AM 發表
: a5 O% C; b' h* h如題
" Y9 O. G" K( W8 d& I小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區* X6 y/ y. X. m. t4 M1 y
如果不是麻煩版主修改一下囉
, b5 s. Y, f& }) @( b, ^9 G" s: P+ ]
目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一 ...
# {. n4 D9 _9 w, m1 _; P3 F

. y( o1 E& T( F8 i9 B( Y大大您是要寫Verilog還是電路
  H% r! q( @( k+ r0 {& C4 Y& C- S/ c4 e( Y* ?! b$ A7 y
先PO個RTL Code參考看看
0 o8 H- ?6 F" x5 F
! F& m3 ~3 b4 n輸入:N clear load clk, u  Y) j; Z! Z5 g- ~) O2 p
輸出:count
9 T& [4 C. j0 t$ y8 R: \8 n% k# T) L  Y) ^: e
行為描述(依照優先順序)
( I( k3 `8 A; s9 ~6 `1.如果clear為1,則輸出設為為0
9 Q/ I0 I, T8 \* O, W; P9 I2.如果load為1,則輸出設為N1 c  x0 O* G( N$ ~
3.每個時脈輸出遞增一次(BCD)2 }; H9 m. M( f% t
  w, X" F" M8 H$ N" t
1 q4 T( e6 t' D2 |
. T9 a9 ~6 S1 v4 K1 H" T
程式碼:' m" S3 d6 w: j* h
BCDcounter.v
, s' g) d% q2 A5 b
( Q' [. R& v) B: ~; f: g3 Lmodule BCDcounter(clear,load,clk,N,count);; Z2 M) ?1 R& @5 t
input  clear,load,clk;' `/ [1 t/ e+ G8 |
input  [3:0] N;) F1 [$ ?; a% k  V3 ~5 T
output [3:0] count;
! W1 c; [! l* c) R7 i* Oreg    [3:0] count=0;
5 J& e6 o8 N0 w- ~' W
) @/ U- p" u( K; L7 x, oalways @ (posedge clk) begin
( T% X. P; X1 j1 Z  if(clear)                 //clear=1$ L8 Z6 T3 V1 D+ F' }+ }6 _
    count=0;
4 J# f0 ?: ?- _, [  else if(!clear) begin     //clear=0(共有0 1 X Z四種狀態)
# s# m4 Z1 v  ]3 H# u* A    if(load) begin  z4 A! H2 u5 J0 q* z+ D6 ]
      if(N>9)
- G6 F' |4 s; ^        count=0;
+ \* h3 A: y$ w4 g      else
5 h* Z0 Q# A% U3 z        count=N;( X. I) \7 s' G9 v) z+ L  h4 Z
    end
2 w; c2 V0 f$ j; l    else if(!load) begin
  `* B( ^0 o. R" A' A      count = count+1;
& [1 T9 v" a: {- N      if(count>9)
' f* x0 X" T' u7 S9 h  q% g( J/ O      count=0;# o# [. \( H' y, E) C; V
    end6 s, D' F9 W5 Z7 m0 M: p( m* k+ o" q
  end
& ~9 O- W* _- c- ^) R0 `* @. Eend
2 F7 S# G5 b) L6 o2 z; r1 f4 w7 q" |endmodule
% {& t: f0 y5 c0 G$ t
/ `" D; i7 D1 v" Z5 U, o7 X. L" Ebcdcounter_tb.v
# K1 \! _/ S* `( }& s2 x6 I& @0 q  ~- a0 C0 A) D3 T+ V7 R' |- V7 y% Q
module bcdcounter_tb;% y( S' Q: Z- m# n% D
reg clear,load,clk;+ D" i; W* H, I0 a5 L$ c% W
reg [3:0] N;+ S0 ~- w( w. K- l. R7 L5 {+ `
wire [3:0] count;7 l- R/ {- }5 C* N# A
# N0 r* {: J. {8 ~, C* o, I* A) U
BCDcounter m1(clear,load,clk,N,count);
0 {( d1 H) w2 B8 b  E& k1 s2 Z& v# t% H1 F
initial
- I- k  t3 E" ?6 O5 Iclk=0;
( a1 K4 e$ J: O' R# r/ c' @" n* ]4 s
always #2 clk=~clk;
/ ~6 H; ^% I* o9 e/ _. t$ l4 f% W: t
initial! A7 E$ O* @: A$ ]: M
#160 $finish;1 m& Y; D4 G1 c" {8 m# |
5 A( F/ X( _7 ?2 \% I8 ~) B+ c& W7 i
initial begin- G' u$ m9 s( C" t$ T8 U$ M7 n0 [
    clear=1;# b( V: \7 e* Q+ I
#4  clear=0;
/ |, F5 {0 v* ~" T* O+ V#90 clear=1;, Q% S% \- |3 \+ m( _3 {3 V
#3  clear=0;4 _, a2 Z- y' t$ c
end( V8 n- h1 s5 }1 Y5 A7 U* F
: A% y# L% k4 g
initial begin' S7 ~) _2 d% }
     N=6;load=0;
6 y' L8 q, k7 M#58  load=1;2 n1 p" {& m  @) D
#2   load=0;
2 X/ n- M- T& h4 B#22  N=12;9 q4 g8 o' U! ?1 Q
#40  load=1;
8 w5 c( ]  F4 r8 ]' j$ U# n#2   load=0;3 A% F7 D* z& x) y7 `
end) J/ ^2 q' t/ ^. `

6 Q3 J: V3 u% C! t9 v  iendmodule

評分

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

查看全部評分

3#
發表於 2007-8-28 10:56:04 | 只看該作者
還有一份講義可以參考看看
7 p& {" c' j! h6 P2 w/ |希望對大大有所幫助1 D7 H- Z; K2 i2 o7 N
! g) u7 j6 }; o& q: O+ ^& l/ k
: q/ s& ^! z) J: a  S7 E
4 k9 I" g" u3 a7 [6 h
遊客,如果您要查看本帖隱藏內容請回復

本帖子中包含更多資源

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

x

評分

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

查看全部評分

4#
 樓主| 發表於 2007-8-28 11:18:33 | 只看該作者
感謝小朱仔的熱心回覆$ u! x4 C9 ]# T+ W* z
不過我電路要自己畫 還有我不會用Verilog耶4 F3 H8 ~2 u- I8 I% l3 o6 P9 v  a
現在主要是要有電路圖 可以用Hspice模擬的那種
5 ]! h4 D+ [2 T* V8 i( D另外希望inverter越少越好 因為要求要省電! 還有要自己layout!4 H, |* d/ l; q

7 z9 z' B) N$ w: n' q樓上那份文件好像裡面有寫到 趕快研究一下! 感謝分享!5 D. T. z: y+ V

8 e9 h# _: t- E. S" J+ N+ o- J[ 本帖最後由 monkeybad 於 2007-8-28 11:23 AM 編輯 ]
5#
發表於 2007-8-28 16:05:34 | 只看該作者
你那個要自己動手畫CMOS電路吧...
0 E$ e9 S2 }' N7 K$ F: _1 Q, P寫code習慣了, 真的很不想動手再做這樣的事, 不過推完booling equation後, 直接用Cmos畫出來不就好了???% Q8 R  Q# a' _8 L6 c
沒錯吧
6#
 樓主| 發表於 2007-8-30 14:21:06 | 只看該作者
恩恩 不過booling eq好像是在推導一些輸入輸出的條件% t3 F8 W7 G4 ]+ H$ b

0 Q! A- @( Q: A# o/ w記數器參考一些資料後 找到一個用ripple counter下去修改的4 ~* n+ I- l+ w+ }5 b8 y
ripple counter就是用負緣觸發的T型正反器串接在一起 7 Y& D1 i/ V! P5 I8 D
接著開始從0數到9 然後數到10的時候
: M! q& Z, M, C# q' t6 `% U6 L" I就reset重新從0在開始數
7#
發表於 2007-9-3 15:08:06 | 只看該作者
ripper counter真不是個好主意, 不過要看應用, 在有些地方用時倒是好東東...
8#
發表於 2007-10-23 11:19:59 | 只看該作者
我很好奇某大大說的講義
+ D8 S' u0 {" F/ C5 b" ?給我看看寫什麼吧
9#
發表於 2007-10-23 20:26:00 | 只看該作者
我這裡有時鐘的電路圖..以送去CIC下線..可提供給大大參考看看!
10#
發表於 2007-10-30 01:52:19 | 只看該作者
我看一看那個問題,要我聯想到CODE,一時還想不起來,真是太久沒有寫程式哩!
$ s6 t% f0 J$ E8 E$ [3 O6 f看到CODE,有一點恍然大悟的感覺,又接著看,害我也想看那份相關資料囉!!
11#
發表於 2007-11-9 14:57:32 | 只看該作者
BCD conuter 應該是對自己有所幫助
12#
發表於 2007-11-14 23:29:59 | 只看該作者
bcd counter對初學者的我而言真的好難0 _& r- J: M3 l7 c  x6 Y
謝謝小朱仔提供的code囉
13#
發表於 2007-11-17 16:58:54 | 只看該作者
大大別忘了給小朱仔 "感謝"5 [4 r$ P( ?2 Y3 u5 L1 D
+ [  |7 }& j5 a0 u$ I
按評分, 就可以給感謝了....
14#
發表於 2008-2-22 17:34:54 | 只看該作者
Let see the shared material. THX.
15#
發表於 2008-4-24 07:28:10 | 只看該作者
幕讲义之名而来,呵呵勿见怪啦.                                             
9 Q# v$ G+ @" C感谢
16#
發表於 2008-5-21 10:42:39 | 只看該作者

回復 3# 的帖子

感謝各位大大的資料 對初學者 真是受益良多
17#
發表於 2008-6-2 11:53:25 | 只看該作者
感謝大大的分享∼∼∼∼$ ]! ?6 w& B4 s$ g7 g; ^. _2 O
因為你的無私,讓大家能學到許多知識
18#
發表於 2008-6-2 22:10:25 | 只看該作者
我也想看看大大分享的講義~~
  G- v6 k0 o' O: L. B回覆來看看囉!!感謝蛤!!
+ v4 p6 c( Z" O) T9 V! @' F因為我是初學而已!!
19#
發表於 2008-6-8 20:55:26 | 只看該作者
你是要畫電路圖的方式設計~1 j' ?3 q/ F7 k* k+ B% B+ W! L# S
那畫畫卡諾圖不就好了.... 只是比寫CODE還要麻煩....
: K  U8 O8 U8 `' B* s. {! R因為要接邏輯閘!!
5 I/ |# @+ G2 s$ U3 p用卡諾圖化簡!!
20#
發表於 2008-7-25 14:41:52 | 只看該作者
最近剛接觸這方面的東西5 w# M4 t2 {2 p" T3 H8 {

5 d7 Y" P7 ]3 p4 O: j& T6 S/ p. @: r剛好需要這些資料$ |& [- `4 I/ X1 z1 `; F8 A. \

4 P$ V! I/ q% C5 H; s9 ]. J感謝分享!!!
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-14 11:12 AM , Processed in 0.143008 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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