Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2007-8-28 10:40:06 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
如題
- e5 R/ m$ L" a3 s' C: P3 J+ [小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區
: [+ e$ e8 n1 S& C- N% M3 u如果不是麻煩版主修改一下囉* X+ M  u* _! R4 `

' H: p4 t* m! ]目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一個0-5的記數器開始記數
) t8 ~9 L( X: r( b, J1 ~  V總之就是能夠記數0-59, 個位數記數0-9, 十位數記數0-5
  v2 o% c0 k5 m/ Y1 y  o8 A  j* w9 Z( O
請問各位有人有設計過這樣的電路嗎? 或是要去哪裡找相關的資料勒?  ^6 h' G: P1 Y  E! |- d
謝謝!

評分

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

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂2 踩 分享分享
2#
發表於 2007-8-28 10:52:11 | 只看該作者
原帖由 monkeybad 於 2007-8-28 10:40 AM 發表 " h  O. P; L9 M
如題
; P$ u, d) Y6 ]- p5 J/ k小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區
+ t5 b6 n+ c* f# E$ i  R如果不是麻煩版主修改一下囉
4 f; _2 l: R$ X
( J+ W& Z7 `8 Q( f$ Z- S目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一 ...

% H2 _; U0 F& G2 y( `* X3 Y# _3 y) ~! j; o7 o
大大您是要寫Verilog還是電路
4 G4 f/ c( L. b9 r) f( U
. ]1 z/ ^# F: v2 O, L先PO個RTL Code參考看看6 U3 x- V; I( m

& a# l! f: g8 T& B輸入:N clear load clk( B+ C# _! o& @) o8 `9 ?/ c0 y7 g
輸出:count
- U& a) I/ [# `2 X9 p0 T8 Z, }: z6 T! `9 L' \
行為描述(依照優先順序)
) r! Z1 Q- S* ^. J6 z$ v0 K# w1.如果clear為1,則輸出設為為0
9 |7 _  ~* W0 S9 C2.如果load為1,則輸出設為N
$ `* y2 B  Z, \, M4 a1 M+ |2 h" p3.每個時脈輸出遞增一次(BCD)
' V  _2 G$ U+ M$ [: u, p
4 j8 o2 k/ A7 [+ Q. U
, S! m4 E- C6 y# _  j: u
; G7 r7 Q7 K5 m! d程式碼:
4 ^  q: \) B% [# CBCDcounter.v
/ _# n9 }' [0 U& X- M1 ?6 q
; X  S! b: Q6 [6 @; _) I: Wmodule BCDcounter(clear,load,clk,N,count);6 Q9 a4 S3 I% U$ a' Z  P( X: R
input  clear,load,clk;8 g8 w3 w6 @/ {4 Y" @5 S' Q
input  [3:0] N;
& j! a1 G0 r9 w0 E- w# poutput [3:0] count;+ y$ v* l( l2 S! s3 C
reg    [3:0] count=0;
0 K8 T4 f0 A% }, \7 ]& M" \) Z% ^2 T4 E  u/ v
always @ (posedge clk) begin0 E5 e: [+ \* o5 D
  if(clear)                 //clear=1, l& J$ ^& d8 }# e( ]' Q% b
    count=0;# i7 D: I  T3 `  Q
  else if(!clear) begin     //clear=0(共有0 1 X Z四種狀態)/ a, H- f/ y5 v
    if(load) begin
4 \3 i# D; g' D. Q/ H, H/ _" Y% t/ \      if(N>9)7 o$ A4 I. t0 D5 K8 Q# V, v
        count=0;4 B6 f5 C) h, @2 B- [
      else
/ {( \; E( J+ g& M& F        count=N;
# v4 t7 S0 W- [1 m1 J3 |- b    end4 `% R8 i" p' ~3 O" U
    else if(!load) begin
6 X! S9 Y) O0 m+ z      count = count+1;% p2 t) P; Y$ p
      if(count>9); J0 |7 S  Z' ^! M4 q. l
      count=0;1 H8 n: H5 e8 N, B- E
    end+ f( x6 p) z7 K4 Q
  end
4 j0 K, O$ O; ~, V/ nend% A! R$ x, `# U8 g. y  M/ ]
endmodule5 T1 a% ^9 a6 ~8 |  T9 n9 K
) l3 _" M+ z" j# }6 ^& R% k- x9 S" y
bcdcounter_tb.v
$ m/ k4 c# X0 f; u' q. x/ f
6 T  B+ `" ~* t+ n( x4 `module bcdcounter_tb;9 [( ?7 p, m& D9 o, {
reg clear,load,clk;4 I* s6 G; M* P: Q& i$ w" A$ A
reg [3:0] N;
( W' u1 v: @8 {8 w" cwire [3:0] count;! }; B4 A& [$ @) z  _  g+ j
8 a% x  M2 ^6 X8 p6 h2 G: r
BCDcounter m1(clear,load,clk,N,count);
. p4 N$ ~- R$ x) @6 b' `3 ]$ `0 i) N( l# [6 n# T& u( W0 i
initial
; H- D" ]* m* s6 a! G7 oclk=0;
! g  G: `( X' ]* m' x2 ?% w# z
8 B* Y$ h) k  t3 B" }# K# G* Balways #2 clk=~clk;
& ~% n; v; g7 U% X4 O) \! k8 y0 G. a" U6 x3 z9 l/ F
initial
# J- }" W4 \' R" P. u#160 $finish;
' j" F  d6 D* m6 N, f. S9 o! Q1 l2 C& v' B
initial begin3 Q2 p! F( [9 k# ^2 |& g" I8 \
    clear=1;
  s) x4 o6 \4 C6 @#4  clear=0;( ^8 P. G5 Z/ }6 T' J
#90 clear=1;
" T0 j' D: t8 d1 d% b#3  clear=0;6 T/ t& k- D' X) h! D( U
end
1 n) B- V9 n: e( x, u$ F$ z$ b' _' C2 L# ]/ z# y
initial begin8 y; d8 B& I# d- d- r
     N=6;load=0;
% z$ {7 z+ }5 {#58  load=1;" m, T, b9 k4 r
#2   load=0;6 M5 W3 Y  H, q( \
#22  N=12;
' }4 {; R, x' A9 x( X, {  l+ Z0 ~; H#40  load=1;- @9 k% |* W7 a/ D5 Y: ~& S% |
#2   load=0;7 X- _* ]  L! [
end1 t, s& y3 [0 u6 \8 G/ c8 I9 n6 Z5 Y
0 E) g5 O* O. d+ c* p
endmodule

評分

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

查看全部評分

3#
發表於 2007-8-28 10:56:04 | 只看該作者
還有一份講義可以參考看看% p- s4 e2 I% ^/ [
希望對大大有所幫助
" g0 O9 u, n0 P; @+ ~( M5 X& G+ ^# l

. g: X9 b9 k9 |3 h) x  t3 d( n% S
2 c4 ^  {1 z6 c9 {2 M0 q* r
遊客,如果您要查看本帖隱藏內容請回復

本帖子中包含更多資源

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

x

評分

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

查看全部評分

4#
 樓主| 發表於 2007-8-28 11:18:33 | 只看該作者
感謝小朱仔的熱心回覆
, E& u3 R- c7 n' v. ]不過我電路要自己畫 還有我不會用Verilog耶6 ?9 b9 p- E$ Y- S6 f" m( Y8 f4 B4 C
現在主要是要有電路圖 可以用Hspice模擬的那種9 u6 H" V. h/ N
另外希望inverter越少越好 因為要求要省電! 還有要自己layout!. m4 m( f% a: L- Y) [( x( K! Y" m

  ^, u! g& G( X7 l" I6 |0 s樓上那份文件好像裡面有寫到 趕快研究一下! 感謝分享!
0 z& X9 v7 m6 d1 m! s3 r6 E, f! K& ^: Y  `- f' D' N$ k3 H; Y9 K: d
[ 本帖最後由 monkeybad 於 2007-8-28 11:23 AM 編輯 ]
5#
發表於 2007-8-28 16:05:34 | 只看該作者
你那個要自己動手畫CMOS電路吧...
! h" J; E: W1 s" g; h4 L6 u寫code習慣了, 真的很不想動手再做這樣的事, 不過推完booling equation後, 直接用Cmos畫出來不就好了???
9 W& f# x2 x5 k! g/ i4 \& E: O沒錯吧
6#
 樓主| 發表於 2007-8-30 14:21:06 | 只看該作者
恩恩 不過booling eq好像是在推導一些輸入輸出的條件  q( F" u% D" h% i
+ L0 c% a! _0 f/ M! V
記數器參考一些資料後 找到一個用ripple counter下去修改的" I7 R5 H3 t- [! n9 Z
ripple counter就是用負緣觸發的T型正反器串接在一起
  {* H3 F8 B7 c7 f接著開始從0數到9 然後數到10的時候3 f+ [" W* C2 c9 q& c# f) D- _" ]
就reset重新從0在開始數
7#
發表於 2007-9-3 15:08:06 | 只看該作者
ripper counter真不是個好主意, 不過要看應用, 在有些地方用時倒是好東東...
8#
發表於 2007-10-23 11:19:59 | 只看該作者
我很好奇某大大說的講義
. m4 K$ j+ s- v9 e9 ]& E給我看看寫什麼吧
9#
發表於 2007-10-23 20:26:00 | 只看該作者
我這裡有時鐘的電路圖..以送去CIC下線..可提供給大大參考看看!
10#
發表於 2007-10-30 01:52:19 | 只看該作者
我看一看那個問題,要我聯想到CODE,一時還想不起來,真是太久沒有寫程式哩!/ O1 s) j. o2 m9 P; r8 d
看到CODE,有一點恍然大悟的感覺,又接著看,害我也想看那份相關資料囉!!
11#
發表於 2007-11-9 14:57:32 | 只看該作者
BCD conuter 應該是對自己有所幫助
12#
發表於 2007-11-14 23:29:59 | 只看該作者
bcd counter對初學者的我而言真的好難/ v/ n' c' h/ t- q# Z4 ]1 M
謝謝小朱仔提供的code囉
13#
發表於 2007-11-17 16:58:54 | 只看該作者
大大別忘了給小朱仔 "感謝"
9 Y. h+ x8 l4 r$ V
/ ]& G+ A$ n# q; \% _! r3 k% U) i, J按評分, 就可以給感謝了....
14#
發表於 2008-2-22 17:34:54 | 只看該作者
Let see the shared material. THX.
15#
發表於 2008-4-24 07:28:10 | 只看該作者
幕讲义之名而来,呵呵勿见怪啦.                                             
+ q* j. U# k3 x/ n/ p# u感谢
16#
發表於 2008-5-21 10:42:39 | 只看該作者

回復 3# 的帖子

感謝各位大大的資料 對初學者 真是受益良多
17#
發表於 2008-6-2 11:53:25 | 只看該作者
感謝大大的分享∼∼∼∼5 T) P! R. A; l9 h7 G& u
因為你的無私,讓大家能學到許多知識
18#
發表於 2008-6-2 22:10:25 | 只看該作者
我也想看看大大分享的講義~~
: q8 f' e% j9 m% ?  O2 U1 Y* u回覆來看看囉!!感謝蛤!!( D* H/ s1 `8 R0 f7 u
因為我是初學而已!!
19#
發表於 2008-6-8 20:55:26 | 只看該作者
你是要畫電路圖的方式設計~* B$ e4 x( \$ C$ |0 L6 M
那畫畫卡諾圖不就好了.... 只是比寫CODE還要麻煩....   V' j& K$ L( b4 k) s& F
因為要接邏輯閘!! $ S$ H0 h) b7 d0 [1 _! |
用卡諾圖化簡!!
20#
發表於 2008-7-25 14:41:52 | 只看該作者
最近剛接觸這方面的東西
! q+ p) x/ O; i+ I! d3 m3 a# J, U" _) i$ a. W7 I2 ]- _
剛好需要這些資料" U0 t/ U% K. v

2 Q3 O) V4 _2 O# K, ]$ u感謝分享!!!
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-6-8 04:38 PM , Processed in 0.171021 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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