Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2007-8-28 10:40:06 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
如題
! L# g4 M  |$ t5 m5 B6 d- _小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區( U$ D* w' {" ^! a. }
如果不是麻煩版主修改一下囉
' z3 j- D7 ?( j: ]4 ~  s! m* j0 J0 q4 e
目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一個0-5的記數器開始記數5 v8 Z$ f5 G% p
總之就是能夠記數0-59, 個位數記數0-9, 十位數記數0-5
2 K( w- m3 P7 o
( C' J, J* Q# e- ~$ }& B請問各位有人有設計過這樣的電路嗎? 或是要去哪裡找相關的資料勒?2 e$ a. ]; G+ [( c, ~2 }
謝謝!

評分

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

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂2 踩 分享分享
2#
發表於 2007-8-28 10:52:11 | 只看該作者
原帖由 monkeybad 於 2007-8-28 10:40 AM 發表 / D# Z( V/ _4 Y* H
如題: L/ V) w" @4 D2 c1 H  z& a$ G* c
小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區: i/ Y6 l+ m) D1 V: y
如果不是麻煩版主修改一下囉
, C- O; T+ M. e' g1 V/ k5 V" d- K& B* W: w  \
目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一 ...
) O3 y& I2 J7 ^6 T# N: I. E3 m
" O# Z# s, q- \% V+ G
大大您是要寫Verilog還是電路$ Z5 F" H2 I0 ^/ O$ ]
4 W* c- E! T& Y- a
先PO個RTL Code參考看看: d0 t7 s3 d8 q6 U0 E2 {5 s

) m: N( P+ ~! W' ]/ d7 p) T輸入:N clear load clk
! f, q8 L. M# s$ S! S1 |; k1 _輸出:count3 m/ R2 f" T( G! A4 H
+ |0 F5 q, {" X% R6 v
行為描述(依照優先順序)
% q& X( B: W7 X4 W- |0 C2 S, G1.如果clear為1,則輸出設為為0
" t( g- W0 b- S, X% W2.如果load為1,則輸出設為N% H3 d: j) B: E1 g- c5 o
3.每個時脈輸出遞增一次(BCD)
) }# W1 D% y+ r8 `( f
/ \  v% [7 F; C: u! C. j; v- p5 _% a# S. j6 k# d& M
, M6 C( b# e# c  ?7 D/ L2 b- F$ M
程式碼:
+ I5 I* _' r1 C( `3 QBCDcounter.v
, l7 o7 \9 ]" p7 m9 |* j8 D- U
: }2 z$ e9 o+ f6 j  |+ emodule BCDcounter(clear,load,clk,N,count);
7 w' ?% w6 c0 c9 Einput  clear,load,clk;  P) a1 d: D; w# l+ M
input  [3:0] N;
$ V4 C2 Z5 R3 C' }; woutput [3:0] count;& L! q. L3 J! Z) X; \; z
reg    [3:0] count=0;2 A' h) h9 G2 ^8 t  S2 y; u

- j6 c( O; V& q8 ]2 X( `5 Nalways @ (posedge clk) begin
5 e+ s8 e# d( ?4 [* e  if(clear)                 //clear=1  F* B  \5 Z9 t" R$ C6 U, \
    count=0;: D+ q- p/ C2 _
  else if(!clear) begin     //clear=0(共有0 1 X Z四種狀態)
: R0 P2 ^  B) h% m1 M    if(load) begin: W! Y! k$ H, {9 U4 D+ t
      if(N>9)7 ^0 q0 \) K" f7 a* g, f
        count=0;9 K) i2 }% ~; B5 ^9 _
      else; g1 k' J; Q3 C; j
        count=N;. r5 d/ }4 f/ G
    end
( |0 v- {9 v/ Z    else if(!load) begin/ |* L5 i1 R; b8 |8 S: X
      count = count+1;
8 _* `/ ~1 q1 g" i" K! P      if(count>9)
1 E0 f1 C+ Y# s8 k      count=0;* h  u* z1 o0 t% \$ Z1 l3 o4 |5 x
    end
& L% j) J  w1 ^# h3 A, a3 W  end7 i" l5 t" X8 `; ]9 K% l+ o
end0 ?0 p- P6 O* P) A
endmodule
# M/ D: @' J8 i/ J/ v, [- l) n4 s  M2 f. J/ P+ b  p% O- o# Y; B
bcdcounter_tb.v" ?' L( u! H( I: L
: h4 g! ~8 l# h; s, L, A
module bcdcounter_tb;7 K( x/ w( m- d) J; t1 J
reg clear,load,clk;( r$ W$ J' X7 T: c3 J2 _
reg [3:0] N;2 }# ]  [8 l0 u) |
wire [3:0] count;
# a0 R7 A, x7 a1 l+ t8 T) q
2 w# k! U4 h$ a$ hBCDcounter m1(clear,load,clk,N,count);$ `3 d+ k/ |7 @
" {$ G3 Y! X8 U  V( U4 \+ o$ ?
initial
+ w  J! t  X* \. L, H' mclk=0;, Z& N# q: r& _2 q6 S4 r

/ I2 `+ s$ u& s7 @+ Falways #2 clk=~clk;5 d9 \" E/ _5 Z1 R( {
7 f& B: m& G2 L: T
initial
+ [: @, R, O. o9 n0 b#160 $finish;
( e, Y( [) q) A, ^1 C5 Y6 H* P1 N6 l5 j/ |
initial begin- q$ A4 n! g5 N; M) W) X- M3 R% W
    clear=1;
  A2 N0 T5 [" ]" m0 u4 w3 j/ S#4  clear=0;
/ T% Y5 i# r% \# M3 ]$ v#90 clear=1;/ e5 w8 K& A8 d5 n
#3  clear=0;. ^0 s* O: ~) v4 @' R7 X9 ]5 O
end
! G! n8 N) U! I: B: [0 z# V( \2 ^* q. a7 K4 w; c( c" I4 V# i* p# _
initial begin- ~) y+ i' b7 w, b$ w3 o
     N=6;load=0;
/ J% v/ K, q$ ]9 v) e#58  load=1;
% s3 p" Z1 b5 e, G1 R, b#2   load=0;1 M0 u$ A* I5 q8 C* N8 X
#22  N=12;
/ O: _3 \* N1 c8 S% ?* |" j#40  load=1;) G2 K' n- N% G) u
#2   load=0;
% A( c9 ?! Y2 Gend
% A! |! T4 H) D& x! q0 E5 {. `! A: i: X+ [6 _% q3 j
endmodule

評分

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

查看全部評分

3#
發表於 2007-8-28 10:56:04 | 只看該作者
還有一份講義可以參考看看
' D' {8 V1 Q  W5 {希望對大大有所幫助
" k5 |4 i) A+ x$ G% [9 @8 ^7 @, w: s: e! `: Q+ ^/ a7 e

. ]2 l& ~) j% F" I* f, Z
" ]2 v8 X4 `# f7 z
遊客,如果您要查看本帖隱藏內容請回復

本帖子中包含更多資源

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

x

評分

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

查看全部評分

4#
 樓主| 發表於 2007-8-28 11:18:33 | 只看該作者
感謝小朱仔的熱心回覆
- i/ i( w) W/ K& w! ~/ s3 a% L" S不過我電路要自己畫 還有我不會用Verilog耶
" W* R# t3 a8 c3 M6 S6 p現在主要是要有電路圖 可以用Hspice模擬的那種
3 a( p9 Y  t2 p# p! q8 ?另外希望inverter越少越好 因為要求要省電! 還有要自己layout!0 U  A+ K( y- b9 [& j, {
) W) F. w* X6 T- x
樓上那份文件好像裡面有寫到 趕快研究一下! 感謝分享!6 r% q+ Q( C; \7 ~
" T" n- z# t) V6 S4 h7 J8 v
[ 本帖最後由 monkeybad 於 2007-8-28 11:23 AM 編輯 ]
5#
發表於 2007-8-28 16:05:34 | 只看該作者
你那個要自己動手畫CMOS電路吧...
" ?% W* Z- \, i5 D寫code習慣了, 真的很不想動手再做這樣的事, 不過推完booling equation後, 直接用Cmos畫出來不就好了???
$ @! [% X; W5 M* g沒錯吧
6#
 樓主| 發表於 2007-8-30 14:21:06 | 只看該作者
恩恩 不過booling eq好像是在推導一些輸入輸出的條件
8 n0 {: x1 }4 h* p; Q/ y' y6 h! V" L9 Q+ v+ l" `( v: ^
記數器參考一些資料後 找到一個用ripple counter下去修改的( V4 X: X9 Z2 W' O% _
ripple counter就是用負緣觸發的T型正反器串接在一起
2 c5 Q' b9 H; M. u* l5 e接著開始從0數到9 然後數到10的時候+ ]  x& N& V6 ^8 _
就reset重新從0在開始數
7#
發表於 2007-9-3 15:08:06 | 只看該作者
ripper counter真不是個好主意, 不過要看應用, 在有些地方用時倒是好東東...
8#
發表於 2007-10-23 11:19:59 | 只看該作者
我很好奇某大大說的講義
  s0 O$ b* ?/ m, `給我看看寫什麼吧
9#
發表於 2007-10-23 20:26:00 | 只看該作者
我這裡有時鐘的電路圖..以送去CIC下線..可提供給大大參考看看!
10#
發表於 2007-10-30 01:52:19 | 只看該作者
我看一看那個問題,要我聯想到CODE,一時還想不起來,真是太久沒有寫程式哩!+ g% b' y- I+ L+ A" {
看到CODE,有一點恍然大悟的感覺,又接著看,害我也想看那份相關資料囉!!
11#
發表於 2007-11-9 14:57:32 | 只看該作者
BCD conuter 應該是對自己有所幫助
12#
發表於 2007-11-14 23:29:59 | 只看該作者
bcd counter對初學者的我而言真的好難
) `8 q! o# D: V! v謝謝小朱仔提供的code囉
13#
發表於 2007-11-17 16:58:54 | 只看該作者
大大別忘了給小朱仔 "感謝"
, `0 q, O$ @* E5 T* ?8 o! h
6 c4 g+ d2 |! s$ v. i; J& \' b) a按評分, 就可以給感謝了....
14#
發表於 2008-2-22 17:34:54 | 只看該作者
Let see the shared material. THX.
15#
發表於 2008-4-24 07:28:10 | 只看該作者
幕讲义之名而来,呵呵勿见怪啦.                                             
$ o5 x2 S7 z- Q$ M% j感谢
16#
發表於 2008-5-21 10:42:39 | 只看該作者

回復 3# 的帖子

感謝各位大大的資料 對初學者 真是受益良多
17#
發表於 2008-6-2 11:53:25 | 只看該作者
感謝大大的分享∼∼∼∼
( \. }7 [8 n) K6 M, C因為你的無私,讓大家能學到許多知識
18#
發表於 2008-6-2 22:10:25 | 只看該作者
我也想看看大大分享的講義~~: v$ t/ B! ?6 ^4 x1 }) ]
回覆來看看囉!!感謝蛤!!
% C0 l2 j; U& W/ Y- A" G因為我是初學而已!!
19#
發表於 2008-6-8 20:55:26 | 只看該作者
你是要畫電路圖的方式設計~4 I) l/ w$ O( V  a( J
那畫畫卡諾圖不就好了.... 只是比寫CODE還要麻煩....
' i7 J. I7 J# M  \; Y因為要接邏輯閘!! # U5 k1 q- }6 s1 F8 x3 _- u
用卡諾圖化簡!!
20#
發表於 2008-7-25 14:41:52 | 只看該作者
最近剛接觸這方面的東西5 ?& H8 W: l6 ~# v, e* x
+ _! e% y5 H. Q" {
剛好需要這些資料
% d( ?7 H" q& L9 W. q
4 b+ L& B% f! N8 S感謝分享!!!
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-20 05:46 AM , Processed in 0.151020 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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