Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2007-8-28 10:40:06 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
如題
+ I: d1 O4 V6 j# k, F小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區! r% H/ O( F2 d7 f* J; Q  h
如果不是麻煩版主修改一下囉
4 [5 |" F/ @3 X9 O% B7 Z5 t( i0 R6 ^% M+ ^4 O( x$ Z
目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一個0-5的記數器開始記數
1 J8 s$ }! H6 [  `4 J總之就是能夠記數0-59, 個位數記數0-9, 十位數記數0-5
- U8 T5 j. N: r3 i. q1 \5 e  u$ D- B6 Y) Z% g6 [! ~; A1 Q
請問各位有人有設計過這樣的電路嗎? 或是要去哪裡找相關的資料勒?
* x2 o6 {. R' C謝謝!

評分

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

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂2 踩 分享分享
2#
發表於 2007-8-28 10:52:11 | 只看該作者
原帖由 monkeybad 於 2007-8-28 10:40 AM 發表 ' q- {7 Q3 a6 r  L  P( q8 M
如題
. u0 G+ F3 y9 j/ H( R小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區
0 ]% f9 |% s. K4 J% h  }: n如果不是麻煩版主修改一下囉
/ m) W. L  W6 u+ |4 Z" E$ G- c$ c0 _! s- y  K/ M
目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一 ...

* J. }: _1 ?; k4 V: `6 V( Q# Q/ _0 m& t4 O- d! a1 N7 F# U
大大您是要寫Verilog還是電路- V5 s5 w. K+ A' G8 |
+ ?' l/ {( v4 |' m' D
先PO個RTL Code參考看看2 |# H# T0 o- q

3 s7 L6 Q) m' X輸入:N clear load clk% H( N; F: u$ M1 A# f% {
輸出:count3 b/ i8 p! h' s5 |' E0 O! {& @

8 |' C" d# m* C0 R! N行為描述(依照優先順序)
4 U! \( I, s+ `1.如果clear為1,則輸出設為為03 ?6 ^& N; \7 v; C$ x
2.如果load為1,則輸出設為N
7 w2 T  m0 E, \$ j/ e3.每個時脈輸出遞增一次(BCD); G# ^4 u, R" Z! O, ]! S' O

# J& H4 s+ ], h2 N
; v7 I; ]5 H+ A8 ^0 |
2 L9 q7 {  l! A, O: l程式碼:2 K; c& W9 G4 n, K% x( R
BCDcounter.v4 W  K& f/ @0 B4 _( L* O9 M

/ ~: b0 q# E+ d6 I" h' {module BCDcounter(clear,load,clk,N,count);$ A% B4 ~3 D: q& l, a
input  clear,load,clk;
% M8 G: w: K4 p9 B0 g3 p4 u  rinput  [3:0] N;5 J# t. v0 f' x* z- N
output [3:0] count;$ U! O) T: S9 K
reg    [3:0] count=0;1 s$ ^& L0 i+ Q

8 t) s4 y2 v6 ?2 d# t1 ]8 g& kalways @ (posedge clk) begin8 M0 a2 f6 T3 B: |: n% p" l4 h
  if(clear)                 //clear=1: x; s6 n" E7 Q: e. C- {* ?
    count=0;! Q& L4 o$ v5 K8 S1 x
  else if(!clear) begin     //clear=0(共有0 1 X Z四種狀態)4 ?$ m# j* {% n
    if(load) begin4 R. _) e! s6 b4 R, ^: ^, W
      if(N>9)
8 N, \2 n. z8 b, ^# I  u! v6 M+ M& X1 b        count=0;4 ^2 f' ]/ l& h, s* J* ^$ i
      else
+ F+ n# b! ?9 \: g7 v, E& y        count=N;
) W  D  c& R, g& B2 Z7 s    end, P6 K) H# k! [4 D, Q( Y  `
    else if(!load) begin
3 B3 K( A1 P' g1 d      count = count+1;
2 X  x2 D3 k" H7 U9 ~5 t) p: @      if(count>9)
: p& D6 F4 v/ Q. l      count=0;' r0 E0 t- R4 S: e& O
    end
/ \* x8 w7 q' p' B  end& l! J1 j2 \4 O3 a! Z
end
& m  E$ Y' `0 e9 e4 C+ yendmodule
( G. N* m  B2 ~6 N+ |% G/ _
) q& N. i+ T7 a/ e: T: v  pbcdcounter_tb.v
8 \, s  \6 Q. R7 o) ?  r; h3 H) j  v. ^. I' m9 x
module bcdcounter_tb;
+ O& A2 ]  m! @/ g% o8 greg clear,load,clk;
$ q- w- u9 i1 J7 E& K0 q3 q1 Zreg [3:0] N;
$ z  a( i  o* [0 ~" i) owire [3:0] count;# ^, b* X3 j: j- t: H# T
% N4 \8 U- o% L8 _+ e
BCDcounter m1(clear,load,clk,N,count);, G4 @0 Q8 K# }

! O/ F0 |  a" U9 Minitial
6 x) x2 M  s; N& P' [clk=0;  [: f+ J% f9 I

( j. U/ Q  F6 e/ U5 V, ^. ?! nalways #2 clk=~clk;
  E5 o% }# C  z5 A9 v! b5 D% t" h$ F0 e6 ]
initial8 W& D* V7 ^4 l* e: A7 J" \$ n) r
#160 $finish;' i4 o8 t0 \$ Q2 f  {7 z) t

4 _3 F  ^( U1 oinitial begin8 V, n# j& q; n6 q9 \/ L9 \
    clear=1;- i+ M% ?1 w- k
#4  clear=0;. B1 ~& e  ?1 n- Q3 H
#90 clear=1;
# F8 h- B, [! i7 N) l+ P& \$ x, F#3  clear=0;: A! X" J, W. t5 u1 X
end
6 U, p% x1 G0 N- t& h* v, k6 k+ h- T- t- k& k; l
initial begin, X% A. D7 I( l. \: j1 I
     N=6;load=0;
; x& B" P% ~/ }/ Y' Z9 C# C. p8 s#58  load=1;
6 j* w& `3 b9 N#2   load=0;- d: w" j) H" K0 \2 m
#22  N=12;
; i) B3 M+ ^8 }; C2 s#40  load=1;
" G. ~9 S4 [3 x7 Q: D) S#2   load=0;( v) ]. q' W# q2 z7 L9 C
end" }+ Z: G* Z# }* U3 ~) G

# D6 w) {6 }: |  C/ j% r% ?endmodule

評分

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

查看全部評分

3#
發表於 2007-8-28 10:56:04 | 只看該作者
還有一份講義可以參考看看% }: e3 b# v' @# \" H; ^6 d
希望對大大有所幫助. K7 b. q" r. g& d$ E- Q

* x3 a& H4 y/ @9 b: C9 J % y& n; r% `. ?& ~& I0 r

& y9 e+ e* J* t/ `* a. i3 ?" K
遊客,如果您要查看本帖隱藏內容請回復

本帖子中包含更多資源

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

x

評分

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

查看全部評分

4#
 樓主| 發表於 2007-8-28 11:18:33 | 只看該作者
感謝小朱仔的熱心回覆; Z+ [  q  x/ e+ v  b( N
不過我電路要自己畫 還有我不會用Verilog耶
% i1 Q  ~4 I6 p  _: c現在主要是要有電路圖 可以用Hspice模擬的那種
0 c( u; b  ^9 V; v另外希望inverter越少越好 因為要求要省電! 還有要自己layout!
- \. K) }; L. q! j, s5 |, V- T
3 \$ I% L3 M) h: }8 N樓上那份文件好像裡面有寫到 趕快研究一下! 感謝分享!  [' r" \4 U. I8 e2 ~$ `
  b: {* l2 i8 d: ^( S8 N
[ 本帖最後由 monkeybad 於 2007-8-28 11:23 AM 編輯 ]
5#
發表於 2007-8-28 16:05:34 | 只看該作者
你那個要自己動手畫CMOS電路吧... 8 J, @1 Y6 X7 U6 g! `
寫code習慣了, 真的很不想動手再做這樣的事, 不過推完booling equation後, 直接用Cmos畫出來不就好了???* l' X3 Q' V/ ?4 r
沒錯吧
6#
 樓主| 發表於 2007-8-30 14:21:06 | 只看該作者
恩恩 不過booling eq好像是在推導一些輸入輸出的條件5 l( L4 l* c, a' Q8 |+ N: _0 M' j
! ~! X+ W: K: R, y" q
記數器參考一些資料後 找到一個用ripple counter下去修改的6 r! u  c) Z5 s7 B* K* M$ z, P1 T
ripple counter就是用負緣觸發的T型正反器串接在一起
' j9 s# z# ]( [5 x接著開始從0數到9 然後數到10的時候. L4 }: A: r4 i+ H0 L% E( L4 m; w
就reset重新從0在開始數
7#
發表於 2007-9-3 15:08:06 | 只看該作者
ripper counter真不是個好主意, 不過要看應用, 在有些地方用時倒是好東東...
8#
發表於 2007-10-23 11:19:59 | 只看該作者
我很好奇某大大說的講義
# R- [) w& c+ v+ L給我看看寫什麼吧
9#
發表於 2007-10-23 20:26:00 | 只看該作者
我這裡有時鐘的電路圖..以送去CIC下線..可提供給大大參考看看!
10#
發表於 2007-10-30 01:52:19 | 只看該作者
我看一看那個問題,要我聯想到CODE,一時還想不起來,真是太久沒有寫程式哩!1 J2 |* N+ I, ^
看到CODE,有一點恍然大悟的感覺,又接著看,害我也想看那份相關資料囉!!
11#
發表於 2007-11-9 14:57:32 | 只看該作者
BCD conuter 應該是對自己有所幫助
12#
發表於 2007-11-14 23:29:59 | 只看該作者
bcd counter對初學者的我而言真的好難1 Y) Y2 I, E) m# r, a. ]4 |
謝謝小朱仔提供的code囉
13#
發表於 2007-11-17 16:58:54 | 只看該作者
大大別忘了給小朱仔 "感謝"/ {; k5 \7 D: P2 @; |( q; m% J

+ _( W; A% d1 V6 Q$ s按評分, 就可以給感謝了....
14#
發表於 2008-2-22 17:34:54 | 只看該作者
Let see the shared material. THX.
15#
發表於 2008-4-24 07:28:10 | 只看該作者
幕讲义之名而来,呵呵勿见怪啦.                                             
: K! T; Q2 d; Z% v% t感谢
16#
發表於 2008-5-21 10:42:39 | 只看該作者

回復 3# 的帖子

感謝各位大大的資料 對初學者 真是受益良多
17#
發表於 2008-6-2 11:53:25 | 只看該作者
感謝大大的分享∼∼∼∼
6 b2 D9 h" v; t% I. |3 G因為你的無私,讓大家能學到許多知識
18#
發表於 2008-6-2 22:10:25 | 只看該作者
我也想看看大大分享的講義~~' s6 e* j+ u  |1 y+ f9 R3 j
回覆來看看囉!!感謝蛤!!: ^9 H: Q/ n1 X# `3 r% n2 n
因為我是初學而已!!
19#
發表於 2008-6-8 20:55:26 | 只看該作者
你是要畫電路圖的方式設計~
; i6 \+ o  j1 L那畫畫卡諾圖不就好了.... 只是比寫CODE還要麻煩....
4 d. E3 k/ R9 W2 x" Z) ^' {- i因為要接邏輯閘!! % x' ~& `& Q$ I) a4 i. U- q
用卡諾圖化簡!!
20#
發表於 2008-7-25 14:41:52 | 只看該作者
最近剛接觸這方面的東西
8 Z& G7 a3 ~/ a' r% i. i: U% w7 e5 \" M8 N  m6 B$ H( z5 z
剛好需要這些資料
  ~$ j$ f9 y7 W- U! B' s" V# y* N/ z
感謝分享!!!
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2025-1-5 10:08 AM , Processed in 0.121007 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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