Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2007-8-28 10:40:06 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
如題
  \$ @* {, P) J* u* @小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區7 N- V/ v  M) ^8 ?4 n/ K
如果不是麻煩版主修改一下囉
' F, G* y  O; x9 d7 i% F- n& f0 |6 |" R$ P
目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一個0-5的記數器開始記數
! \5 W) ^" ]) f6 ~; T. f總之就是能夠記數0-59, 個位數記數0-9, 十位數記數0-56 |7 N2 O% q9 f( o, U3 A9 n- R
) t# n! d: F! u5 [5 y5 o$ z+ @/ j: g
請問各位有人有設計過這樣的電路嗎? 或是要去哪裡找相關的資料勒?
7 t0 N/ E% B  h) y謝謝!

評分

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

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂2 踩 分享分享
2#
發表於 2007-8-28 10:52:11 | 只看該作者
原帖由 monkeybad 於 2007-8-28 10:40 AM 發表
) V1 G7 m5 b- G% ^如題/ ^  ~2 K7 A" v& e" l
小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區
5 C. ]  L; a9 w- E如果不是麻煩版主修改一下囉0 q& i- ^7 Y% w: v

% a; t8 M! p& i8 Z% l) |目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一 ...
0 E8 u! H$ [5 Z/ F8 I/ j7 `
# z% s3 s& A5 _6 a4 L* z7 ]
大大您是要寫Verilog還是電路
* o; ~$ Y5 i0 D9 m5 s, X1 q1 L- d
先PO個RTL Code參考看看
7 q: J" Q! f6 A* n/ w  N6 k5 Q0 ?' r; b2 Z
輸入:N clear load clk; V: p( S1 J1 Y
輸出:count
* x2 H" l& ?7 M2 Y! z5 J: b
2 v: S1 m% {5 _# c1 l$ p. {6 o行為描述(依照優先順序)
& r# k+ m# H" \$ f1.如果clear為1,則輸出設為為0* b0 a) ~% r& ]$ h" n) M7 i  ]
2.如果load為1,則輸出設為N
& L+ c  L, T" g( `% Q3.每個時脈輸出遞增一次(BCD)% w, N/ z0 `& q+ d( X4 G, v- ~$ O
6 g- ~# L+ O5 U% h5 S# G
3 `; U* l. A; T  m! r
; n' p, l% ?; D3 q. o  g0 ~
程式碼:
" R2 Y, w  ^- n, p( ^) T) WBCDcounter.v3 C$ }7 \% Y# f+ k( c

4 b! ^* J7 R' xmodule BCDcounter(clear,load,clk,N,count);  ?7 ~  D* [8 q
input  clear,load,clk;4 h2 v+ v& G6 G) A; e  l( T' \/ o
input  [3:0] N;
& ]' N- n* U/ M3 Noutput [3:0] count;
# F* Z5 R3 f; jreg    [3:0] count=0;3 r5 R; ]/ n0 o, ~, ~

: e. M- q' Y) M# r3 Halways @ (posedge clk) begin
9 I/ n" K5 r: Q" k  if(clear)                 //clear=12 s( }9 M* j1 l8 m" {; L
    count=0;
