Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2007-8-28 10:40:06 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
如題
$ [% K/ p5 h' K小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區
  b) k: }# M& ?1 v/ E如果不是麻煩版主修改一下囉8 G+ H/ c' l% _; ?

1 D: [5 s+ b3 @* A% A  i0 d目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一個0-5的記數器開始記數: S. Y7 {% ~; y( v! {! o
總之就是能夠記數0-59, 個位數記數0-9, 十位數記數0-5
, z5 l- r& \/ z* C& g% [/ \  ]9 p0 C# x
請問各位有人有設計過這樣的電路嗎? 或是要去哪裡找相關的資料勒?
' J& H, @- m, g. u* x謝謝!

評分

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

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂2 踩 分享分享
2#
發表於 2007-8-28 10:52:11 | 只看該作者
原帖由 monkeybad 於 2007-8-28 10:40 AM 發表
1 x, ?, U9 c8 M如題1 ~' Y: @4 j3 v6 e. d
小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區& T. F5 u9 V& B' g$ j; A
如果不是麻煩版主修改一下囉
9 b& l) z; ]: k& k6 h- ]% J( D& Q& K2 F/ D8 D% {* e1 U" c- V, B
目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一 ...
/ _# l( r" ~- C# N. B# l6 t0 B
5 v+ a0 i' S) Y1 ^7 c" u' p/ U( p
大大您是要寫Verilog還是電路; |, v, N. R5 s1 V3 K5 j) L! E

& M# n# I5 D/ f/ L5 L2 H先PO個RTL Code參考看看) q/ H" ^' d$ i# y

( F, k% E* f# V" I6 c1 P" D; Q7 R+ C; `輸入:N clear load clk
$ F9 [9 I9 c( W: R5 p# N- y% |' I輸出:count/ d- K+ k. n+ A4 C

7 n% I/ j5 ^/ C7 p行為描述(依照優先順序)2 b0 {5 q, v1 @& g) j' G! U
1.如果clear為1,則輸出設為為07 r# T" e- \9 J( f! {* I
2.如果load為1,則輸出設為N7 S2 b" U2 o* j" w
3.每個時脈輸出遞增一次(BCD)
& W3 C7 R7 t% R2 ?, m2 U+ f& U5 A, i
1 h0 O; u; J& n* \# L" L) U% A3 m3 a' C0 S5 y3 P

4 V) f8 O% [: ?程式碼:
( G# f  j$ Z% hBCDcounter.v
$ e4 t+ J, a1 Y* d
' h) ]0 s1 O5 I: ]module BCDcounter(clear,load,clk,N,count);4 P, {3 r) j0 H6 {
input  clear,load,clk;4 j$ H9 U& c" H
input  [3:0] N;
, ]+ u8 }+ E8 B( P! {+ _output [3:0] count;
+ [8 f5 Q7 r- x  \- p- c' Dreg    [3:0] count=0;1 p- i; h8 J5 l+ V/ z$ I9 ?$ K
" \, S" Z* F1 ^! k8 A
always @ (posedge clk) begin
0 j0 W% }- N9 ^0 z: ?9 V* L) h3 F& b  if(clear)                 //clear=1
8 i% H; Y0 h' c0 _    count=0;1 E0 x! @  Y; B1 b- P
  else if(!clear) begin     //clear=0(共有0 1 X Z四種狀態)
, d7 K( p5 t# p$ H. ~4 z" I6 B    if(load) begin
" t! |+ l9 N# v# w; `. S      if(N>9)
7 f2 P; a! B7 I5 N( `3 G        count=0;# h8 `& W5 {1 Y( Y% v: @4 b
      else3 ~/ n  l. e; U
        count=N;( f% n4 Z! D2 B; H4 c
    end$ V" Q/ l/ f9 {
    else if(!load) begin
. m8 f0 s' |. |8 |: X      count = count+1;$ y8 w3 P$ I! }3 \9 W0 q+ R; t/ @
      if(count>9)8 V0 ^% _3 C- l
      count=0;
0 r6 j  c! N$ J    end  O* i+ h" \  F1 g5 ]7 ^
  end6 l8 i, k% Z% ~' n) X. r$ T0 a. |
end
5 P, e8 ?6 D$ Z, I7 Yendmodule6 Q( {! @* i: |& f# u6 _

8 D" R6 a! e- G: ?3 I3 ibcdcounter_tb.v
: W' @! \  O9 E# K3 p; H& F- b% j4 d
module bcdcounter_tb;8 V# f* h) e6 d% q
reg clear,load,clk;: Y, X' x7 x2 _7 w
reg [3:0] N;, p: l( I$ g0 p3 Q# ^1 }5 s3 N# \
wire [3:0] count;
- ^% u0 ^% L2 G( \# n6 r) u
: a' V* q4 f2 B9 |3 M  X  iBCDcounter m1(clear,load,clk,N,count);# c# @! @; F3 d' R' m
- V! D  \: b; ?
initial: w, @, N1 z. A6 v; \
clk=0;6 k) j( C: M1 r4 F& d
$ ^1 d7 U5 G1 u' B
always #2 clk=~clk;3 G. u( s3 L4 |# S; g! p, o

% I% f' I7 G5 `: [& S: linitial) Y; b2 f4 Q0 t6 L$ y- Z
#160 $finish;& f& K, A, g8 i

8 i& |6 ~1 ~& t( H- qinitial begin
7 q3 S% }/ ]; O# F    clear=1;
; [! }% ]5 T5 T; H#4  clear=0;
0 B- t9 K& _0 B. q* [1 e#90 clear=1;  x* L) ]6 v& k# T6 W3 l6 d
#3  clear=0;
- ]9 u$ x. n4 H- jend
; n7 A" q" \. w. A/ A& q
, ~0 s" f& ~7 ?% H( C4 einitial begin
4 [: U9 P" y$ w+ {! l) V* P" H     N=6;load=0;
2 v  ]) z6 {% [2 k4 }) z#58  load=1;
" X, R8 i- |5 z* f3 m/ G, E#2   load=0;
9 \4 Y9 U- z" N: V/ J! s& [#22  N=12;
4 v. A, }; c+ [. K#40  load=1;3 C0 d& i: P. O4 e
#2   load=0;
. p  T! i& t8 d  b/ Qend! \0 Y) v9 o. [! f& P
6 ^7 a0 H( \: p1 M1 y, p. |
endmodule

評分

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

查看全部評分

3#
發表於 2007-8-28 10:56:04 | 只看該作者
還有一份講義可以參考看看
# e) _( d4 [$ _$ i# u3 n7 w希望對大大有所幫助
- o" l4 S1 m4 U2 E3 W( G& _9 B- C2 h: O4 c1 C, _8 W8 J

! A& e3 _) S1 ^; @) z2 i9 Y
6 b" i1 J9 c: `6 w
遊客,如果您要查看本帖隱藏內容請回復

本帖子中包含更多資源

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

x

評分

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

查看全部評分

4#
 樓主| 發表於 2007-8-28 11:18:33 | 只看該作者
感謝小朱仔的熱心回覆
. x/ I+ g: C+ Z# [) W4 Q不過我電路要自己畫 還有我不會用Verilog耶
% R( A# k6 f8 G現在主要是要有電路圖 可以用Hspice模擬的那種# x+ k0 B) r% @: h/ g7 Q
另外希望inverter越少越好 因為要求要省電! 還有要自己layout!( K; F/ f% [9 q) J$ m5 D( l  D
- }3 O5 \& J3 N
樓上那份文件好像裡面有寫到 趕快研究一下! 感謝分享!2 t2 x( `8 p. U  C

( n! [; Z8 b3 L) k[ 本帖最後由 monkeybad 於 2007-8-28 11:23 AM 編輯 ]
5#
發表於 2007-8-28 16:05:34 | 只看該作者
你那個要自己動手畫CMOS電路吧...
8 ^: K8 ^5 H. u& v+ N. W5 X$ J寫code習慣了, 真的很不想動手再做這樣的事, 不過推完booling equation後, 直接用Cmos畫出來不就好了???! k! ]1 a0 O8 [. B. I7 q; p5 I
沒錯吧
6#
 樓主| 發表於 2007-8-30 14:21:06 | 只看該作者
恩恩 不過booling eq好像是在推導一些輸入輸出的條件
) N4 i) ]. N7 E3 \  j1 s( J4 E$ e8 P& ~9 n; j. J
記數器參考一些資料後 找到一個用ripple counter下去修改的
$ D/ a' ^, A- \( f: Oripple counter就是用負緣觸發的T型正反器串接在一起
. Q  K$ g- e$ Q" u" |$ i接著開始從0數到9 然後數到10的時候
& G" {2 U9 k7 J+ r- F9 n就reset重新從0在開始數
7#
發表於 2007-9-3 15:08:06 | 只看該作者
ripper counter真不是個好主意, 不過要看應用, 在有些地方用時倒是好東東...
8#
發表於 2007-10-23 11:19:59 | 只看該作者
我很好奇某大大說的講義6 w2 Y# C7 Y& Z2 K: o% @) a
給我看看寫什麼吧
9#
發表於 2007-10-23 20:26:00 | 只看該作者
我這裡有時鐘的電路圖..以送去CIC下線..可提供給大大參考看看!
10#
發表於 2007-10-30 01:52:19 | 只看該作者
我看一看那個問題,要我聯想到CODE,一時還想不起來,真是太久沒有寫程式哩!
: b) X0 E( f+ Q9 N看到CODE,有一點恍然大悟的感覺,又接著看,害我也想看那份相關資料囉!!
11#
發表於 2007-11-9 14:57:32 | 只看該作者
BCD conuter 應該是對自己有所幫助
12#
發表於 2007-11-14 23:29:59 | 只看該作者
bcd counter對初學者的我而言真的好難
4 B) V! c5 G" ]+ I2 B謝謝小朱仔提供的code囉
13#
發表於 2007-11-17 16:58:54 | 只看該作者
大大別忘了給小朱仔 "感謝"( L  g- ^* ]+ p0 f! J
) Z# B1 i) \4 o9 ^9 X; o
按評分, 就可以給感謝了....
14#
發表於 2008-2-22 17:34:54 | 只看該作者
Let see the shared material. THX.
15#
發表於 2008-4-24 07:28:10 | 只看該作者
幕讲义之名而来,呵呵勿见怪啦.                                              ) H$ |6 w- N2 [% }4 `
感谢
16#
發表於 2008-5-21 10:42:39 | 只看該作者

回復 3# 的帖子

感謝各位大大的資料 對初學者 真是受益良多
17#
發表於 2008-6-2 11:53:25 | 只看該作者
感謝大大的分享∼∼∼∼
8 g1 l  _; o0 @: H6 M% i因為你的無私,讓大家能學到許多知識
18#
發表於 2008-6-2 22:10:25 | 只看該作者
我也想看看大大分享的講義~~
2 R" F3 b/ w; E1 v回覆來看看囉!!感謝蛤!!( D0 T5 I* h5 H
因為我是初學而已!!
19#
發表於 2008-6-8 20:55:26 | 只看該作者
你是要畫電路圖的方式設計~1 F3 ]4 J5 R" l% K& v
那畫畫卡諾圖不就好了.... 只是比寫CODE還要麻煩....
( Y# e0 C  d2 j* e因為要接邏輯閘!! " \( \% F3 p/ n( N6 {- L
用卡諾圖化簡!!
20#
發表於 2008-7-25 14:41:52 | 只看該作者
最近剛接觸這方面的東西
. J1 T6 P& N6 V& D
8 S2 y' M& |1 G剛好需要這些資料6 Y' \3 [+ k& Y  d: T: N
( H5 A, `- O3 Y/ e9 F
感謝分享!!!
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-6-6 09:59 PM , Processed in 0.157020 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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