Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2007-8-28 10:40:06 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
如題+ [/ v6 K6 n6 g* X" G$ v
小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區
! H0 r- o( ~% p' m; [- p如果不是麻煩版主修改一下囉% v+ k* }( W6 S- r! e; W

, z) f, B. n5 r- K. ~4 P2 r' y目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一個0-5的記數器開始記數
. c' l% o6 }5 P! U* P總之就是能夠記數0-59, 個位數記數0-9, 十位數記數0-51 x) @' F+ k6 @# {, d! l( M
0 ^1 i, D1 B& `
請問各位有人有設計過這樣的電路嗎? 或是要去哪裡找相關的資料勒?2 `* \2 ~* d- |; J+ H6 u
謝謝!

評分

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

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂2 踩 分享分享
2#
發表於 2007-8-28 10:52:11 | 只看該作者
原帖由 monkeybad 於 2007-8-28 10:40 AM 發表 5 h7 J) Z# D# @
如題
1 i1 a$ O$ l9 w) \7 F. x% H小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區
9 E0 C# _7 t; i) [: L/ G0 h( X如果不是麻煩版主修改一下囉) X0 R) B& c* n6 r

9 F; Q) B" D! S# B目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一 ...

. ^- v$ S5 A. ]3 T- s5 u* N4 x8 n4 C. r9 s' W5 _
大大您是要寫Verilog還是電路0 J( g3 @; U5 G% i( p
9 Y) g  W; f' g: B3 a) e
先PO個RTL Code參考看看; }+ O  T9 y/ b
! P' {& j' w2 y6 p7 y/ `* K
輸入:N clear load clk
% t* d/ S! W: ]' y1 E* v" P6 s* }輸出:count6 M3 m3 p$ n9 b7 p
5 H8 f* h7 R9 R3 g9 Z
行為描述(依照優先順序)- G; S1 M. h) s* Q$ N  P$ u; d
1.如果clear為1,則輸出設為為0
- N3 j7 Q3 g: ?9 n2.如果load為1,則輸出設為N
+ N  J& y' O3 ?2 u: L$ u3.每個時脈輸出遞增一次(BCD), `5 G& a; c4 A  h" f9 L
& x, v: t9 n$ A" B' N5 y! m* }) I

