Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2007-8-28 10:40:06 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
如題
* O( k" S. l* I" |小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區- a1 B3 J4 c# @, u& k
如果不是麻煩版主修改一下囉* Z9 K2 d+ J! Q* B7 z, ?( L

$ G1 {: e+ M1 J* y8 ?* x目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一個0-5的記數器開始記數  g/ w# V1 i$ v3 q3 L# D# K, I
總之就是能夠記數0-59, 個位數記數0-9, 十位數記數0-5* P: l' i# [4 J3 Y  I. [/ }

: D4 \/ A; y$ x- ^/ p% @3 e請問各位有人有設計過這樣的電路嗎? 或是要去哪裡找相關的資料勒?
: e1 r  a1 K) ]4 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 發表
* {) X% \! c. n: [8 k+ O3 F  c如題
- p% o, q0 E' I4 C8 l/ K1 D小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區
5 A, P' {& d& M( x6 E& H如果不是麻煩版主修改一下囉6 n: r* j$ j: e( b

* i* X* K8 T4 y  t目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一 ...

/ ^* n0 O9 }  w% S9 n: t% v$ M3 e
+ r! E( w. l0 Y% Q+ X大大您是要寫Verilog還是電路
6 _! P6 s9 P8 R& R1 {3 f# d
% ~0 Q! i7 n7 i+ `4 N先PO個RTL Code參考看看
7 |, \8 @6 P7 Z3 q9 c4 t; z6 w( e- J8 }$ A
輸入:N clear load clk0 l6 \/ [. m# b. [- @, B
輸出:count
+ [! d$ U9 t6 ]+ N% R
% k! Q+ ?! r+ n& x" y行為描述(依照優先順序)" P: E$ Q* o. a' q# I9 K) N! c" m7 o
1.如果clear為1,則輸出設為為0
/ h6 G& N$ n# b. P2.如果load為1,則輸出設為N
3 Q" }0 L/ r7 N: W2 A3.每個時脈輸出遞增一次(BCD)' C( ]+ x0 a3 U; j! l

0 L! R7 J4 i- U7 x% D1 X! e! y1 c

$ W. |4 h' R0 U( r& l7 v程式碼:; ~* H9 R& g5 g2 ?: d; F' Q
BCDcounter.v0 a' ^1 p- [" J

5 T1 u+ r+ y$ vmodule BCDcounter(clear,load,clk,N,count);1 b; F1 G; Q" ^( Y
input  clear,load,clk;
5 M" d  R" J: J2 i* q+ t# o! z7 Yinput  [3:0] N;
/ s' @- E7 ?' O- |. xoutput [3:0] count;
/ F' a* h" n. Oreg    [3:0] count=0;9 x, \) o3 }1 r" s- |* g5 Q

  @. b" G' o% u3 w- ualways @ (posedge clk) begin
9 f0 @5 I1 F8 `- v3 F" u1 o/ {$ r1 `  if(clear)                 //clear=11 _0 o: r$ l- |2 S: Q  |
    count=0;
6 h/ S4 f0 K! Z- ?  else if(!clear) begin     //clear=0(共有0 1 X Z四種狀態)
9 k6 K. G1 m; D6 o) A8 h    if(load) begin# o6 _4 J3 c- F6 `3 I
      if(N>9)" x$ l/ R/ Q7 C2 \6 z; y! b
        count=0;
) J: ]5 v) {- z; g6 H      else
# A0 C! a  T6 o# p3 c5 w" P. x" i* c        count=N;, i! w  r) m$ v7 a" E) c6 G
    end' d1 O- a* W  x$ x# n
    else if(!load) begin
) ^% ~; m; e( [$ A/ \      count = count+1;% H5 C9 q8 E) Y$ K" q; o
      if(count>9)
8 q% u  y# C& I+ L      count=0;4 i- p$ F, v7 z6 d' A. {1 O. N
    end' _1 W9 e# k7 e% i. b7 {) ~
  end, L2 f- X1 V# g
end
/ `. y$ E4 ~2 k: I% z4 z: w2 aendmodule5 S1 H) K6 Y) N; E: d

( h8 j5 U; N+ y$ s" Y! V  o+ w" }, `bcdcounter_tb.v
* i$ J6 X1 C- x9 d% P) P% u
7 s4 Z% Y7 f1 d3 L+ g( emodule bcdcounter_tb;
, d2 x. a) l# X0 `" kreg clear,load,clk;# c; ], ^: E% \% s. i# q
reg [3:0] N;
( u) @" S5 p9 [. C: g% ]  P$ Zwire [3:0] count;
2 T5 V' }" o: a/ j+ e, f# D3 x9 k9 [8 E5 z9 `
BCDcounter m1(clear,load,clk,N,count);8 b# T  ?3 k# G5 c% Z: d
' Y2 l9 p" C1 Z* k
initial+ j# Y( l1 ]1 Q. C' l7 G* Z
clk=0;
+ F" p; W) O  z+ W+ K( S& J* ]% |2 e8 p- A- J% L
always #2 clk=~clk;
+ ^- U$ u+ a8 Z0 G
+ X8 K- j+ o$ B$ @initial
9 `  C' P+ `* r#160 $finish;
0 ]; w# g$ H: Z, N
3 i3 q& \3 @3 r% b+ D  `* Rinitial begin( J5 {5 h2 F/ @( c5 W$ ?
    clear=1;
" Y- v2 Z# {' S' Z% s7 ^#4  clear=0;! d, d/ O1 B! }) w
#90 clear=1;7 d( h. Y* Z3 M% n4 a; C- s( Q
#3  clear=0;6 E% o3 c& |- L1 `  A' q
end
; M# ]: X5 y( P# f% u! ~& ~0 ^, l9 V$ v, r3 k  U& ~& t- U
initial begin
6 t% p  u) J" s4 J1 P6 a     N=6;load=0;
4 q+ u' a5 {& l& D5 D: ]3 e) ^#58  load=1;, Z% [; H1 a/ K2 J# d* K
#2   load=0;  x9 P8 z; d( W. }, u
#22  N=12;3 ^; l, y5 ~( ]$ n! x
#40  load=1;
. q% X1 D* V8 n1 ~, D# X9 T#2   load=0;
+ ~! o7 G& y2 U* o2 M; P" ?1 Kend% i9 h: z6 A  Q! x7 l, ?- K1 l

