Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2007-8-28 10:40:06 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
如題9 k* f7 Q' t$ L( d; f5 F
小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區
& b7 n; M+ j9 a( P如果不是麻煩版主修改一下囉
+ S. a: }8 ~4 d7 v; c- j% C! d, T+ W) h- }# R; @5 u2 V: R
目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一個0-5的記數器開始記數
0 [' k) O! @! I1 L* w* C總之就是能夠記數0-59, 個位數記數0-9, 十位數記數0-5/ h3 [5 x% J. S+ M
- Z0 u) |, t( `1 w' b; B
請問各位有人有設計過這樣的電路嗎? 或是要去哪裡找相關的資料勒?$ P/ U* R1 H$ M% a6 ^
謝謝!

評分

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

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂2 踩 分享分享
2#
發表於 2007-8-28 10:52:11 | 只看該作者
原帖由 monkeybad 於 2007-8-28 10:40 AM 發表 6 T4 Z" H3 l! V3 h! B
如題
$ i4 j5 }/ k+ ?2 V( l" j小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區. R! n/ W2 ]5 U& m/ Y
如果不是麻煩版主修改一下囉( Q. {: x* }; A( d4 i1 h( h
4 K3 p* K' J8 B9 J
目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一 ...

; T4 t" m) S" f% f  D* m
: u- C, ^* X- P0 U大大您是要寫Verilog還是電路7 N$ G6 T: M& W" c0 r
9 s+ g) R, @, s  @1 t4 {: U5 W3 ^
先PO個RTL Code參考看看
3 ~  z0 A+ Z  o9 F2 \' R3 @$ e% i: `- l3 a# f: y
輸入:N clear load clk
# k0 J7 Z2 A( `% K輸出:count4 \* j# v6 H6 @! _& @3 u3 v
" U9 O, h1 c/ j! J2 r
行為描述(依照優先順序)/ ^5 p$ b9 ]9 g8 a, W" M
1.如果clear為1,則輸出設為為0' @6 j6 _9 {% Z5 K1 v. t0 Z
2.如果load為1,則輸出設為N5 J6 P/ ?4 M' d+ m+ x2 G9 u" E
3.每個時脈輸出遞增一次(BCD)0 t( w2 r( N% d5 @; q4 c/ }0 e

3 ^+ |) G3 t7 B1 B2 F
( g4 o: @3 i3 J' B
, e$ {7 k" A" ?6 k9 A  _) J, D; ]程式碼:
* [: h( ^) o2 ~- ]* ?/ dBCDcounter.v0 I: B, p$ B6 X4 a7 M2 A

, B0 X9 ^, H1 K4 tmodule BCDcounter(clear,load,clk,N,count);
( Q* V$ b" f5 q; [) `input  clear,load,clk;& ^( x/ k7 h0 D& `. ?, [+ m
input  [3:0] N;( Z* x1 F2 i! N/ H0 m: Y7 O& Z. k
output [3:0] count;
1 g1 f9 P& \# B) Y2 Z* U: dreg    [3:0] count=0;
& Z5 U  {% P, D& O) N7 @2 O1 k0 v: B9 B( W  m9 \
always @ (posedge clk) begin% }* y* R% o2 m) S' A) [  X4 l
  if(clear)                 //clear=15 ~3 Z5 s9 P$ H0 Z
    count=0;1 i& L9 N0 V9 u* P6 [
  else if(!clear) begin     //clear=0(共有0 1 X Z四種狀態)9 t' \' ^" p3 C# K' i# l
    if(load) begin9 r/ A) i  ]- b5 I
      if(N>9)
( y" v4 I3 |4 I: V        count=0;
5 N7 e+ y3 f* G6 q  Z      else
: u: M, P4 @; }        count=N;$ G* u& E, x7 x( \9 \
    end
2 o! _  y* K$ s/ }. F' R+ b    else if(!load) begin
2 }, x. o6 Q, K+ Z* K      count = count+1;
  X1 v. H- t+ v5 H2 J      if(count>9)