, U/ w; u  D9 C  n2 H+ O' f( l6 |6 s  B/ M/ D3 P
程式碼:1 O- ?% e& r0 X2 o
BCDcounter.v
& f, r5 F2 O0 K
/ l: P0 c0 a, C  Nmodule BCDcounter(clear,load,clk,N,count);
( w; \# G% {2 y  ~; l! Minput  clear,load,clk;
1 M7 }0 a7 L3 {5 E7 T6 @/ ?( H) `input  [3:0] N;
/ L, S4 a$ ~. s2 B; B) D& n& voutput [3:0] count;
$ n% _7 s6 A: mreg    [3:0] count=0;
8 O# n6 m$ g* a4 e$ K& h7 |5 x
+ p' {3 }  u0 n4 y7 Nalways @ (posedge clk) begin
9 l9 D- z# t) V  if(clear)                 //clear=1
2 T$ L" U3 w0 L7 C( V    count=0;0 D2 z' ~. R; [$ a4 a" o6 C4 L* c/ ^! K
  else if(!clear) begin     //clear=0(共有0 1 X Z四種狀態)
8 R! M1 ~* P+ b# |' P- E  n3 L1 q% G    if(load) begin
# S$ ~& N3 d' r7 s      if(N>9)
; ^( r  H  A0 q) i5 Q        count=0;, E. ^6 A2 r& \$ I0 T& j, {
      else
' S% i) y6 M" r        count=N;3 n  p3 U6 Z4 N5 ?2 O/ c
    end
) {9 R  e  P3 _/ Z, r; _    else if(!load) begin
9 c# ]8 D. ?* G. c$ A4 b9 m      count = count+1;
. w1 I( Q8 X; D# c# x/ E      if(count>9)
$ e( x/ r. [$ C' O$ N+ v. e( x      count=0;
0 ]0 S9 N* m8 z6 ?3 h    end
; P5 r# w& X: R9 Q2 L- e& m4 {# D: H  end" _$ [% w  ?& _5 B
end
- x2 B. M. c+ C% Rendmodule
: o6 s2 G' o4 W& Z( p! W, D
( }0 [9 {( Z( Z4 z6 ^& v7 xbcdcounter_tb.v
. r1 t- H) b$ f. s$ W7 l3 ^+ X. f
, x! k8 y& p# L+ Z) Hmodule bcdcounter_tb;
) S' }, J. K. Y! Preg clear,load,clk;. O; Y# K+ B' V
reg [3:0] N;  v- c9 B& v6 d( _8 X- i
wire [3:0] count;- {' t) Z5 D) u6 P1 E
/ P" \0 o2 H5 }1 A6 ]' w6 ~
BCDcounter m1(clear,load,clk,N,count);
. {. [3 o! i' g" t3 Y% s5 J" |' t3 U  G( Z0 U; |' w" A; _9 E
initial
! y/ p8 h( S7 ]( O# |clk=0;
" S2 t$ j+ f: V0 c' V. K
4 J& q- v/ g" B$ J% t5 `always #2 clk=~clk;* m- G8 E9 @3 n4 R6 Z

, Y- A6 S. z5 Q  Zinitial2 L  t: K0 Z; F  n- ~, C1 B
#160 $finish;
" D9 b; b1 y; r) q/ `: Z6 e# m& E5 c* v! i
initial begin; B- B' E2 u; G
    clear=1;1 J. f9 F' q4 \8 ~2 K( P: t7 K
#4  clear=0;
3 x, r4 f  @6 e! Q5 {; y#90 clear=1;
2 u6 `0 K% c5 |2 M% q0 u* R  M#3  clear=0;
& z9 _8 e& Q4 iend9 ]1 j1 ]  |4 L' [& `- L
& Q  U; G8 N0 `! y1 y" q
initial begin
; P5 c$ H+ \3 g2 j+ p; ?1 p, l     N=6;load=0;
& D. ], Y6 t1 Z. ~#58  load=1;
* \; Z% m% c1 @& a4 O#2   load=0;! S; u8 C( A0 h% {9 Q5 B
#22  N=12;
6 U4 a: Z/ M5 e; ^9 c2 y#40  load=1;
& [' m( w/ |3 f3 e#2   load=0;; m5 c8 h  f2 m  `
end6 ~* s8 [# Q5 W) D% I

4 _: s. C4 t- b& X& [9 X, Bendmodule

評分

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

查看全部評分

3#
發表於 2007-8-28 10:56:04 | 只看該作者
還有一份講義可以參考看看
" m% C8 O( [+ J) N6 b希望對大大有所幫助! e) x9 X7 F1 v0 Z  D1 X+ L: X2 ?
+ a$ G. `+ o- c; ?' X3 @

: r) R% q7 H& r: @& b* P  i2 F- L) i- q3 E
遊客,如果您要查看本帖隱藏內容請回復

本帖子中包含更多資源

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

x

評分

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

查看全部評分

4#
 樓主| 發表於 2007-8-28 11:18:33 | 只看該作者
感謝小朱仔的熱心回覆6 a5 Z. v6 M, h( W7 J
不過我電路要自己畫 還有我不會用Verilog耶
. z: @7 i/ L9 `" ]7 U2 [1 l/ V現在主要是要有電路圖 可以用Hspice模擬的那種2 Q4 t5 C9 K! X  E- Q; Z( `8 \' a
另外希望inverter越少越好 因為要求要省電! 還有要自己layout!
5 U1 o) ]% N  o; m5 n6 k4 J
4 ]& J: a$ A4 A4 t4 j! o( [0 q樓上那份文件好像裡面有寫到 趕快研究一下! 感謝分享!
! X5 ~0 N7 B' ?' m
% k' K% w( n3 @[ 本帖最後由 monkeybad 於 2007-8-28 11:23 AM 編輯 ]
5#
發表於 2007-8-28 16:05:34 | 只看該作者
你那個要自己動手畫CMOS電路吧...
6 i/ J' H: H+ B1 R0 O寫code習慣了, 真的很不想動手再做這樣的事, 不過推完booling equation後, 直接用Cmos畫出來不就好了???
" V. I: K* p# Y沒錯吧
6#
 樓主| 發表於 2007-8-30 14:21:06 | 只看該作者
恩恩 不過booling eq好像是在推導一些輸入輸出的條件2 z& h7 I" N+ f# U* o* [
) f9 T/ I- x9 o7 T" B/ o7 i
記數器參考一些資料後 找到一個用ripple counter下去修改的2 c2 Z  Y7 r  c0 C: C) ~5 f
ripple counter就是用負緣觸發的T型正反器串接在一起 & {! d& z0 Y  }% A4 h
接著開始從0數到9 然後數到10的時候7 x1 b. W  L7 o8 v) L
就reset重新從0在開始數
7#
發表於 2007-9-3 15:08:06 | 只看該作者
ripper counter真不是個好主意, 不過要看應用, 在有些地方用時倒是好東東...
8#
發表於 2007-10-23 11:19:59 | 只看該作者
我很好奇某大大說的講義. G5 _8 U' y7 y3 t
給我看看寫什麼吧
9#
發表於 2007-10-23 20:26:00 | 只看該作者
我這裡有時鐘的電路圖..以送去CIC下線..可提供給大大參考看看!
10#
發表於 2007-10-30 01:52:19 | 只看該作者
我看一看那個問題,要我聯想到CODE,一時還想不起來,真是太久沒有寫程式哩!9 q  j4 E! x0 j5 f& m* V8 W. ^4 U
看到CODE,有一點恍然大悟的感覺,又接著看,害我也想看那份相關資料囉!!
11#
發表於 2007-11-9 14:57:32 | 只看該作者
BCD conuter 應該是對自己有所幫助
12#
發表於 2007-11-14 23:29:59 | 只看該作者
bcd counter對初學者的我而言真的好難8 K. }* T" W* T# ~7 n$ A
謝謝小朱仔提供的code囉
13#
發表於 2007-11-17 16:58:54 | 只看該作者
大大別忘了給小朱仔 "感謝"6 C9 M$ E( H8 K, w4 h! a

0 o" J  u1 i" E) V" _按評分, 就可以給感謝了....
14#
發表於 2008-2-22 17:34:54 | 只看該作者
Let see the shared material. THX.
15#
發表於 2008-4-24 07:28:10 | 只看該作者
幕讲义之名而来,呵呵勿见怪啦.                                              9 ^( F3 q8 H; ~# V9 J! e8 I
感谢
16#
發表於 2008-5-21 10:42:39 | 只看該作者

回復 3# 的帖子

感謝各位大大的資料 對初學者 真是受益良多
17#
發表於 2008-6-2 11:53:25 | 只看該作者
感謝大大的分享∼∼∼∼+ D! f$ B7 E6 B6 t
因為你的無私,讓大家能學到許多知識
18#
發表於 2008-6-2 22:10:25 | 只看該作者
我也想看看大大分享的講義~~
2 J& K4 k2 f, S7 |" ?2 U6 o回覆來看看囉!!感謝蛤!!
: k+ U: V" {9 x8 h( y因為我是初學而已!!
19#
發表於 2008-6-8 20:55:26 | 只看該作者
你是要畫電路圖的方式設計~1 i) g- ^9 m# s, k( j
那畫畫卡諾圖不就好了.... 只是比寫CODE還要麻煩....
$ j2 P  y# Z/ l/ ?! l2 @* D因為要接邏輯閘!!
, c1 m  f+ W1 k3 X# u4 c3 c2 I" O用卡諾圖化簡!!
20#
發表於 2008-7-25 14:41:52 | 只看該作者
最近剛接觸這方面的東西( v# v" K. Z7 L$ R$ l

. h- c) S" H  K0 R9 C剛好需要這些資料
$ P( y* V1 `8 M5 a: o
5 o' r8 S0 t# l$ P) }感謝分享!!!
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-4 10:25 AM , Processed in 0.128007 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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