* l* [& w  V$ H1 ~0 Sendmodule

評分

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

查看全部評分

3#
發表於 2007-8-28 10:56:04 | 只看該作者
還有一份講義可以參考看看: m/ m+ I1 S# y4 S, P. f  H
希望對大大有所幫助
' G$ F3 I1 g8 E6 x. o
$ h5 O/ M9 r  z) u8 e
/ z; e2 i8 R( B1 q  ]
! s, M. y) ~9 |0 R
遊客,如果您要查看本帖隱藏內容請回復

本帖子中包含更多資源

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

x

評分

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

查看全部評分

4#
 樓主| 發表於 2007-8-28 11:18:33 | 只看該作者
感謝小朱仔的熱心回覆' ]" I5 K* G& Q5 _
不過我電路要自己畫 還有我不會用Verilog耶
. U* R5 s( Z% ?0 D5 d$ ~現在主要是要有電路圖 可以用Hspice模擬的那種! z  X; b6 D3 Q7 F# f6 E
另外希望inverter越少越好 因為要求要省電! 還有要自己layout!' ~- x" t8 z  c+ n8 |

& `7 C+ Y2 o. i( B, f樓上那份文件好像裡面有寫到 趕快研究一下! 感謝分享!
, i% {. g  S# V: w. O) ~
* g9 Z8 t  K: q5 {[ 本帖最後由 monkeybad 於 2007-8-28 11:23 AM 編輯 ]
5#
發表於 2007-8-28 16:05:34 | 只看該作者
你那個要自己動手畫CMOS電路吧...
* T9 m0 V0 \; P1 Z3 G1 F9 }& r寫code習慣了, 真的很不想動手再做這樣的事, 不過推完booling equation後, 直接用Cmos畫出來不就好了???, c! V' {4 |2 e- Z2 E2 t
沒錯吧
6#
 樓主| 發表於 2007-8-30 14:21:06 | 只看該作者
恩恩 不過booling eq好像是在推導一些輸入輸出的條件% J; b  u* P. v+ C- r5 y6 x

5 F2 U. ]8 j5 j6 t) E記數器參考一些資料後 找到一個用ripple counter下去修改的
: H) X3 x' ?! Iripple counter就是用負緣觸發的T型正反器串接在一起
7 z; b& e/ C& V2 u- p3 W% o; `接著開始從0數到9 然後數到10的時候) ^! m7 g, S! A# A
就reset重新從0在開始數
7#
發表於 2007-9-3 15:08:06 | 只看該作者
ripper counter真不是個好主意, 不過要看應用, 在有些地方用時倒是好東東...
8#
發表於 2007-10-23 11:19:59 | 只看該作者
我很好奇某大大說的講義. C5 o3 D( Y) s5 ?5 P5 J; g/ B' V
給我看看寫什麼吧
9#
發表於 2007-10-23 20:26:00 | 只看該作者
我這裡有時鐘的電路圖..以送去CIC下線..可提供給大大參考看看!
10#
發表於 2007-10-30 01:52:19 | 只看該作者
我看一看那個問題,要我聯想到CODE,一時還想不起來,真是太久沒有寫程式哩!2 t) ]3 r9 M, }
看到CODE,有一點恍然大悟的感覺,又接著看,害我也想看那份相關資料囉!!
11#
發表於 2007-11-9 14:57:32 | 只看該作者
BCD conuter 應該是對自己有所幫助
12#
發表於 2007-11-14 23:29:59 | 只看該作者
bcd counter對初學者的我而言真的好難  \# S; o1 G" c5 s, m' d* |
謝謝小朱仔提供的code囉
13#
發表於 2007-11-17 16:58:54 | 只看該作者
大大別忘了給小朱仔 "感謝"
% ~2 D# \! r. Q( O
. H7 x  a$ m+ Y4 K, c按評分, 就可以給感謝了....
14#
發表於 2008-2-22 17:34:54 | 只看該作者
Let see the shared material. THX.
15#
發表於 2008-4-24 07:28:10 | 只看該作者
幕讲义之名而来,呵呵勿见怪啦.                                              6 E" w' Q9 ~  S9 s
感谢
16#
發表於 2008-5-21 10:42:39 | 只看該作者