* N* R3 n( D5 ^) B, Z7 p' l$ u      count=0;5 ~4 D' y' c/ s1 B- ?3 n3 j' ?( m
    end
& n# H: J1 [0 ^/ R* N) k# ~  end+ C! J  X; Y% M$ o) V
end
6 H/ W9 p$ B0 y; aendmodule! W! C7 u/ D2 j% Z1 Q$ j

+ m, }0 z$ J0 d/ r$ y7 `$ f! D" Sbcdcounter_tb.v
4 n; x1 m) C9 b; [  a5 p( k9 S3 ]2 Z1 j$ `: l0 a/ I
module bcdcounter_tb;" e+ N& x  ~: V  l" Q
reg clear,load,clk;
% k8 `1 ]8 A' P$ d. s# Z5 yreg [3:0] N;. \4 E, E. ~: H. P% Z$ t% A
wire [3:0] count;* y- s& b# V! \% C

4 H) U) t3 [/ k1 OBCDcounter m1(clear,load,clk,N,count);
9 r1 F; W) Z, ^+ K  M" w& s& `) h4 g
initial  ~. _% T. m/ o/ X8 C
clk=0;
  a: n' n8 p  W: L3 i& N9 l0 P7 K# o- u, p5 K+ T$ M4 ]  P! D$ ?! @( p
always #2 clk=~clk;
  v1 f+ e  _  ~8 V# o5 ^
/ t2 m- S! g* u* U; d6 hinitial
* h6 ^) E% G+ l# f#160 $finish;
. n% v2 j" G' [: L7 k$ b) h2 I* f' \- k
initial begin
4 k2 |* V/ J/ T/ s* z; `% [* ~1 f& ?- K/ r    clear=1;
& G- G3 N0 D3 A. P" E#4  clear=0;
6 e3 E0 q. c# ^& j  ~#90 clear=1;- a. ?3 O7 G- p$ ^. y  e7 P
#3  clear=0;5 |# Z+ Q$ L' a2 c6 {) u9 r# ~+ a
end
9 F& f( m; p6 V
0 W, Z2 c9 d; o. V5 Hinitial begin
2 M9 ~5 F+ \4 W: `+ ]. n# @     N=6;load=0;$ w+ R" {. O/ G+ ~6 w
#58  load=1;" a$ f8 G& s, J: t
#2   load=0;# n7 a+ Q! ~0 M" J2 @
#22  N=12;. S% w8 |: n. M  E  l
#40  load=1;
$ X$ s# y' ^7 P7 L4 `8 b, q#2   load=0;! A$ [- f6 a! ~& t0 X* p
end: L# x) l/ G; W& b
& ?/ H3 @6 t; @. ]
endmodule

評分

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

查看全部評分

3#
發表於 2007-8-28 10:56:04 | 只看該作者
還有一份講義可以參考看看/ v0 H3 ~+ P/ v& S
希望對大大有所幫助
+ M" N9 v% f8 t" Y' V" O
5 B$ B6 o$ w" j6 ~
1 @$ K& V% I5 |' |" I' m7 U' m5 E9 i$ ~- [
遊客,如果您要查看本帖隱藏內容請回復

本帖子中包含更多資源

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

x

評分

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

查看全部評分

4#
 樓主| 發表於 2007-8-28 11:18:33 | 只看該作者
