Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2007-8-28 10:40:06 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
如題4 F) U  P3 _4 C: G( v
小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區
8 N  f2 c9 H5 S6 @. J: |如果不是麻煩版主修改一下囉
! `, q" k. d0 M, b& a
4 M  }- I4 v# f3 O$ v5 K* Z目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一個0-5的記數器開始記數
  z( G8 u, w* Q$ P3 ?* [總之就是能夠記數0-59, 個位數記數0-9, 十位數記數0-5
' z0 O$ Z# s8 U7 k8 L% T% P
. o/ [" G4 ?8 o: c& ~( [# V請問各位有人有設計過這樣的電路嗎? 或是要去哪裡找相關的資料勒?( w2 e/ ^% R! @  j9 _
謝謝!

評分

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

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂2 踩 分享分享
2#
發表於 2007-8-28 10:52:11 | 只看該作者
原帖由 monkeybad 於 2007-8-28 10:40 AM 發表 6 K  g0 Q3 l: _0 G
如題. v; j" u2 @+ a4 P
小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區
/ \2 v- G8 E2 I) U! C, u如果不是麻煩版主修改一下囉; C% O  D6 c/ P2 |2 W
$ ?" z9 d# f- ]6 b" _; t
目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一 ...
( y* g9 D8 h  B& J7 H4 L; M

0 F; ?& x% S: h; H8 U" v大大您是要寫Verilog還是電路
2 E( K% g/ @5 v8 R) F6 n; s9 ^' j
先PO個RTL Code參考看看6 [$ A# g/ Q/ x
1 q4 d! A" M: k  b6 e0 h) k
輸入:N clear load clk5 O% t; R+ v/ H4 Z7 ?0 h% ]0 }
輸出:count' p- R) N! H  u) c2 D. W! D
; d# B% i$ @; d; M& [
行為描述(依照優先順序)7 b8 \3 @& L4 B1 b' A
1.如果clear為1,則輸出設為為0
6 c0 N5 L( |+ m' [8 V& n2.如果load為1,則輸出設為N
3 P, ~$ M) Q1 }& [3.每個時脈輸出遞增一次(BCD)) @' _0 b4 n0 E$ {, |' W1 m( I

- D: c' w# b6 K
" x9 ^- |5 d' o4 w+ q
2 R0 |, @9 I2 o( M) s" |+ Y程式碼:( {- r3 _8 L" R; a% J
BCDcounter.v0 [5 {; y8 w+ Y) @7 f
7 l1 D- O2 K! k" x% {4 k. O# i
module BCDcounter(clear,load,clk,N,count);3 N# ]3 ]! Y6 k1 a1 \
input  clear,load,clk;$ o5 k: ^( f& a+ ]# |5 Q5 Q+ w4 j
input  [3:0] N;
7 i% @& z& J5 Poutput [3:0] count;* s" [/ W; W# ^! M* `% j
reg    [3:0] count=0;4 u2 D$ y- m6 F+ w7 N1 S$ p2 l+ `
8 X- i# W1 G; m1 p' G- h9 |3 N
always @ (posedge clk) begin6 ?/ k+ y% j9 Z/ b6 F
  if(clear)                 //clear=1
" I1 L9 e7 `) t6 r# J. \    count=0;
- b6 i) K; x& h9 \* C' ~- g! Y  else if(!clear) begin     //clear=0(共有0 1 X Z四種狀態)1 `1 H4 @9 G( P. F4 W( y
    if(load) begin  l4 f/ H) Z0 l# ^9 {
      if(N>9)9 l6 M! j" }' D# U
        count=0;
6 v/ q6 p3 \3 J  O* H) f      else
! Z/ q2 Z  x6 P5 v& h8 E$ I        count=N;7 j. R! ], x: Y" {, t
    end
