Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

[問題求助] 請問各位RD高手

[複製鏈接]
跳轉到指定樓層
1#
發表於 2007-7-20 14:10:02 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
如何設計一個8位元計數器和8位元比較器??9 E  t% b/ q7 h. o
因為真的摸不著頭緒
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
發表於 2007-7-29 11:53:00 | 只看該作者
計時器使用的是以你的外加或是內涵震盪器來使用,而每次的加量的時間 T*counter(T=1/f, counter=clock),而計數器使使用IO來抓上元或下源觸發來當作加減量
3#
發表於 2007-8-22 10:57:28 | 只看該作者

回復 #1 tom218 的帖子

你用哪一家的CPLD?
( H4 j" x& Z+ t3 v+ K& X/ J我直接給你sample code比較快啦!' ^( |( @3 u8 ~, {( `* J* z
我是用Lattice,$ W5 X% y: d0 a- E# n
russellhsu@pmaster.com.tw

評分

參與人數 1Chipcoin +3 收起 理由
tommywgt + 3 樂於助人

查看全部評分

4#
發表於 2007-8-23 00:57:17 | 只看該作者

回復 #1 tom218 的帖子

問題不夠清楚哦?????要VHDL還是Verilog??? 8bit的count有很多種,要up count還是down count?????要有加reset還是....????
# j& w  Z& t9 }我給你幾個參考.
4 G/ }5 l4 d7 V( T) o! K7 w7 N9 Z5 \# F3 A# A
VHDL count
3 Y4 c* ?4 G* p6 R7 a( Y  L
7 t4 D5 f7 s- u! d! i0 Oprocess (clock, reset) 1 k. z, o# k2 J  O1 c$ g: `
begin( p8 {7 V1 l7 [0 c0 Z1 ]
   if  reset='1' then 1 m4 a0 d& S, F( V: f8 F
      count <= (others => '0');
0 C& n' {( W5 p   elsif clock='1' and clock'event then
" _7 s# P6 G9 p      if clock_enable='1' then1 d) ]9 ~; p$ R5 G0 v/ j9 _  @
         count <= count + 1;
6 s( a$ x- }  C$ E: Y  d      end if;$ I  [# I) r' }; M# d% Z$ \
   end if;
. ~; v$ j( n- G9 ^end process;* `% _; B( F% N& s* M" V+ L6 i/ i
% }( z; }8 \9 p. x- L  a$ V
Verilog count5 R3 x9 Y/ R2 l
) q2 i# Y2 [% Y
reg [7:0] count;
* t1 d4 G1 T' A6 C. ?   
4 ?* r- _# n$ {! p, w* \- t   always @(posedge clk)) t! }9 f+ v/ @" E) w8 D
      if (clock_enable)
4 i6 z" `5 H. {) t) [- a         count <= count + 1;' G& r% n6 J7 J# U. e( q
% Y% X: s) i7 I& s9 ?( {8 z3 U
VHDL比較器$ E4 _, }0 F% B& W. N
process(clock)
: V9 k. s, \, G$ y8 q5 Vbegin
( e( g- D; b, Y+ |, J, _! P- v   if (clock'event and clock ='1') then   # t& _( m% p6 `9 E
      if ( input1 > input2 ) then
  A' x9 z  D- ~' M  J' [. e         output <= '1';
/ [* j8 E) s, I' h! S; {1 D      else : l' O; A' G; j9 v0 p4 A
         output <= '0';
. p! R6 c8 {( K2 Q7 c  k      end if;
8 C- Z3 u3 U& @4 k   end if;
# ?! ^6 l3 X" A" J9 U2 G$ |- N+ Pend process;
; T2 i' D/ F* f$ `6 q
5 O) j4 W" X' Y0 s+ v3 o0 T" p, j7 xprocess(clock)$ l4 O3 T4 P6 A  j3 q" Z
begin
. B$ {8 u" |& w4 Z   if (clock'event and clock ='1') then   . o! v& O+ I" @& e& H# I# F
      if ( input1 < input2 ) then
: I+ T4 r$ {+ H1 R* Z; a: r, W2 O         output <= '1';
  J" Z: b2 L( d: ^0 U- M      else # E8 Y4 l4 G3 ~
         output <= '0';4 j0 W6 G, ], h! y" ]7 H
      end if;+ k* M. A6 ?4 {$ J. H5 y
   end if; , S( t0 Z/ D0 t0 r
end process; " l4 Q3 Q* i2 z- ?# C4 q
! V% J, {4 G  H: C- C
Verilog比較器
( E$ i4 B" w1 E5 O" ireg output;
! |3 x( a' g$ D: M+ U6 h* x0 U! _* H" x- N  K" X$ U
   always @(posedge clock)
: J0 u2 k% q9 l9 O/ ~3 t5 z      if (input1 > input2)
+ L) ~  g: H, E3 V  ?6 p& m         output <= 1'b1;, q7 P8 @  x& N
      else
5 h9 h0 F" P( b         output <= 1'b0;( [( j$ c: y9 a! W- s4 ~2 E

( t- A: W0 Y# D! c5 t( o# A2 z3 K. Yreg output;
, ?# b5 j* i' f9 u$ A! N8 L: W9 u5 j
   always @(posedge clock)
# e: P- N" J) @: U6 X      if (input1 < input2)7 p& j# T  a8 I+ p0 t# \5 e
         output <= 1'b1;
7 K$ h2 C# U5 F/ |      else& q' p6 ]  _; d5 u
         output <= 1'b0;
1 n- Y; D3 X( n( j  ^3 u+ C; O+ E# i% d. ?. `; k
希望有幫助^_^

評分

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

查看全部評分

您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-6-13 10:31 PM , Processed in 0.125516 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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