回復 3# 的帖子

感謝各位大大的資料 對初學者 真是受益良多
17#
發表於 2008-6-2 11:53:25 | 只看該作者
感謝大大的分享∼∼∼∼
6 F! y% v8 k' o因為你的無私,讓大家能學到許多知識
18#
發表於 2008-6-2 22:10:25 | 只看該作者
我也想看看大大分享的講義~~
5 d5 p  X, F5 H, u; y回覆來看看囉!!感謝蛤!!
' p+ O7 S! U% O# T  P" H因為我是初學而已!!
19#
發表於 2008-6-8 20:55:26 | 只看該作者
你是要畫電路圖的方式設計~- Y, n) ~- n: A$ u' M
那畫畫卡諾圖不就好了.... 只是比寫CODE還要麻煩....
" @6 j5 i5 c7 i8 K' u5 U/ E; M因為要接邏輯閘!! $ N, [- \8 d& L  N" z; H! {
用卡諾圖化簡!!
20#
發表於 2008-7-25 14:41:52 | 只看該作者
最近剛接觸這方面的東西
: t/ k# x( b' h' u1 t" H7 r" F  m
( R4 Y# I* o5 C/ S4 n! B# y剛好需要這些資料
# k7 R) ]% I& R# L% _& A
- v6 b4 B* u* V) b& ?0 V感謝分享!!!
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-18 12:52 PM , Processed in 0.140518 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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