Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2007-8-28 10:40:06 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
如題" K; N  V& `$ Z/ ]
小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區
' U/ k& {2 i5 U3 j7 s8 k# U如果不是麻煩版主修改一下囉
4 p' [9 z$ ~: [; k" l; E9 ^, Z$ Z/ \1 [* d1 l6 `1 ^
目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一個0-5的記數器開始記數
- F4 N' s* s# S7 ^7 D5 L5 L9 F" Y, G總之就是能夠記數0-59, 個位數記數0-9, 十位數記數0-5
9 s8 L! M% I( `1 w+ m) O: l+ N5 b$ y' s
請問各位有人有設計過這樣的電路嗎? 或是要去哪裡找相關的資料勒?
, R( I4 Q5 [0 m* l' t# m; F謝謝!

評分

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

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂2 踩 分享分享
2#
發表於 2007-8-28 10:52:11 | 只看該作者
原帖由 monkeybad 於 2007-8-28 10:40 AM 發表 . v" N# h( z' ~0 N: U8 V# s* u9 j
如題
. D/ a4 w' D0 D: \2 S- e' ~小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區: H- K" E; N+ J1 K: \
如果不是麻煩版主修改一下囉
- S3 f$ I/ P0 I; C$ [2 T3 u& ^5 X$ P
目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一 ...
# C2 Z( e' w6 d

# s6 `7 }. K& G" ]) M* Y大大您是要寫Verilog還是電路+ L& b- b9 ?# _* M, {
. v" m5 U" f! \+ B, r$ }
先PO個RTL Code參考看看/ M1 y( P1 x7 J& O
; |' `# i# \  w3 \! P* a
輸入:N clear load clk
, i4 y& T) J; w4 X' o+ ]輸出:count) s' ?6 R3 x" r# F9 K+ s
" e3 v4 N, j+ i% F; I# E3 Q
行為描述(依照優先順序)
& l' S4 @( q8 I: _5 r8 Y0 K# ^) I1.如果clear為1,則輸出設為為04 `" Y9 \, K3 Q: U& t7 x1 B# {5 T
2.如果load為1,則輸出設為N; R; c$ g- ]- q3 d
3.每個時脈輸出遞增一次(BCD)" K2 j+ n7 c: |$ O/ x+ t# W( J
6 h" V: L9 V' d$ s
( _4 i# z8 F2 q2 {. [% ^

6 u% t- ~* Y0 B  U; G% U# I" R( h程式碼:
4 k* V; s( [7 u( iBCDcounter.v
  k$ l  `2 f7 N8 A. v' S: {! ?
5 J+ \+ ~% F, `) W% ?- ?) ?; T; Gmodule BCDcounter(clear,load,clk,N,count);7 V( o% n8 P8 i- ?2 n" N( ^, c% K
input  clear,load,clk;: {( ~% |' C6 C7 W) L  `6 @
input  [3:0] N;
% {7 z- L' p7 E0 m% v* moutput [3:0] count;
, R7 l& W# U7 Z8 H& hreg    [3:0] count=0;
1 e( ^, r. r/ ]4 {
7 {) W  ]: H, O, H" nalways @ (posedge clk) begin
5 \8 V1 [- V% r" E$ b; H9 ~  if(clear)                 //clear=1: m+ _/ t: O; }, C5 ^4 s% Q
    count=0;
0 ]% Y6 \' D4 X6 S  else if(!clear) begin     //clear=0(共有0 1 X Z四種狀態)
# a. v9 C5 m! M, q    if(load) begin& P4 V4 E" x+ b' Y0 @( x8 R1 ~
      if(N>9)5 ]1 |/ M. U9 P. `  U
        count=0;
0 G, @9 O$ Q. b, q      else' [) i0 b5 n' O% I
        count=N;6 n% ]$ a% u! p/ w
    end% E& j7 M# V5 Q  v6 p" A
    else if(!load) begin! o! M& t7 O- U1 O1 f
      count = count+1;% `" P; t- ]$ M/ {3 R
      if(count>9)% p5 K$ \5 ~) c0 Q
      count=0;7 h6 C4 }: l; w7 u6 t& [
    end
& k7 K# G- j! a, r! E  end
" A7 r$ ?7 |+ j! Z% \, Z% X$ N% \7 mend
- o# u1 B: ~) x0 fendmodule3 o. ?1 |& R/ ?
3 `5 s# D/ S# E; K+ W$ d
bcdcounter_tb.v
: L  |+ X) O6 G( i& M+ ~/ x0 R& G7 ]" r+ v6 L# f1 K  j4 J+ i
module bcdcounter_tb;: }+ h: Q& h  m$ O1 e+ k
reg clear,load,clk;
$ _# h' f$ R9 r6 J  c8 Preg [3:0] N;
6 x" N1 {9 {, w& ]- X  ~wire [3:0] count;
. t5 f1 @4 I# `& D8 e, v1 Q9 Z$ o  c+ T4 n8 l) L
BCDcounter m1(clear,load,clk,N,count);2 s+ a4 m/ _2 l( m; _$ i& r

3 G3 g' E! `9 Q- [0 Jinitial! k( s1 z9 x8 ~6 h# L
clk=0;
! K0 H1 _1 k1 w3 m( b& W3 q
8 R$ w: L' o# E1 t. i: valways #2 clk=~clk;& s. }' p3 U0 j) D( L
: @) i/ M2 b' w  H" l7 |7 {4 ?
initial5 e; u0 ~/ m. m$ M
#160 $finish;
8 G& }  L* ?. H- M  H% i/ s/ S  D# h4 ]' y3 }  M
initial begin
( B$ ^' L1 g" l- n9 @. X' E  h( e    clear=1;& X: D1 T5 v+ c6 D
#4  clear=0;- A" O  g$ S  c1 r5 E0 R
#90 clear=1;5 b/ s% r8 @0 I# |- u; S
#3  clear=0;8 ^8 N  |& H& v: d7 x& x
end8 d4 J3 l6 H6 R

  P9 w5 R2 c" L7 T! N/ N( E2 ninitial begin
" x  O; |7 c' }5 k# y+ F     N=6;load=0;
" E  y; H  q5 g7 @, A8 @#58  load=1;
) W5 c+ d. ~1 X" G$ b: r#2   load=0;
3 H2 {# H" Z) t% h! z% F  J4 v#22  N=12;
- Z5 n1 }9 s- G& @& i#40  load=1;
, o* `& `2 r6 J8 K# }, N- v3 w% i#2   load=0;" G6 h; m- S8 v- ]7 w7 {: Q
end7 W% T4 [" Q  h& I! ^

( h2 a2 b+ K9 R; Z0 Q) Gendmodule

評分

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

查看全部評分

3#
發表於 2007-8-28 10:56:04 | 只看該作者
還有一份講義可以參考看看
! M4 X- b9 Y" N+ i' _希望對大大有所幫助
) J5 N' c- z  i3 c
% Q* A7 v+ e8 g" {/ `. A, Z
: f6 o3 i' ^$ c8 U% x* ]3 x4 Q( Y+ q+ d- s, i" L7 f
遊客,如果您要查看本帖隱藏內容請回復

本帖子中包含更多資源

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

x

評分

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

查看全部評分

4#
 樓主| 發表於 2007-8-28 11:18:33 | 只看該作者
感謝小朱仔的熱心回覆4 z% X1 z! P% l! b3 ?8 ~
不過我電路要自己畫 還有我不會用Verilog耶- h) b4 u7 k: U1 z6 |0 E6 i
現在主要是要有電路圖 可以用Hspice模擬的那種
. F) F2 X; h" _  D. m6 p5 s另外希望inverter越少越好 因為要求要省電! 還有要自己layout!8 X) q: R5 |# Y4 d/ X6 Z* _

( J/ ~# g4 @/ K2 f8 O% L樓上那份文件好像裡面有寫到 趕快研究一下! 感謝分享!
+ D: L; y+ g& R$ |
8 Y8 b' @* y) n, }$ Q; d, m$ J5 V[ 本帖最後由 monkeybad 於 2007-8-28 11:23 AM 編輯 ]
5#
發表於 2007-8-28 16:05:34 | 只看該作者
你那個要自己動手畫CMOS電路吧... : h2 n/ V2 ^7 b
寫code習慣了, 真的很不想動手再做這樣的事, 不過推完booling equation後, 直接用Cmos畫出來不就好了???
3 W% t2 Z& R. |3 |% w2 Y8 t8 [1 r. f, ~沒錯吧
6#
 樓主| 發表於 2007-8-30 14:21:06 | 只看該作者
恩恩 不過booling eq好像是在推導一些輸入輸出的條件
7 O+ _8 h9 h: N; b$ @- }0 L' `) O
記數器參考一些資料後 找到一個用ripple counter下去修改的* V  Z! f7 L) V1 U: T8 u& ^
ripple counter就是用負緣觸發的T型正反器串接在一起 . s* Q6 w, i3 ?  b
接著開始從0數到9 然後數到10的時候
8 k! B- U+ z& g) ~  @7 n就reset重新從0在開始數
7#
發表於 2007-9-3 15:08:06 | 只看該作者
ripper counter真不是個好主意, 不過要看應用, 在有些地方用時倒是好東東...
8#
發表於 2007-10-23 11:19:59 | 只看該作者
我很好奇某大大說的講義
* I  H0 O8 U% s* N  |; ~  J6 W; ~給我看看寫什麼吧
9#
發表於 2007-10-23 20:26:00 | 只看該作者
我這裡有時鐘的電路圖..以送去CIC下線..可提供給大大參考看看!
10#
發表於 2007-10-30 01:52:19 | 只看該作者
我看一看那個問題,要我聯想到CODE,一時還想不起來,真是太久沒有寫程式哩!
) O- H4 p1 y$ w" [5 t看到CODE,有一點恍然大悟的感覺,又接著看,害我也想看那份相關資料囉!!
11#
發表於 2007-11-9 14:57:32 | 只看該作者
BCD conuter 應該是對自己有所幫助
12#
發表於 2007-11-14 23:29:59 | 只看該作者
bcd counter對初學者的我而言真的好難
) Q9 g7 y! h/ G( @! F3 I謝謝小朱仔提供的code囉
13#
發表於 2007-11-17 16:58:54 | 只看該作者
大大別忘了給小朱仔 "感謝": f6 A) ^0 k$ B3 P/ Y6 M$ u

