Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2007-8-28 10:40:06 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
如題
: }! D( W0 y" `( h3 u小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區
5 n8 _1 C- _' @0 X; F7 w* z1 d如果不是麻煩版主修改一下囉
6 U% ~% x8 {9 V- Q- O
1 E8 p/ a/ O! M5 z( s  v目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一個0-5的記數器開始記數+ x- |* B, n2 t# k, Z% p
總之就是能夠記數0-59, 個位數記數0-9, 十位數記數0-53 W$ y$ c. s! U$ L9 ?
  T* c' N2 J& z. n, Y
請問各位有人有設計過這樣的電路嗎? 或是要去哪裡找相關的資料勒?. c5 e" a& J5 i7 q( S2 E0 ]7 ~
謝謝!

評分

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

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂2 踩 分享分享
2#
發表於 2007-8-28 10:52:11 | 只看該作者
原帖由 monkeybad 於 2007-8-28 10:40 AM 發表 # g8 r& [) ]# L6 W: O% t. ^' u0 T% M
如題0 |" a5 Y- G$ k4 V8 R; V$ ?9 _+ Z& ^
小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區, O6 z* {1 }& Z( K% A" u
如果不是麻煩版主修改一下囉
3 H, Y; L& u2 t9 X3 I( E
5 B" Q' }' Q7 u; L. s+ m目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一 ...

( _6 c3 J, B  h. m- @
, I2 B+ B3 ^' I, o( L8 S. F+ Y0 f( j大大您是要寫Verilog還是電路# {) P( E/ }: m
! W0 v" f9 L# g$ X+ e3 v
先PO個RTL Code參考看看
5 Q+ X* F9 W6 S0 V* f
" I' I# Q5 d/ X輸入:N clear load clk5 s: ^: W$ z" ^2 q
輸出:count
; x7 [( l8 e6 s& E
0 o7 a9 O9 j  U行為描述(依照優先順序)
6 Y. M0 W5 }4 w5 f# ]1.如果clear為1,則輸出設為為0' z! F6 A9 l) J) z" g
2.如果load為1,則輸出設為N
6 o, t) V' Y+ b- Y- y( u3.每個時脈輸出遞增一次(BCD)
( p9 b$ J% }. C2 z$ L- T5 }
' q# X% b4 ]9 h% b6 A. X
4 G  g( j/ Q" l: o. T2 \, L) p) I/ O4 C! Y! w
程式碼:
; c% S0 O0 ?$ P$ C" P3 h! PBCDcounter.v
" M/ `* g# R% M# `7 g& D
# J* r- R0 b/ B+ Z/ q# w1 ymodule BCDcounter(clear,load,clk,N,count);% Z. \3 o7 C* j) R5 x
input  clear,load,clk;
( P! j: M" _* t0 ~$ cinput  [3:0] N;
- B  `8 z/ d* r, Q5 h  g3 f8 doutput [3:0] count;5 b) d5 K' n1 b2 ]
reg    [3:0] count=0;
9 H7 R4 Q4 U% c; e( ^, K+ H0 a
( n+ v/ o1 b) falways @ (posedge clk) begin6 j1 c/ x; M0 |
  if(clear)                 //clear=1
4 U: N' j( I9 ?( ^9 e& t4 R' u    count=0;
+ b6 P/ E- y  }) U) w6 Q  else if(!clear) begin     //clear=0(共有0 1 X Z四種狀態)% f3 v- W( v5 R1 q# \  @7 F
    if(load) begin
& \! A7 S: H" d7 q2 \      if(N>9)! H8 ?7 U9 A5 Y7 W3 `$ e
        count=0;0 d4 c: Z4 B8 R$ @' G
      else/ T+ |) r; C6 N2 z! W% o
        count=N;3 ^" G" W1 |  W$ A( `5 a/ i- V! Z' H2 {
    end4 Z4 {. G* h; \. c0 O$ |, Z
    else if(!load) begin
$ K! n& J' j% Y9 ]  F      count = count+1;8 v" y( O4 `6 K) a- I( Q
      if(count>9)8 A0 o* {  }3 `3 F
      count=0;
; S- k( }/ q6 e    end( U. c( u) n6 @% g' M* [
  end; `2 w% r& N! v& M
end
3 w9 V: W& G% ^3 eendmodule: i0 U. ~1 \. D" u' R: W+ [

  u" x0 w. U7 J: rbcdcounter_tb.v" G# O' t. t% P% q, O
! a+ X- q! p: O$ k: `
module bcdcounter_tb;4 h8 J2 F3 l7 N. B8 o* E
reg clear,load,clk;' a( M4 p2 n2 T7 a  c2 b; M
reg [3:0] N;
& v' E8 S$ u- W" d, n/ |' S( U: xwire [3:0] count;
6 R) h& O4 ?) H8 Y0 i& y  _+ O/ N+ F
BCDcounter m1(clear,load,clk,N,count);
4 W7 D/ b8 t4 M: G
0 Z. Y, h& a- ]9 ^initial( o2 @5 U7 B5 k
clk=0;8 Z; @' t/ b, l* u

  }" m  ?1 }4 V( f% K/ ^/ ralways #2 clk=~clk;
1 Q4 b4 Z: _7 T8 H5 ^. c" e) p7 t+ r3 W3 T  B( a: p
initial
5 s! G. f: z4 ~0 U- P( g# N  b#160 $finish;
2 n) L- D3 B8 l1 w3 v/ ]  I5 o1 O
& j4 T4 u0 B( u* `# |) p9 zinitial begin  G" V7 o; D' `+ T( x! Q. H/ {
    clear=1;# V, d% B+ f7 Z
#4  clear=0;
4 b4 A) v6 Y  q/ N9 ?* }: \! X& ~#90 clear=1;, z, _* p; d7 D# z/ N
#3  clear=0;. J* b8 a& K9 q$ P7 G/ @
end+ p! k, P1 [' l; O: D: P
8 Y6 x; v9 b0 z4 V0 u9 O
initial begin9 T6 B% p) l- ~* l1 j2 T1 ~: P
     N=6;load=0;. Y7 h$ g2 {1 H% N5 i) x
#58  load=1;
4 r4 P8 @) ^7 s+ \#2   load=0;- g1 o+ z, I& g! J! H' j/ ]
#22  N=12;
; b% }. l3 e5 w# t2 p#40  load=1;
* A& y- I& F& R- Y% v1 `#2   load=0;3 y, W9 [; g2 Q1 r6 z' M  l
end( a; G& o& B6 f) I

9 s" e( D& X. `5 {' a7 Hendmodule

評分

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

查看全部評分

3#
發表於 2007-8-28 10:56:04 | 只看該作者
還有一份講義可以參考看看
1 |' \" T0 M2 W0 w+ G" L! `( i希望對大大有所幫助
2 T) b$ ?5 [* ?# l7 k2 Q! v0 d8 `- b7 g2 V
! \1 R# R- N( i

3 W( S" u' p0 e& f
遊客,如果您要查看本帖隱藏內容請回復

本帖子中包含更多資源

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

x

評分

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

查看全部評分

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

) x+ C5 N8 O: q按評分, 就可以給感謝了....
14#
發表於 2008-2-22 17:34:54 | 只看該作者
Let see the shared material. THX.
15#
發表於 2008-4-24 07:28:10 | 只看該作者
幕讲义之名而来,呵呵勿见怪啦.                                              - \, t4 M7 u3 x" v8 W8 s% I  D
感谢
16#
發表於 2008-5-21 10:42:39 | 只看該作者

回復 3# 的帖子

感謝各位大大的資料 對初學者 真是受益良多
17#
發表於 2008-6-2 11:53:25 | 只看該作者
感謝大大的分享∼∼∼∼: w" ?/ v0 J6 X! R/ H1 U/ O
因為你的無私,讓大家能學到許多知識
18#
發表於 2008-6-2 22:10:25 | 只看該作者
我也想看看大大分享的講義~~
, ?3 E6 v' b, I) ?( Q+ p' y2 V回覆來看看囉!!感謝蛤!!
$ }9 L7 E1 S# X5 b5 _因為我是初學而已!!
19#
發表於 2008-6-8 20:55:26 | 只看該作者
你是要畫電路圖的方式設計~( t. Z7 P$ D- f* T1 s
那畫畫卡諾圖不就好了.... 只是比寫CODE還要麻煩....
1 _, e  z( L/ A: S4 o9 E6 k! x因為要接邏輯閘!!
/ c% P" Q4 w; k' F3 m3 p2 S用卡諾圖化簡!!
20#
發表於 2008-7-25 14:41:52 | 只看該作者
最近剛接觸這方面的東西, N; e' u+ `# i& l* X4 }* Q
, K/ Q1 n- x/ {7 a0 {8 J
剛好需要這些資料
' `- z, W# g: O* K  s% ?5 b+ r- \# p( R) B: F& T
感謝分享!!!
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-18 05:46 AM , Processed in 0.142518 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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