Chip123 科技應用創新平台
標題:
請問各位RD高手
[打印本頁]
作者:
tom218
時間:
2007-7-20 02:10 PM
標題:
請問各位RD高手
如何設計一個8位元計數器和8位元比較器??
0 ?) n! i6 k' |7 i4 u2 n# l
因為真的摸不著頭緒
作者:
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?
b! p( r; Q6 Z+ [
我直接給你sample code比較快啦!
% c; D# J$ ^( k& ?: c! @3 j
我是用Lattice,
* y/ ~ C5 [ H, ^0 Z& |5 B: f+ P
russellhsu@pmaster.com.tw
作者:
jason_lin
時間:
2007-8-23 12:57 AM
標題:
回復 #1 tom218 的帖子
問題不夠清楚哦?????要VHDL還是Verilog??? 8bit的count有很多種,要up count還是down count?????要有加reset還是....????
o: z( g0 L' o1 H
我給你幾個參考.
& x( m& r6 d E
1 y/ ?6 M- ^, @, f3 q/ J
VHDL count
3 G, F: P/ o+ y2 P
0 ]4 k" ^& B- I. z
process (clock, reset)
6 k- k& s' U7 Z
begin
. h) [$ d8 t/ S0 w
if reset='1' then
! n( Z( ]# i0 M5 X+ T
count <= (others => '0');
5 b. Y- R! k9 p1 j% p. n, Q
elsif clock='1' and clock'event then
: K! r9 m' [- A, n- O# z
if clock_enable='1' then
2 H* a! O7 J& r% b7 o, ^1 w! o- ~
count <= count + 1;
6 |. X% Z7 S7 _4 P0 \
end if;
, ^; D7 G- [( ]. N8 @
end if;
9 m) o# t( G8 o, ~3 f, `
end process;
7 r- ?5 x, |" |, N3 e; R
/ @" G& Z8 R( y& e+ z: z
Verilog count
* I4 m! v7 L' N
- ?3 c9 |, y* H; V9 U3 n" W2 F
reg [7:0] count;
0 I4 v9 a, X( L4 N& v
" e9 d, V- j9 m4 U& v5 D5 h B
always @(posedge clk)
. Z2 u2 M* A: {: K- j( K
if (clock_enable)
* Q# K1 i6 b# F$ y# U
count <= count + 1;
4 m3 w5 e( R* W( @0 M% h4 W( N
, t7 ?! Y& ~5 _
VHDL比較器
! T3 \4 b- ?. i- E! [/ ^
process(clock)
% q! t6 }( H* \# X% J
begin
% X' D$ p7 d) F3 M" @
if (clock'event and clock ='1') then
* |0 G6 |2 a3 y( R u! o
if ( input1 > input2 ) then
; }) A3 _' R% d& N9 M. m9 \
output <= '1';
& T7 E( o" h; i* y. p) M; a
else
" d( H& ^9 D0 e( F( U" \
output <= '0';
: q4 F4 i0 s& f
end if;
/ G# ~. L) w6 R( P+ G6 m5 N* [
end if;
. X% r/ N! S2 l# D
end process;
+ t4 m* d2 X' x( U `
$ r( ~8 ~3 h: l5 t1 Z: Z5 q0 |( n
process(clock)
9 k V$ n8 f; e3 k
begin
) P1 |2 l7 Q8 J
if (clock'event and clock ='1') then
) s8 @. W$ @7 ]8 Q" @6 q) @' |
if ( input1 < input2 ) then
! |9 T' P3 U# }) ?2 Q
output <= '1';
; [5 M1 \2 I' K2 G7 a" m7 d7 i
else
% m1 h, m+ d3 Y
output <= '0';
( g d( a) Z! K- W! o8 r8 q
end if;
_2 W; [- \: H: K7 u" y
end if;
8 P7 o0 a7 @$ x6 B( ]# ~- x
end process;
9 a* B" I* H' t$ p |6 U
/ S6 D* f+ b1 o: v8 a) n: d
Verilog比較器
7 a- D$ z6 ~3 J
reg output;
0 g5 {+ s& J B( B0 H, t
" ~1 a. M) h" I. c( }
always @(posedge clock)
7 d, {. E+ s* V
if (input1 > input2)
8 X! U9 b- D1 E8 U3 V% [0 x, I
output <= 1'b1;
" J- u. W0 J. P6 r0 c0 @
else
! h% S. K- F5 K
output <= 1'b0;
* N8 a, L6 N' d& G' [
9 \3 M, w" i0 X6 Q; [5 H( k: W$ g
reg output;
0 m+ z7 O; C9 h" y) t; u% s9 Y6 [$ P
( U. Y# V6 q" \! }# ~+ X
always @(posedge clock)
9 o7 l, [6 v+ S6 Z6 _
if (input1 < input2)
0 V& k$ I- ] o8 @# u2 @2 B
output <= 1'b1;
4 Z; c/ O; n" N- Q0 r
else
, m& }" N7 B4 U; z3 h. ~
output <= 1'b0;
% n; n1 O8 O$ j- ]) p1 q; ~
& f1 |$ G+ p/ Q3 n Z# I
希望有幫助^_^
歡迎光臨 Chip123 科技應用創新平台 (http://free.vireal.world/chip123_website/innoingbbs/)
Powered by Discuz! X3.2