Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2007-8-28 10:40:06 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
如題' q* V, s* `; g( \
小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區6 ~0 o2 ~' r3 J7 `2 H4 _& A$ @
如果不是麻煩版主修改一下囉; D3 @9 `! `. M" B; j/ d
  @8 w/ R" g8 o2 q! E. z2 H
目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一個0-5的記數器開始記數2 K1 ]. i  i) n4 h6 x* G
總之就是能夠記數0-59, 個位數記數0-9, 十位數記數0-5
0 |. ]* x" N8 E* V! t1 D
. ?6 m2 L. n3 \請問各位有人有設計過這樣的電路嗎? 或是要去哪裡找相關的資料勒?
2 [5 @( l, r7 d# L謝謝!

評分

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

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂2 踩 分享分享
2#
發表於 2007-8-28 10:52:11 | 只看該作者
原帖由 monkeybad 於 2007-8-28 10:40 AM 發表 $ t! _4 q5 N0 W: Q. p- q7 m
如題+ E: _8 t+ T8 w1 d& `5 _  ?/ @) E
小弟我目前在設計一個時鐘電路 需要一個記數器 不知道這個問題是不是屬於這個討論區9 G# c+ {- g5 X9 o' G/ C- b* L
如果不是麻煩版主修改一下囉, E2 C1 M- C! V9 p
7 S* @& X' }1 v6 u
目前這個記數器要能數0-9 接著就進位 然後自己reset繼續從0開始 進位後訊號再繼續由一 ...
1 R. t0 ^6 t- _1 a9 D
# C5 M, s6 z/ a; ~1 p2 e5 T4 y
大大您是要寫Verilog還是電路# [) l7 K3 c$ u, f" [; R
4 O- `, l4 z! ?  P- z. n, `+ Q% X$ h
先PO個RTL Code參考看看- I9 o6 S: }, Q; X1 W- B
+ U+ W" T4 t6 q8 O- D
輸入:N clear load clk% e) n2 t2 ~/ T% y. Y! s8 I
輸出:count/ p( S1 x, c( F9 V
7 O0 t" n+ e& Y
行為描述(依照優先順序)% Y/ j: T; U4 s# V
1.如果clear為1,則輸出設為為09 S9 n7 G8 y; X( [6 o
2.如果load為1,則輸出設為N
% b+ s1 N# x  z/ t3.每個時脈輸出遞增一次(BCD)
) z2 Y: {7 B$ d. V- @
: `% [: S8 ^7 V6 |0 P
$ I( m6 j5 Z. N/ s9 M3 s& V" J4 L9 m6 u% h7 T0 {9 m$ Y) u& J
程式碼:
) `6 [" R3 |9 cBCDcounter.v% p; T. |/ |. G0 l& B

, ^+ H4 b3 H9 S7 `module BCDcounter(clear,load,clk,N,count);# h' N- f. O; q
input  clear,load,clk;$ `9 J% ~* L7 f9 L9 u- v$ w
input  [3:0] N;; `2 V; N! D# Z/ ?9 b
output [3:0] count;3 G4 ^- V) K3 M/ I5 A6 b
reg    [3:0] count=0;$ P) V8 z/ x8 K8 Q
% c; {; Y7 \& {# S( S
always @ (posedge clk) begin
+ B6 j0 p# q( j" e; _; X. W  if(clear)                 //clear=19 H% \3 b& f# B! g, x, k. c
    count=0;& ~* c7 c0 f4 [0 i1 c! z
  else if(!clear) begin     //clear=0(共有0 1 X Z四種狀態)* q" I8 z- X2 Q7 r
    if(load) begin: a8 E1 o1 N: l4 y9 M
      if(N>9)9 S6 A/ T' Q. |
        count=0;
  P9 x* ]4 A* e& g$ Y7 A! G6 e      else
, s+ S1 a( S2 r% D  t        count=N;, y% y8 K( k$ N: u7 @) F
    end
% S6 B7 z, [4 w9 g    else if(!load) begin
+ o$ Z5 D" p; H      count = count+1;
& ^( g. S7 l4 Z2 F+ i) U      if(count>9): Q2 {+ O" y- H
      count=0;5 g) G" C4 B0 E. M$ M
    end9 Y: @$ g9 H0 \) q0 k
  end( J  q1 |" d" I+ b: M2 Q
end
' @3 m; j/ g; v: g6 g" D. Aendmodule6 M# P5 x8 w$ t& o# q
: E' E+ I: `% @# A1 r/ ]; @% x
bcdcounter_tb.v  F3 s! h9 M5 z* Q( p

$ B" R7 M& j3 v8 k1 ?# Jmodule bcdcounter_tb;
2 Q6 ?0 g4 e7 Rreg clear,load,clk;" T& d. R1 T0 T! R
reg [3:0] N;
& A3 O% l8 c9 p& u, W! Hwire [3:0] count;; h& b. H( t; l2 I: e. R
7 v. K3 c0 e) z. \. d5 J  g
BCDcounter m1(clear,load,clk,N,count);$ I0 \: k( t5 |# p7 `6 \

9 ]# _3 G8 Q8 f- q! k. M1 u! ~initial* j+ f; n/ d6 b7 M9 v7 t
clk=0;
7 ^' c& n+ e, M) p3 e6 o. P! ]) F, N3 j2 S$ O6 P& q; Z4 V+ w5 P+ L* ]
always #2 clk=~clk;
% K8 \7 l" M4 F4 N0 G$ B* s
7 k- h& T& w: e6 \* ]initial
" k% K2 n* c2 k4 d+ M4 m( l# l/ }: P#160 $finish;
" ~- e, n, \" z4 s) |) n8 g) {& q2 G# G2 D
initial begin( o+ z! o/ K) a: M7 P- {6 A4 x! s" Y
    clear=1;
: Z; {  d2 i0 G# Q( I& n#4  clear=0;
; N" n( c! J. k" B2 w#90 clear=1;) v( ^1 G1 l; D! t
#3  clear=0;
4 d/ b( T. s5 f. Wend
5 H3 Y2 \: C9 y
5 \& S: F, a4 E/ Cinitial begin8 O' u+ g" r) r0 E8 d5 K
     N=6;load=0;
2 x4 K, ^" e+ g+ s8 k* v: ]$ C8 S( {#58  load=1;. C7 U& U8 q4 Z4 l7 C: b' e# @
#2   load=0;5 ^7 V1 o' l- G* Z6 e
#22  N=12;
: w" l) L, q2 z/ W/ E( t- U#40  load=1;
6 k" l5 s( x' |! v  M& k: ^#2   load=0;8 E' Z' L9 w/ f+ T$ }' R$ i1 ?
end  R) M9 p# k" H+ i. ]& A

2 t( u% `0 e/ M# }- w: `# H, uendmodule

評分

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

查看全部評分

3#
發表於 2007-8-28 10:56:04 | 只看該作者
還有一份講義可以參考看看: n) i% y" ?! U5 t! d6 P
希望對大大有所幫助; ]) v2 {% Z& V) _1 }/ `

" G. U2 i1 ]# K, a2 Q2 B/ @ ' ~1 q1 K# X5 A  {! [2 v

; j, V1 G: \8 {1 p
遊客,如果您要查看本帖隱藏內容請回復

本帖子中包含更多資源

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

x

評分

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

查看全部評分

4#
 樓主| 發表於 2007-8-28 11:18:33 | 只看該作者
感謝小朱仔的熱心回覆# E1 c$ D  t" D4 s: [
不過我電路要自己畫 還有我不會用Verilog耶
: |! c% }. E, P; D) d現在主要是要有電路圖 可以用Hspice模擬的那種- F0 p$ H  h! ^  t. ~/ ]
另外希望inverter越少越好 因為要求要省電! 還有要自己layout!: ]; j; \+ m8 f

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

回復 3# 的帖子

感謝各位大大的資料 對初學者 真是受益良多
17#
發表於 2008-6-2 11:53:25 | 只看該作者
感謝大大的分享∼∼∼∼0 e% U, F! s/ D; I- ?
因為你的無私,讓大家能學到許多知識
18#
發表於 2008-6-2 22:10:25 | 只看該作者
我也想看看大大分享的講義~~
/ c; t- g% G/ K% r' K回覆來看看囉!!感謝蛤!!% d6 U# `2 |* t! k/ _! t0 X
因為我是初學而已!!
19#
發表於 2008-6-8 20:55:26 | 只看該作者
你是要畫電路圖的方式設計~
3 T9 Z5 n( y4 s  Z$ c那畫畫卡諾圖不就好了.... 只是比寫CODE還要麻煩....
: S( J) v; k/ L因為要接邏輯閘!!
1 v# u& B* Q# I' Q用卡諾圖化簡!!
20#
發表於 2008-7-25 14:41:52 | 只看該作者
最近剛接觸這方面的東西& u2 N% }3 p1 \; y( h1 i) f% @* Z
* p9 ?, m& n# J' S
剛好需要這些資料
' _+ M- i/ \1 Y# v  u# {5 O* v! n0 S) E$ y
感謝分享!!!
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-20 07:14 AM , Processed in 0.138517 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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