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 count3 G, F: P/ o+ y2 P
0 ]4 k" ^& B- I. z
process (clock, reset)
6 k- k& s' U7 Zbegin. 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' then2 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 kbegin
) 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: dVerilog比較器
7 a- D$ z6 ~3 Jreg 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$ greg 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