: A" t! j0 t% l/ j7 X" V( T按評分, 就可以給感謝了....
14#
發表於 2008-2-22 17:34:54 | 只看該作者
Let see the shared material. THX.
15#
發表於 2008-4-24 07:28:10 | 只看該作者
幕讲义之名而来,呵呵勿见怪啦.                                                s! j5 V2 S6 K& x' \# s( h" g
感谢
16#
發表於 2008-5-21 10:42:39 | 只看該作者

回復 3# 的帖子

感謝各位大大的資料 對初學者 真是受益良多
17#
發表於 2008-6-2 11:53:25 | 只看該作者
感謝大大的分享∼∼∼∼$ r, Q$ O% |9 J' v! Y
因為你的無私,讓大家能學到許多知識
18#
發表於 2008-6-2 22:10:25 | 只看該作者
我也想看看大大分享的講義~~% B& a0 K: A& f; W9 C* L' k" l
回覆來看看囉!!感謝蛤!!$ c  Q6 J2 m0 D1 s% @
因為我是初學而已!!
19#
發表於 2008-6-8 20:55:26 | 只看該作者
你是要畫電路圖的方式設計~
, z) _9 k( _% Y  H) t那畫畫卡諾圖不就好了.... 只是比寫CODE還要麻煩....
5 z: O/ Y# a- \  ~$ R) E/ M" B' N) M因為要接邏輯閘!!
0 p1 G' f8 z# Y6 g3 E' X; F用卡諾圖化簡!!
20#
發表於 2008-7-25 14:41:52 | 只看該作者
最近剛接觸這方面的東西
" W6 O& n& O/ u' V! K& a& `! w, Z: C; w' k% z9 j
剛好需要這些資料9 ^( B5 o- H, C) H

9 z5 F6 q8 U6 F' ^! H" B感謝分享!!!
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-4-23 03:57 PM , Processed in 0.142008 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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