Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2007-8-28 10:40:06 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
如題
: L* i- P' X; k# B小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區  C+ g; B( Q" [2 ^1 Q
如果不是麻煩版主修改一下囉( {) E  q4 y5 ?# Y
9 F$ u5 S+ ^9 c+ }8 |: x
目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一個0-5的記數器開始記數
1 M$ j! Q6 Y8 O6 k; [0 k總之就是能夠記數0-59, 個位數記數0-9, 十位數記數0-5
+ T4 d# i/ S0 {1 ]
2 E2 A% A2 @* \/ m2 _. s( K請問各位有人有設計過這樣的電路嗎? 或是要去哪裡找相關的資料勒?) l+ D3 v! s5 C3 O
謝謝!

評分

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

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂2 踩 分享分享
2#
發表於 2007-8-28 10:52:11 | 只看該作者
原帖由 monkeybad 於 2007-8-28 10:40 AM 發表
/ W5 ^) x0 E% b# r  ^如題/ `+ g/ d. |1 ^3 r# {, F8 F8 @, b
小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區: B  [/ J5 a; _5 D, i; \
如果不是麻煩版主修改一下囉
' K+ h8 a0 X0 e: @  ^* r& [9 k+ i$ V
* F0 O2 Z# R  ~- S目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一 ...
% d3 c; \4 o' A& w) ^2 C4 E( s# i* ]
& J- B/ {4 h2 I% A
大大您是要寫Verilog還是電路
& \) z% J# ?* @. Z3 w% x* N& A' [3 s3 f2 [
先PO個RTL Code參考看看
" l& ?* ?" a# E: Z; X
6 B5 W7 O$ N7 ~0 `  M輸入:N clear load clk
* Y( b* S' F8 R& w& b2 v) p4 U3 s輸出:count
/ w$ [, B" F0 t& ^6 ~- W
& p: a" ~9 Z, z; p. M+ r# }行為描述(依照優先順序)
, z. v$ K- {2 R: K' X0 H+ a( ?1.如果clear為1,則輸出設為為0
9 A! t" p' C5 P3 U7 C0 e5 v2.如果load為1,則輸出設為N6 d6 e3 e8 d7 u3 ]
3.每個時脈輸出遞增一次(BCD)
( q: x: L$ j; F; ]/ T
4 v- `, j. k2 m$ g8 x. c4 K# K6 [- J" i

$ p9 z) _% t/ ~) _# }程式碼:( w5 Y+ B# k6 [1 U) x
BCDcounter.v4 U5 O" c% q  B3 F, W! l