4 d" s+ o( S# t7 j% L" ?3 {; m6 J  else if(!clear) begin     //clear=0(共有0 1 X Z四種狀態)  d1 b: ~1 H: I8 B, `; y6 r
    if(load) begin
6 c: T. r9 U6 m8 U, U) r      if(N>9)
" A: q) P  j& l* X4 v' A        count=0;" H! H, t5 `& A$ l$ _# l; K8 y
      else6 s) L: R3 l( [7 k
        count=N;7 y0 I) q: A  Y1 k5 |, l' m
    end
% K: }+ L* {! k* P: L    else if(!load) begin
+ f2 y$ l. \; u) S      count = count+1;) m- i# X; V) D0 O4 t; Y  O
      if(count>9)6 ^) k3 j$ a4 ]# w0 S
      count=0;+ c1 C+ A& D7 [: x; Q8 _# B
    end
8 S: d" P, Z( e7 S# F2 ]) p* a  end
: }6 J) w4 G0 oend
/ a" O# F0 U9 ^& k0 {endmodule
, I5 t6 M$ D! p- x2 {, l; W! T6 a6 x' B, X6 r; I; }
bcdcounter_tb.v, }4 O5 c% h2 ?/ y- i
5 m" r4 K0 i6 V6 i, {" _6 Z
module bcdcounter_tb;
+ m& ~$ _3 \7 S) I; I8 d: lreg clear,load,clk;
# h( \! h! b  y8 m+ Q5 Xreg [3:0] N;
2 z; [. g# l- {0 O% f3 o- `! uwire [3:0] count;
' y+ a% z  @  O1 _+ i* z5 h# a- ?+ T3 a$ [, e
BCDcounter m1(clear,load,clk,N,count);
" l" S& }' d/ K5 B3 d! j
# A9 v7 L7 O; S, }7 t& V# Ginitial" J: r# {: E- [$ A' O0 p2 ?" l6 q  u
clk=0;( G) O- S7 K# J, F
: m; E9 r/ D* e7 K( ]3 V6 O
always #2 clk=~clk;
, h7 W+ R" t7 {+ h% \; x6 G% K3 p* O& s7 Y: e% a& W
initial$ x1 Y/ Z' S  j5 T
#160 $finish;- ^! G0 s4 y1 N5 M& Q- }- T1 X- c
3 G; O% l3 {: S$ I- S( `5 b
initial begin$ X$ i! _1 v2 i( B) h2 v& y! s
    clear=1;- g0 y2 h1 ], Y9 [- ^5 v
#4  clear=0;' X9 w7 J+ W$ Z
#90 clear=1;
. C) k% D9 L/ |2 h( v. M#3  clear=0;
3 d1 l5 M$ `6 |" Jend
4 I% h5 @7 B9 S& X$ D% P4 W7 T# g" s8 ~- `
initial begin
2 f% ]; G# _4 M1 Y$ v5 Z" M     N=6;load=0;
0 N: G7 R2 ~4 H" \  d! d#58  load=1;
% t& w: o! T) h6 L#2   load=0;
0 h3 T' ]5 P5 k#22  N=12;
, g+ e; Z# a9 }: N, E* Y#40  load=1;
- ^- E# O+ X5 n* c0 ~#2   load=0;5 \1 W/ D0 o( [& A7 ~" U4 q% ^
end$ |9 E) X4 _( g: M& E( v
$ p" b7 u8 B' a2 B: g
endmodule

評分

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

查看全部評分

3#
發表於 2007-8-28 10:56:04 | 只看該作者
還有一份講義可以參考看看) `% b& M6 h9 O. i* ^/ Y. l) z
希望對大大有所幫助
5 q" x2 J6 g7 k  C5 d- Q3 A( Z2 R5 w: y) h

4 h# s5 i- T# @% @5 p6 ?
* U/ L" Q% X) |
遊客,如果您要查看本帖隱藏內容請回復

本帖子中包含更多資源

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

x

評分

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

查看全部評分

4#
 樓主| 發表於 2007-8-28 11:18:33 | 只看該作者
感謝小朱仔的熱心回覆
8 P9 b* m, ]6 I/ o7 F4 V. J" n0 k5 {不過我電路要自己畫 還有我不會用Verilog耶
% k* e2 J8 d, B* C2 [- d. x現在主要是要有電路圖 可以用Hspice模擬的那種
+ y$ [* P4 q2 y4 u+ g2 b另外希望inverter越少越好 因為要求要省電! 還有要自己layout!
# d4 o6 X8 j' s% _/ L+ J
8 U0 h6 }& h6 s8 _樓上那份文件好像裡面有寫到 趕快研究一下! 感謝分享!: B: T- y2 I: |
- M4 ~3 d5 j' q- N. k. m5 @# U
[ 本帖最後由 monkeybad 於 2007-8-28 11:23 AM 編輯 ]
5#
發表於 2007-8-28 16:05:34 | 只看該作者
你那個要自己動手畫CMOS電路吧... 1 d7 F/ U6 |- ]/ U2 I% J! r
寫code習慣了, 真的很不想動手再做這樣的事, 不過推完booling equation後, 直接用Cmos畫出來不就好了???
, ?' n8 o% d6 e9 f' @沒錯吧
6#
 樓主| 發表於 2007-8-30 14:21:06 | 只看該作者
恩恩 不過booling eq好像是在推導一些輸入輸出的條件
9 ~7 e+ o0 v9 M7 O
: O) k6 b# d! |記數器參考一些資料後 找到一個用ripple counter下去修改的4 G8 c5 V4 l$ F( N
ripple counter就是用負緣觸發的T型正反器串接在一起 5 J7 N: M8 e/ L+ `) u( l
接著開始從0數到9 然後數到10的時候/ L+ a! f3 t# f5 n: @2 J
就reset重新從0在開始數
7#
發表於 2007-9-3 15:08:06 | 只看該作者
ripper counter真不是個好主意, 不過要看應用, 在有些地方用時倒是好東東...
8#
發表於 2007-10-23 11:19:59 | 只看該作者
我很好奇某大大說的講義
+ r2 F5 \' {6 h5 H+ k1 f* V給我看看寫什麼吧
9#
發表於 2007-10-23 20:26:00 | 只看該作者
我這裡有時鐘的電路圖..以送去CIC下線..可提供給大大參考看看!
10#
發表於 2007-10-30 01:52:19 | 只看該作者
我看一看那個問題,要我聯想到CODE,一時還想不起來,真是太久沒有寫程式哩!8 ^4 ^. z, {! G7 E! E2 }$ B$ @
看到CODE,有一點恍然大悟的感覺,又接著看,害我也想看那份相關資料囉!!
11#
發表於 2007-11-9 14:57:32 | 只看該作者
BCD conuter 應該是對自己有所幫助
12#
發表於 2007-11-14 23:29:59 | 只看該作者
bcd counter對初學者的我而言真的好難7 T+ H! F, N5 Z1 U5 z( r3 Z
謝謝小朱仔提供的code囉
13#
發表於 2007-11-17 16:58:54 | 只看該作者
大大別忘了給小朱仔 "感謝"# T8 ]  P9 h8 c

: l' F! T% g/ M  {: ?0 m" o- ~按評分, 就可以給感謝了....
14#
發表於 2008-2-22 17:34:54 | 只看該作者
Let see the shared material. THX.
15#
發表於 2008-4-24 07:28:10 | 只看該作者
幕讲义之名而来,呵呵勿见怪啦.                                             
! O0 n! @# F/ `7 t1 [7 ?3 A感谢
16#
發表於 2008-5-21 10:42:39 | 只看該作者

回復 3# 的帖子

感謝各位大大的資料 對初學者 真是受益良多
17#
發表於 2008-6-2 11:53:25 | 只看該作者
感謝大大的分享∼∼∼∼6 @( \8 ^3 n$ z% J' U
因為你的無私,讓大家能學到許多知識
18#
發表於 2008-6-2 22:10:25 | 只看該作者
我也想看看大大分享的講義~~. ^1 w- a7 q. w
回覆來看看囉!!感謝蛤!!1 _8 V) A1 d4 M1 ~* O0 b' f( _9 G* [
因為我是初學而已!!
19#
發表於 2008-6-8 20:55:26 | 只看該作者
你是要畫電路圖的方式設計~! ]" k" }* ^+ D; M# y$ W3 i' Z7 H
那畫畫卡諾圖不就好了.... 只是比寫CODE還要麻煩.... 7 J$ U3 `9 g" l) @
因為要接邏輯閘!!
+ c; O( F8 ]2 E6 ]% C" y用卡諾圖化簡!!
20#
發表於 2008-7-25 14:41:52 | 只看該作者
最近剛接觸這方面的東西
) T5 O# |+ V& V6 [" o5 s0 F
- G4 m' V; n9 }4 {# a剛好需要這些資料2 E( j) D9 o+ Q" q" n5 `
, P' f9 o. d& e) `
感謝分享!!!
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-30 02:19 PM , Processed in 0.132017 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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