Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
跳轉到指定樓層
1#
發表於 2007-7-20 14:10:02 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
如何設計一個8位元計數器和8位元比較器??9 h) E9 o9 R2 l  F3 F6 c9 }* n
因為真的摸不著頭緒
分享到:  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?" T0 R( [; p6 X7 e6 F
我直接給你sample code比較快啦!
& |( ?& B* [$ H* c我是用Lattice,
0 H2 D" `" D- X, b9 i3 M( O2 Prussellhsu@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還是....????5 `: @7 @8 n# ^3 Z
我給你幾個參考.& n% D" g" M3 R
/ y- Q9 |% K. `2 r4 H2 i
VHDL count* Q, {$ q: c0 I+ z7 l; U5 m7 Y
# Y0 T  _( p2 U: S/ D; t
process (clock, reset) 3 z" b6 U* Q( U+ P, i6 @
begin
( _! M3 G) ^0 P; T5 u2 y; G   if  reset='1' then : |9 u) n2 m3 [' L: J! L5 K( Y
      count <= (others => '0');) o$ Y$ @4 P# t( Y& G& |
   elsif clock='1' and clock'event then
# B! ]8 e; C  _( r0 B/ I      if clock_enable='1' then8 t& m: T, ^/ _, @3 L
         count <= count + 1;1 |# ^/ C1 O- [5 o1 {4 e% a
      end if;
" H! r5 R$ y3 K5 ~& x   end if;  z- ^; J( h2 R7 Y% ?4 }8 [8 a
end process;! W; l4 M+ H! K% @+ d

$ P/ @1 h+ L! t3 }Verilog count+ X- ]: ^) a* L) E  g+ K1 U
2 E% ^; n7 ^; Z3 o$ [# s
reg [7:0] count;
2 i! \: q! X1 ^4 a   ! t- T) \+ e* U% f2 ]) Q& S
   always @(posedge clk)
9 u! p( b, y6 b# t. }- H) U5 c      if (clock_enable)
& M- ?2 l+ ^$ v         count <= count + 1;4 V# A4 A9 w4 e) T3 \6 j; a
# D0 F- D6 }. L" `; K6 k  y" A
VHDL比較器! z$ U- o+ ?# I  r  K+ a) I
process(clock)$ i/ N8 i& P; G6 _1 [
begin2 U6 ~5 i8 X2 ]8 d
   if (clock'event and clock ='1') then   9 R( p( I6 _9 H- U; f9 H
      if ( input1 > input2 ) then
/ U  E" q9 Z$ s$ ~         output <= '1';( e: p; B' m1 U
      else 1 T' E/ [# G/ l* e2 q$ r
         output <= '0';
  w$ ?3 n8 a  B; }& Z      end if;) l# L1 t+ k7 {
   end if; 0 j. U7 Z; u2 _4 ]" O0 _. z
end process;
% k# R/ V5 r- U% n$ p( F+ [" P# Q+ m
process(clock)# ]5 F+ w; D7 P$ ^- y
begin- O0 O# h4 j( A/ m
   if (clock'event and clock ='1') then   / |$ ~$ e6 Y; B
      if ( input1 < input2 ) then # w% S; R$ A) k' D) n3 W
         output <= '1';$ r. d# h1 F) M% o2 T( ~
      else
4 A. C5 [" C3 ~) q2 E7 F3 d         output <= '0';* X# N9 S7 s" @7 Y" U& N/ q: P
      end if;
, T% c  c6 X( k6 L$ w5 P   end if; / e1 s4 K( K+ z4 V* u, G
end process;
$ z* l) v8 y3 @& `- i3 Z; ?8 x0 {& Y7 E
Verilog比較器$ E, Y  o5 Q" v( O9 x
reg output;# s" R  G1 t6 G" U1 J

5 |+ z) a' m8 O% o/ X7 N# ?2 e   always @(posedge clock)
+ R( `5 x" I- E" P9 W3 P0 ]      if (input1 > input2)
0 c, P  r1 b2 L) T& \# Y! _8 ]         output <= 1'b1;/ D* N3 x$ @8 s% |- E( T
      else
8 q! g6 V. b6 e; g; n0 z4 J         output <= 1'b0;
2 ^  M; P# F/ o! A, [$ q3 E* O
8 ^2 R5 E4 Q3 U8 ]9 zreg output;0 |; A0 u" h, e, i: ^
* r7 e6 J" f. n# Z( J8 Z* i
   always @(posedge clock)
; t) V! c7 {$ \, \' {, h, ^2 e5 v3 y      if (input1 < input2)
. Y- [5 a5 u) Y4 D         output <= 1'b1;
+ W8 o5 r1 S7 P      else  o4 \  Q$ A  d$ G" C8 |
         output <= 1'b0;
: |: A2 _! x; S: \8 u* _5 S4 A5 g5 P
希望有幫助^_^

評分

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

查看全部評分

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

本版積分規則

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

GMT+8, 2024-6-7 08:00 PM , Processed in 0.141018 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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