! _6 W  _/ D+ qmodule BCDcounter(clear,load,clk,N,count);- y0 N  [1 u6 N
input  clear,load,clk;
; @  ?  x$ {! |# Zinput  [3:0] N;
8 E. R; O6 Z, _% @output [3:0] count;
2 [. D6 z6 Z# ]7 |reg    [3:0] count=0;
, J8 S: A8 M6 N3 e
/ J' n4 Q7 F7 Qalways @ (posedge clk) begin# l2 H) s0 Q0 x
  if(clear)                 //clear=1
5 o( J# S" g6 {/ U- o  }    count=0;: ~9 r# F' |/ x
  else if(!clear) begin     //clear=0(共有0 1 X Z四種狀態)- \( C7 l/ [  @5 F
    if(load) begin
" R6 a0 l7 |1 X) _, b2 ~      if(N>9)
/ p6 `  [$ ~4 ~7 }        count=0;4 _! F- ?1 @/ e% T, Y
      else1 u- s: B- b. R% s
        count=N;
0 Z! D! V7 \9 B- z: B    end
1 _  J8 \  _/ F, ~$ f& M7 F/ {/ q    else if(!load) begin
; S+ k/ T) f- Z  W) G* |/ f" i$ V      count = count+1;
. e3 @+ w, \- `$ y      if(count>9)
! p% p4 O! P4 v6 U0 H! Z4 |. J      count=0;
: K3 Z! b+ Q; X6 j6 \    end' b- C2 L1 n1 |  A' T& Q; ?
  end
+ }$ _2 Q" u, I! J1 Cend8 P' b, b; d- o8 R# k; [
endmodule: W  x. V" l6 r- x- h: G! K
" K! A$ I( B) Z* P2 {- R
bcdcounter_tb.v
; B9 U% h- V/ u; i) z% ]
! C& k$ E0 t# Q5 Q; x$ q. q. w& f. Wmodule bcdcounter_tb;& g1 W7 l5 u3 k$ x) u8 N4 u
reg clear,load,clk;
4 Q" k  T4 E8 d" Creg [3:0] N;
9 t/ f* m1 K# |/ Twire [3:0] count;
% g3 q! q: M, @2 w% F: W2 x* q) ~! ^2 R4 d1 W- |
BCDcounter m1(clear,load,clk,N,count);, }5 n4 n4 w: {! o; w! i
: {1 v" t8 J8 E, ?
initial$ Q' m! t% \: Q0 l7 B# \2 y& |
clk=0;3 p7 E+ [* j6 h6 `& x

9 Q1 P; `! [* D6 ]always #2 clk=~clk;8 U; B, c, k# M5 T! b9 M

( R" {2 `' l( J# o9 r! qinitial6 O2 J" D3 y4 k
#160 $finish;
, K6 Q6 v! Y' |4 e( v" N# P) h4 l( i6 z8 a0 u  r' p
initial begin& l: i( {* o& X4 P* s
    clear=1;$ `; s! Q" ~$ Q7 R. W# z
#4  clear=0;
' l6 }. l4 x. O! \! o& R#90 clear=1;
( e! Y% l' B8 c' O' D$ U; B  H#3  clear=0;
9 {. Q  v, }% k; J! T$ P+ pend
. p* J) ?) R6 H: w  G. R$ q, R
; n+ ]% t4 e; u: \$ ^& Sinitial begin% m' S, J: |. n
     N=6;load=0;) y# d% W0 ~4 `* Y+ e" y9 p! z8 F
#58  load=1;
% x# G8 o, Y( {% h8 p' b#2   load=0;
8 T' Y" Y) C1 b; [5 _# j#22  N=12;
$ U; ~. @) Q. O#40  load=1;/ \  a# a9 W7 s' o' ^: f% Y% A
#2   load=0;
9 r; ~* `5 a: ?5 I; P: o* ~end
, ~* W) I! T. {2 V3 X5 o2 H5 }7 _  G, Q
endmodule

評分

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

查看全部評分

3#
發表於 2007-8-28 10:56:04 | 只看該作者
還有一份講義可以參考看看
- Z8 L( M; h3 ?- h( _. ]% I希望對大大有所幫助
" p  U( G) n* ]2 f. Q$ z& B" K
# J+ w( S5 u6 Q7 v " o/ M- \# y; C1 C( V2 V, l8 {

4 R' F* e% \( q( g
遊客,如果您要查看本帖隱藏內容請回復

本帖子中包含更多資源

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

x

評分

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

查看全部評分

4#
 樓主| 發表於 2007-8-28 11:18:33 | 只看該作者
感謝小朱仔的熱心回覆$ `4 A+ y1 N- P' v+ K0 F* \4 i" \
不過我電路要自己畫 還有我不會用Verilog耶
% ^# d* E+ {' E4 o現在主要是要有電路圖 可以用Hspice模擬的那種
; H, Q! i- b+ v" X* @另外希望inverter越少越好 因為要求要省電! 還有要自己layout!& \& C* B: ]! v3 N" l
  h4 y. J' w4 \+ ?/ [8 \- r
樓上那份文件好像裡面有寫到 趕快研究一下! 感謝分享!
8 ]! @) N" [) v: Y) e/ k. _! i7 |  F' Y4 G9 E: }
[ 本帖最後由 monkeybad 於 2007-8-28 11:23 AM 編輯 ]
5#
發表於 2007-8-28 16:05:34 | 只看該作者
你那個要自己動手畫CMOS電路吧...
3 Z# {; j: f4 j2 y- j寫code習慣了, 真的很不想動手再做這樣的事, 不過推完booling equation後, 直接用Cmos畫出來不就好了???: U$ A) I! I7 `. ~
沒錯吧
6#
 樓主| 發表於 2007-8-30 14:21:06 | 只看該作者
恩恩 不過booling eq好像是在推導一些輸入輸出的條件
# g% f/ i1 e2 ]" R6 h! \2 w% e' z
$ G* Z7 J( p9 q1 U4 w記數器參考一些資料後 找到一個用ripple counter下去修改的
4 S+ x0 I0 i8 A3 t' Cripple counter就是用負緣觸發的T型正反器串接在一起 6 `+ W; `. ]: I1 P* M1 C! [
接著開始從0數到9 然後數到10的時候1 N# a  E! `. l0 u$ j" R0 k
就reset重新從0在開始數
7#
發表於 2007-9-3 15:08:06 | 只看該作者
ripper counter真不是個好主意, 不過要看應用, 在有些地方用時倒是好東東...
8#
發表於 2007-10-23 11:19:59 | 只看該作者
我很好奇某大大說的講義9 m* d& ^8 \0 F/ b
給我看看寫什麼吧
9#
發表於 2007-10-23 20:26:00 | 只看該作者
我這裡有時鐘的電路圖..以送去CIC下線..可提供給大大參考看看!
10#
發表於 2007-10-30 01:52:19 | 只看該作者
我看一看那個問題,要我聯想到CODE,一時還想不起來,真是太久沒有寫程式哩!6 o& e( ^/ m: J$ r3 C! \, G- \
看到CODE,有一點恍然大悟的感覺,又接著看,害我也想看那份相關資料囉!!
11#
發表於 2007-11-9 14:57:32 | 只看該作者
BCD conuter 應該是對自己有所幫助
12#
發表於 2007-11-14 23:29:59 | 只看該作者
bcd counter對初學者的我而言真的好難
( O& u' O5 R2 }5 s9 }# l5 c謝謝小朱仔提供的code囉
13#
發表於 2007-11-17 16:58:54 | 只看該作者
大大別忘了給小朱仔 "感謝"
6 W+ H2 M2 C% e" \# _; k: g; u4 X! k; Z% W. A% `) W6 C2 \
按評分, 就可以給感謝了....
14#
發表於 2008-2-22 17:34:54 | 只看該作者
Let see the shared material. THX.
15#
發表於 2008-4-24 07:28:10 | 只看該作者
幕讲义之名而来,呵呵勿见怪啦.                                             
! B1 J/ w# X+ P- i感谢
16#
發表於 2008-5-21 10:42:39 | 只看該作者

回復 3# 的帖子

感謝各位大大的資料 對初學者 真是受益良多
17#
發表於 2008-6-2 11:53:25 | 只看該作者
感謝大大的分享∼∼∼∼
' ~& k" {: L) ?# B因為你的無私,讓大家能學到許多知識
18#
發表於 2008-6-2 22:10:25 | 只看該作者
我也想看看大大分享的講義~~
. r" ?# A$ g. ^4 Q  c8 }4 d8 N回覆來看看囉!!感謝蛤!!
, q+ `  J6 H/ J7 Y因為我是初學而已!!
19#
發表於 2008-6-8 20:55:26 | 只看該作者
你是要畫電路圖的方式設計~
( w) X& V- y' V6 D7 t那畫畫卡諾圖不就好了.... 只是比寫CODE還要麻煩....
8 Y8 ?$ `+ U8 {' h" Y3 p0 x1 ~因為要接邏輯閘!!
2 N& l) A6 _' |) T! L) X5 J用卡諾圖化簡!!
20#
發表於 2008-7-25 14:41:52 | 只看該作者
最近剛接觸這方面的東西
9 Z* {" e+ Q0 z! e3 M$ q& s( h
/ C3 `# z. L9 k' j剛好需要這些資料! L4 K: [" [% ]# V

$ h+ ^$ `$ D8 _# X0 A5 B9 Z, U感謝分享!!!
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-6-8 04:52 AM , Processed in 0.156020 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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