: x+ s  }2 V. z! A$ j- n- ]    else if(!load) begin
$ h* S2 }0 W7 q' n! ?; b3 h      count = count+1;' R8 q* y& C. {3 B' l
      if(count>9)
6 V  ^; p1 v( D: m$ _      count=0;
, a, h! Y5 M0 E+ ?: ^: }$ T    end, w1 s% a; y" E1 v- o4 A
  end3 W) X* j6 m* i, Q( E  ^/ x# r. ]
end
( J* g" M9 W8 q5 R* H! Fendmodule
+ {! Z) D4 N; B# ]9 V( D
8 k2 Y+ g: }( M. G; N6 J+ L2 X; Kbcdcounter_tb.v1 r4 K: k! k  ~' _) d# P" d' U' h

3 |' l9 D/ u' v" Kmodule bcdcounter_tb;
: a, k+ I( ~6 E1 F3 e) }reg clear,load,clk;* n( A2 C! C" w' ?% q
reg [3:0] N;
' V1 L2 A" C* X' x, hwire [3:0] count;; G" P( S% I9 d6 F( b( C
4 g- b8 q- j% s
BCDcounter m1(clear,load,clk,N,count);8 m! T$ K+ q8 [6 O' h
# R) F, y9 ^8 Y/ B( ^
initial
5 [, |  d3 G1 `. Uclk=0;
: o' D( @/ Z/ n/ c+ P8 h! C" n/ a6 z* x* L+ q* J$ p/ t
always #2 clk=~clk;) u5 O0 c1 }; A2 t8 ^

% |1 W9 P7 C7 f( @initial4 j. i; G  o- B, T$ _* E
#160 $finish;/ j; i/ \- d6 c+ i  B

) H; O' s- _& U. I; Einitial begin
% _8 ]% n7 ~" g. e! J1 O    clear=1;# }3 @; F# Y- o
#4  clear=0;
2 m1 R, Y7 g% V9 h7 b4 w- Y: C4 @#90 clear=1;/ W7 b' B; @! K5 w7 `) l/ @) U
#3  clear=0;/ `8 N9 }% V  X* P6 k: m# P9 w
end
1 O+ ^# X8 s! [; t$ s
1 m& g+ k: ~2 m2 U# b2 Ainitial begin* ?: @/ W6 ~' k) F8 y/ @2 S! d
     N=6;load=0;
5 W- _/ L) R" C# W. I) h7 q#58  load=1;
3 A; U7 Y' d$ q#2   load=0;/ R# }/ d0 W+ e; F
#22  N=12;4 w4 a' j  k. D! m& i
#40  load=1;- P" T/ k( [/ A
#2   load=0;
" L, L8 O8 Y7 c( m. B: \end) M! F  n6 Y9 L8 P! P& q

2 F) ~( T; D$ Zendmodule

評分

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

查看全部評分

3#
發表於 2007-8-28 10:56:04 | 只看該作者
還有一份講義可以參考看看5 r7 B; m( w; g& ~- o4 s$ I
希望對大大有所幫助
, s& @2 K9 l& [+ N" t1 _9 @2 T0 L
  t: s7 ~: b- v! x' T" q   R0 Q, \8 A9 c* _1 e" b3 u+ ?
# R$ ^4 M( J5 _) m. U' f0 b1 p5 Q
遊客,如果您要查看本帖隱藏內容請回復

本帖子中包含更多資源

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

x

評分

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

查看全部評分

4#
 樓主| 發表於 2007-8-28 11:18:33 | 只看該作者
感謝小朱仔的熱心回覆
& y! y7 D3 a* r  q8 n; T# m, K不過我電路要自己畫 還有我不會用Verilog耶
* H2 d3 o; P  l8 b現在主要是要有電路圖 可以用Hspice模擬的那種
) q& B; F" }1 J/ Z3 Y$ ]' U另外希望inverter越少越好 因為要求要省電! 還有要自己layout!8 Y6 j$ b% h8 k/ Q/ a7 H# ^7 F

: @1 h" t7 i  Q7 P" D- Q樓上那份文件好像裡面有寫到 趕快研究一下! 感謝分享!
  a! A2 ^9 {& V# d
: Y) ?, q4 R" i  b$ S; K[ 本帖最後由 monkeybad 於 2007-8-28 11:23 AM 編輯 ]
5#
發表於 2007-8-28 16:05:34 | 只看該作者
你那個要自己動手畫CMOS電路吧...
% e/ G& `) y" F3 d/ Q寫code習慣了, 真的很不想動手再做這樣的事, 不過推完booling equation後, 直接用Cmos畫出來不就好了???  j) i/ c0 Y/ W! s$ t, T* n
沒錯吧
6#
 樓主| 發表於 2007-8-30 14:21:06 | 只看該作者
恩恩 不過booling eq好像是在推導一些輸入輸出的條件
& S; N: P& j2 K! V* G
/ ~& v6 J5 \# i* R記數器參考一些資料後 找到一個用ripple counter下去修改的
% T" h4 L: I, Z$ J' C3 ^" P4 qripple counter就是用負緣觸發的T型正反器串接在一起
! N! q) f/ v4 G接著開始從0數到9 然後數到10的時候7 _0 r9 P# }* W! Y; F$ X& }3 D
就reset重新從0在開始數
7#
發表於 2007-9-3 15:08:06 | 只看該作者
ripper counter真不是個好主意, 不過要看應用, 在有些地方用時倒是好東東...
8#
發表於 2007-10-23 11:19:59 | 只看該作者
我很好奇某大大說的講義
. h% ]* j: E, `給我看看寫什麼吧
9#
發表於 2007-10-23 20:26:00 | 只看該作者
我這裡有時鐘的電路圖..以送去CIC下線..可提供給大大參考看看!
10#
發表於 2007-10-30 01:52:19 | 只看該作者
我看一看那個問題,要我聯想到CODE,一時還想不起來,真是太久沒有寫程式哩!# c3 j, G2 u; S" z& a5 }
看到CODE,有一點恍然大悟的感覺,又接著看,害我也想看那份相關資料囉!!
11#
發表於 2007-11-9 14:57:32 | 只看該作者
BCD conuter 應該是對自己有所幫助
12#
發表於 2007-11-14 23:29:59 | 只看該作者
bcd counter對初學者的我而言真的好難  O0 U1 [7 h( V2 q8 |
謝謝小朱仔提供的code囉
13#
發表於 2007-11-17 16:58:54 | 只看該作者
大大別忘了給小朱仔 "感謝"! E# |: p0 a5 c3 h  f
! X: F. t. j+ R
按評分, 就可以給感謝了....
14#
發表於 2008-2-22 17:34:54 | 只看該作者
Let see the shared material. THX.
15#
發表於 2008-4-24 07:28:10 | 只看該作者
幕讲义之名而来,呵呵勿见怪啦.                                             
9 m2 c' u6 j- V) R感谢
16#
發表於 2008-5-21 10:42:39 | 只看該作者

回復 3# 的帖子

感謝各位大大的資料 對初學者 真是受益良多
17#
發表於 2008-6-2 11:53:25 | 只看該作者
感謝大大的分享∼∼∼∼
6 M9 v9 Z, A: ?因為你的無私,讓大家能學到許多知識
18#
發表於 2008-6-2 22:10:25 | 只看該作者
我也想看看大大分享的講義~~
' ?  u- q) K, m- I3 D回覆來看看囉!!感謝蛤!!8 l! |$ L: l- B% B* v" s
因為我是初學而已!!
19#
發表於 2008-6-8 20:55:26 | 只看該作者
你是要畫電路圖的方式設計~5 q' }/ ^; `7 T* G: \0 o0 |- Z, \6 u
那畫畫卡諾圖不就好了.... 只是比寫CODE還要麻煩....
" \7 m6 _* ?9 I6 L* m6 A因為要接邏輯閘!!
9 k3 G5 ?9 c1 Z7 K, s" [) n2 E5 |用卡諾圖化簡!!
20#
發表於 2008-7-25 14:41:52 | 只看該作者
最近剛接觸這方面的東西6 A+ V. }' c7 j- X

$ A0 x- s0 q4 H7 X/ y9 D剛好需要這些資料4 Q, P7 g+ r& N6 ?! }( k% L
  [! g: X- |; E4 M- S/ i
感謝分享!!!
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-6-8 01:15 PM , Processed in 0.172022 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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