Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2007-8-28 10:40:06 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
如題
, I2 \9 _6 |* |$ P: a2 w) h小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區
. k# |8 S5 i! w, L: b如果不是麻煩版主修改一下囉* J; h1 b- n2 S0 D' z

" P! Y( c7 a6 U7 B- X$ E目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一個0-5的記數器開始記數0 J, ~. l6 `7 J
總之就是能夠記數0-59, 個位數記數0-9, 十位數記數0-5$ D# A2 f" e! }; }
- N0 I2 S% G7 l: _6 [) P, z
請問各位有人有設計過這樣的電路嗎? 或是要去哪裡找相關的資料勒?5 S! R9 j4 H8 H
謝謝!

評分

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

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂2 踩 分享分享
2#
發表於 2007-8-28 10:52:11 | 只看該作者
原帖由 monkeybad 於 2007-8-28 10:40 AM 發表
! e- O( O) B8 I! @& c如題7 e4 i/ M. r, T7 h4 m
小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區
2 Y. X/ K( v* q; I* J# o如果不是麻煩版主修改一下囉# `* _3 H8 a8 P

* F" L8 U3 v/ ~目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一 ...
1 D& E, @, h( P' P# a% y$ v

7 a5 y! q! L4 g7 H3 v0 a+ H) {大大您是要寫Verilog還是電路
3 }( w3 ~9 v- E' O2 t+ G
  i. R+ R4 Y' X  b% k! V" x先PO個RTL Code參考看看
. C8 s+ d% E  u
( g3 }0 @) _- n2 n8 |  j& _6 e輸入:N clear load clk9 y# [6 x2 y3 A
輸出:count
* C9 ?, K* H& v9 u
' \7 y2 g6 n' z! m' z% Y行為描述(依照優先順序)
. d3 a- i. |% y! d5 l( t3 r1.如果clear為1,則輸出設為為0$ }& \; [$ c2 N- F, K6 F1 k$ P
2.如果load為1,則輸出設為N
: u" F0 u7 ^. C! Y% {3.每個時脈輸出遞增一次(BCD)5 ]+ Q1 j* u7 r# N7 M) M" h, l

+ b  Z  p6 D, z( J) r8 @4 G
" H4 s- K  b9 @) J
* i8 e& c. o, N2 }2 V程式碼:; c$ n. v! o  K" }
BCDcounter.v
, b3 k. X! m. d
( H1 Q1 x1 z. d7 V) I- i8 Wmodule BCDcounter(clear,load,clk,N,count);
' v! \" Q& R1 q# @2 g  x: f3 einput  clear,load,clk;
( p6 [  O  ~& \. X8 Q$ [/ E$ A9 W& jinput  [3:0] N;4 U8 V& V9 U! [3 w9 ^$ M9 r
output [3:0] count;
6 j8 C" F6 T# H+ d% L1 r0 qreg    [3:0] count=0;5 E0 ]* D5 W6 |- m/ ?: O7 m) x' I9 F
+ Z& ]9 K5 h( S& O: A/ g
always @ (posedge clk) begin( b* c# X: Q" B' H4 C' Y+ x6 |
  if(clear)                 //clear=1' E- c# O7 `9 f
    count=0;9 p) r+ k  ^" }, N1 S- }, x
  else if(!clear) begin     //clear=0(共有0 1 X Z四種狀態)7 n- L3 W% M0 U% o+ W  U
    if(load) begin
" ]) h! g' k) t& l; d      if(N>9)( L1 m: F2 u6 b3 [& q
        count=0;3 d# i% S1 l; u# i& _& ?( F& a
      else8 e# j. E1 E$ p
        count=N;* k; S3 c0 I  @5 E+ P3 h: `# c
    end
! }! t  [9 t1 G: j    else if(!load) begin: k# s# x$ l5 S3 B
      count = count+1;8 Q+ S* u. [3 e  v& ^9 I/ R* M
      if(count>9)
) _& ]1 e8 B# [, S' D. j      count=0;
# p! J. v. G: y    end7 h4 |3 Q4 s# L& N. y9 G0 z9 G
  end
$ i% u0 S; P' I$ A" {' |' ?end7 y! C% G! r3 E! v0 u
endmodule4 C% H: U; H2 s% F* g
4 S1 ]: J+ Z0 F* H
bcdcounter_tb.v* m0 s0 V) e1 y2 ?

9 T' q5 F) H2 U* z+ S! a$ {module bcdcounter_tb;
- w, @: ?4 e8 g. S% D/ ~7 a& nreg clear,load,clk;7 @2 E( s0 T  ]% Y
reg [3:0] N;
/ ^+ Y! Y. D1 `; e  `wire [3:0] count;
8 J5 v& d3 ~7 z: v6 E
  T- L# t9 g: O, a# m1 nBCDcounter m1(clear,load,clk,N,count);4 O2 m7 m4 S) G0 d# F8 i4 T
, Z9 s5 o2 F, E/ n4 k+ H
initial
* A9 R* B' F7 [clk=0;
: w( N+ U6 X& y5 J* Y1 D  a+ N9 S: R  q& k8 G! E
always #2 clk=~clk;% M; |! m. Q) t( P

9 [1 B* m6 W1 \; }: H, v! D& _) N# l/ iinitial/ l) n! I" s  z* V. b1 B
#160 $finish;. G. P! u! w/ \# Z% D
; y" `0 c, x3 x- x$ ?1 Q
initial begin
8 ~  h0 X: u: ]  j3 z. s( P    clear=1;8 \; ~. m4 ]- u- p+ X, S4 n
#4  clear=0;" |3 E. D0 L# U8 I9 m0 I! s0 G( A
#90 clear=1;: z3 h+ D4 _+ O4 G, ~! H- u, t
#3  clear=0;4 o' C7 a1 b1 K1 {
end; }  ~% d; R8 i" w; T: B: \

/ c3 S4 @+ k$ u! E" L( _5 Ginitial begin
9 Q' T8 R2 y( Y$ A+ \: I* Y# L* K     N=6;load=0;
6 D& S0 M, q/ p: E. @" \: o4 T7 Z4 [#58  load=1;& n; y* Z8 ~0 i* q+ X0 v
#2   load=0;+ F/ O" L: _" ^& T! |
#22  N=12;) W0 w: A* y/ @, {
#40  load=1;' Z( z' p! w5 M) X( ^# k; b' W
#2   load=0;+ X& n9 D* K" o* [: [1 n2 C+ M
end
5 F7 z' G+ w- V* M6 J; o$ F/ b( M% Z& g3 e5 A% c
endmodule

評分

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

查看全部評分

3#
發表於 2007-8-28 10:56:04 | 只看該作者
還有一份講義可以參考看看- u" ?) z) ~# Z9 ^, ~
希望對大大有所幫助1 R; a4 A* Z5 F2 \/ T4 ~  _
! M" o& Q7 d3 L# L# e

5 v3 X! D2 ~* i8 w: R' ?& ~) ]
" h- j& o- k5 x
遊客,如果您要查看本帖隱藏內容請回復

本帖子中包含更多資源

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

x

評分

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

查看全部評分

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

/ r% u$ B% G: ?& `按評分, 就可以給感謝了....
14#
發表於 2008-2-22 17:34:54 | 只看該作者
Let see the shared material. THX.
15#
發表於 2008-4-24 07:28:10 | 只看該作者
幕讲义之名而来,呵呵勿见怪啦.                                              ! y8 b  F1 V' t, }& V
感谢
16#
發表於 2008-5-21 10:42:39 | 只看該作者

回復 3# 的帖子

感謝各位大大的資料 對初學者 真是受益良多
17#
發表於 2008-6-2 11:53:25 | 只看該作者
感謝大大的分享∼∼∼∼
3 F# s) k+ A  M; p$ L因為你的無私,讓大家能學到許多知識
18#
發表於 2008-6-2 22:10:25 | 只看該作者
我也想看看大大分享的講義~~4 u0 {& H. ~: g5 R. p# D) F
回覆來看看囉!!感謝蛤!!
8 K& o+ {8 _$ Q+ X# O因為我是初學而已!!
19#
發表於 2008-6-8 20:55:26 | 只看該作者
你是要畫電路圖的方式設計~0 e9 f6 R( {- ~
那畫畫卡諾圖不就好了.... 只是比寫CODE還要麻煩....
- f* E! Y6 h: ?) y因為要接邏輯閘!!
2 T- T2 q5 i; ?: ^: ]用卡諾圖化簡!!
20#
發表於 2008-7-25 14:41:52 | 只看該作者
最近剛接觸這方面的東西
. c! p6 H' @% g0 M" N) R# }
' D% M; l2 `! p! z剛好需要這些資料7 J% @5 l5 f" y4 u0 Q2 K
+ C3 G  A* f8 N/ c
感謝分享!!!
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-15 06:43 AM , Processed in 0.131516 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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