感謝小朱仔的熱心回覆( K) A( |  l% Y3 O- ]
不過我電路要自己畫 還有我不會用Verilog耶6 V( l% l( \( Z, e% V- f' x, f2 N
現在主要是要有電路圖 可以用Hspice模擬的那種9 x! P4 e# m  r0 Y8 C! E0 ^' B2 Y
另外希望inverter越少越好 因為要求要省電! 還有要自己layout!& f8 `' _: g' S5 Q; e! n

  J; P; G+ Q  \$ r6 e樓上那份文件好像裡面有寫到 趕快研究一下! 感謝分享!
* \4 e- t& V0 \: P7 x5 S7 v; B) z/ Q, W6 x! X" y) d; |
[ 本帖最後由 monkeybad 於 2007-8-28 11:23 AM 編輯 ]
5#
發表於 2007-8-28 16:05:34 | 只看該作者
你那個要自己動手畫CMOS電路吧... ; g9 r4 ~- R0 x8 `( }1 p, x5 x
寫code習慣了, 真的很不想動手再做這樣的事, 不過推完booling equation後, 直接用Cmos畫出來不就好了???
4 x9 i% d& M5 ], |  L沒錯吧
6#
 樓主| 發表於 2007-8-30 14:21:06 | 只看該作者
恩恩 不過booling eq好像是在推導一些輸入輸出的條件
' w8 {; l8 _: ^7 p0 I
2 t) y+ L9 c+ r, m( k0 W記數器參考一些資料後 找到一個用ripple counter下去修改的
6 }: r/ W2 d5 _9 Nripple counter就是用負緣觸發的T型正反器串接在一起 / `5 {; X( G- I: ]
接著開始從0數到9 然後數到10的時候8 O! ^+ z9 J! @0 O4 k
就reset重新從0在開始數
7#
發表於 2007-9-3 15:08:06 | 只看該作者
ripper counter真不是個好主意, 不過要看應用, 在有些地方用時倒是好東東...
8#
發表於 2007-10-23 11:19:59 | 只看該作者
我很好奇某大大說的講義3 X6 `4 u3 \8 e7 C5 j$ M% e
給我看看寫什麼吧
9#
發表於 2007-10-23 20:26:00 | 只看該作者
我這裡有時鐘的電路圖..以送去CIC下線..可提供給大大參考看看!
10#
發表於 2007-10-30 01:52:19 | 只看該作者
我看一看那個問題,要我聯想到CODE,一時還想不起來,真是太久沒有寫程式哩!8 Z8 a, I) H' Y0 y  g! i- Y
看到CODE,有一點恍然大悟的感覺,又接著看,害我也想看那份相關資料囉!!
11#
發表於 2007-11-9 14:57:32 | 只看該作者
BCD conuter 應該是對自己有所幫助
12#
發表於 2007-11-14 23:29:59 | 只看該作者
bcd counter對初學者的我而言真的好難
7 E( m( Q6 \; ?' I/ ]; I謝謝小朱仔提供的code囉
13#
發表於 2007-11-17 16:58:54 | 只看該作者
大大別忘了給小朱仔 "感謝"
4 c. q( d8 Y2 x1 x4 H% s, F, G% ]) h/ i1 z- m
按評分, 就可以給感謝了....
14#
發表於 2008-2-22 17:34:54 | 只看該作者
Let see the shared material. THX.
15#
發表於 2008-4-24 07:28:10 | 只看該作者
幕讲义之名而来,呵呵勿见怪啦.                                             
5 J* |  q" I% g6 u! h感谢
16#
發表於 2008-5-21 10:42:39 | 只看該作者

回復 3# 的帖子

感謝各位大大的資料 對初學者 真是受益良多
17#
發表於 2008-6-2 11:53:25 | 只看該作者
感謝大大的分享∼∼∼∼
8 q2 D3 ^# `# j$ q因為你的無私,讓大家能學到許多知識
18#
發表於 2008-6-2 22:10:25 | 只看該作者
我也想看看大大分享的講義~~! C4 n9 H; ~- u) _' J4 \
回覆來看看囉!!感謝蛤!!
: q6 m( I  H9 X5 t; a因為我是初學而已!!
19#
發表於 2008-6-8 20:55:26 | 只看該作者
你是要畫電路圖的方式設計~
/ E, Z: G& E2 n8 t( N# s; e那畫畫卡諾圖不就好了.... 只是比寫CODE還要麻煩....
! m* U: X' Y% J2 \因為要接邏輯閘!! , P. i) L( D$ X" w  ~6 Z
用卡諾圖化簡!!
20#
發表於 2008-7-25 14:41:52 | 只看該作者
最近剛接觸這方面的東西
0 I: o; t' @$ X# q; F: ^8 w* I3 R' |
剛好需要這些資料
, F$ U- y2 d! V: [/ ]/ i" G+ J5 V# E) q
感謝分享!!!
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-17 11:27 AM , Processed in 0.142519 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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