Chip123 科技應用創新平台
標題:
請問各位RD高手
[打印本頁]
作者:
tom218
時間:
2007-7-20 02:10 PM
標題:
請問各位RD高手
如何設計一個8位元計數器和8位元比較器??
7 G% ~: v; e5 o( J$ o- d
因為真的摸不著頭緒
作者:
s2318020
時間:
2007-7-29 11:53 AM
計時器使用的是以你的外加或是內涵震盪器來使用,而每次的加量的時間 T*counter(T=1/f, counter=clock),而計數器使使用IO來抓上元或下源觸發來當作加減量
作者:
russell
時間:
2007-8-22 10:57 AM
標題:
回復 #1 tom218 的帖子
你用哪一家的CPLD?
: F2 F' m$ K# A0 N( g+ Z: i
我直接給你sample code比較快啦!
3 W) n7 `! i6 a
我是用Lattice,
% G" ~: X+ n+ B u; x6 n% m
russellhsu@pmaster.com.tw
作者:
jason_lin
時間:
2007-8-23 12:57 AM
標題:
回復 #1 tom218 的帖子
問題不夠清楚哦?????要VHDL還是Verilog??? 8bit的count有很多種,要up count還是down count?????要有加reset還是....????
$ Z3 ]8 e! t. K
我給你幾個參考.
+ |7 V, R3 \& Y% G1 c5 _: d
) T0 e3 Q9 Q; e1 O& A1 X
VHDL count
6 X/ q7 y' m0 m0 y7 d/ \0 ^
. u" F* s% [( ]
process (clock, reset)
3 U6 o9 b7 Z" E. r
begin
" Y( Q7 ]! ]5 m+ W8 f; q9 Z0 [
if reset='1' then
6 a% a; U+ a* r' x0 m3 P. u: _+ J8 ^
count <= (others => '0');
+ D0 ~: B* l' N# |1 ?5 {# ?
elsif clock='1' and clock'event then
' A/ {& g- f# o6 W2 j; |1 J# j
if clock_enable='1' then
0 E8 i/ N' R, I Y4 s
count <= count + 1;
# E* W8 M+ n) L9 t9 C5 H. ]
end if;
3 y- X4 F( L! f% _8 M' h
end if;
7 F+ q: K. V/ r6 |6 s% }5 P) s
end process;
' ]( V& p. N, s+ p7 ^' N
& Q2 m% U+ a8 R$ x# t- o
Verilog count
5 W" Z! Q% k' ^2 x( @3 E3 |/ Z0 I+ A
" I$ m( j- H. Y* e" Q5 _, D: k9 n
reg [7:0] count;
9 }' x3 K( d- W" d0 _6 {' t
* T" L& O& Z- D& O( K
always @(posedge clk)
3 d. C4 n9 ?. @# o
if (clock_enable)
3 d. o3 W2 u P
count <= count + 1;
& m4 v: c$ i8 V& D$ Q/ R- i4 x
6 u; y/ n. M' u) d7 \- T& `5 f
VHDL比較器
' f# n0 b! O" s
process(clock)
. F- n) ~2 N- d5 b$ @0 |6 d
begin
7 H. G, y! w! w2 G+ `6 K' K
if (clock'event and clock ='1') then
4 _, @2 A# C- X% S7 i
if ( input1 > input2 ) then
8 _; ~& Z! Z8 I% m# b/ ?# g
output <= '1';
* X$ G$ d% ]1 D. r
else
" z+ g- ^2 z: B" Q
output <= '0';
3 a$ E; j/ Z+ t* C1 b ?+ u5 H
end if;
; }" [. N3 e: B: Q4 c+ ~1 [; a
end if;
7 S* @- j6 d$ h: f5 @7 g" u
end process;
X6 ~1 E; v# e/ u4 V( A/ ^( z
0 y: [! {8 e+ _6 P# p- ]
process(clock)
! z l3 i$ y/ v
begin
+ W, `, t* _( w3 g& C+ f1 H
if (clock'event and clock ='1') then
- P9 Q" E! ?) M
if ( input1 < input2 ) then
k( ]" I' w9 J" n
output <= '1';
( y0 }. j$ Q) J# M+ J
else
' R0 f6 I# w' p# P4 ]; w# o% \
output <= '0';
& Y$ H% a$ Y6 g* Z8 {
end if;
# |! W' o* k) p6 }( F2 ]1 a$ S4 C. ^' W
end if;
( x7 N3 W) Z* O" @
end process;
K: t7 l7 J" k
! ~4 o; B3 l3 n. F( R
Verilog比較器
8 M4 S5 z& a, z/ b
reg output;
* Y5 i* f' w2 \5 b0 n/ u+ A. B+ `
! T' d' O" o% N7 e, w* N5 X
always @(posedge clock)
. W1 w& Z, K/ @9 t9 b
if (input1 > input2)
8 U. z3 N. A: g! y/ V; l
output <= 1'b1;
1 [$ A5 F6 g# V
else
. ^+ [( f8 _9 ~/ D: Q
output <= 1'b0;
* Z! s# v! Q" ]4 a) B: }
0 [9 Z }1 j- U: Q
reg output;
" e' Q4 ]0 {0 ]
4 t& f! }0 i% m
always @(posedge clock)
% O U- w, D" T8 K4 d7 w
if (input1 < input2)
/ ~5 t( Z8 f2 Y( J
output <= 1'b1;
! E) p3 U D/ d/ D2 I0 e
else
$ w1 C! C* q" W0 i4 k% u' P0 x
output <= 1'b0;
4 g: y( w: \4 R1 ?2 [ N
' X [. W; `. Q: y
希望有幫助^_^
歡迎光臨 Chip123 科技應用創新平台 (http://chip123.com/)
Powered by Discuz! X3.2