Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
跳轉到指定樓層
1#
發表於 2007-7-20 14:10:02 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
如何設計一個8位元計數器和8位元比較器??
6 q0 U( T1 ^, E% ?  \因為真的摸不著頭緒
分享到:  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?
  J  h2 a; [5 C% n6 O, v7 q* Q6 {我直接給你sample code比較快啦!% z( Y- J$ p, {* [( G8 |6 Z5 ~
我是用Lattice,6 P0 s5 d) v' d$ c" H" A5 e- R7 Y
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還是....????
  b  O0 T4 Q& Y我給你幾個參考.
- |8 `. V' w" Y+ K8 N3 P* Y
, l/ r& H  u9 M$ }+ gVHDL count
- ]7 f! c' q5 |3 \: H9 z6 m: U! l2 i& U/ @, Z0 E% _# s9 M
process (clock, reset) & Z8 P. U. d# M  f
begin* T; I' l6 P) e* ~" ?; s: M
   if  reset='1' then : F: a" M' a; G
      count <= (others => '0');
- x1 Z8 c$ R( P" \, K   elsif clock='1' and clock'event then
# W7 Q5 s2 R2 i* w& \* g      if clock_enable='1' then
5 R* \$ u' i5 }' a         count <= count + 1;6 I- T$ h5 W; s: G/ T1 \
      end if;
( ^5 c' C5 ^- ?+ e1 Q! f( w   end if;* }& q1 C+ Y/ o( t9 @, {
end process;# s  [- j7 [" c
: I3 C% i4 I  |/ ~" J
Verilog count! m( V  H4 e* p- D8 U1 L- S

% b/ ]: v" I+ C, H2 creg [7:0] count;, ]1 n* l6 J8 x7 C( f2 k
   . V# j. ]2 e' O% O! t6 C6 h, p
   always @(posedge clk)6 j2 z! h0 }: j; L
      if (clock_enable)1 s0 T1 c$ V: G
         count <= count + 1;  W2 J4 k3 O( |
& b9 |/ I4 t' r9 |& o1 d7 a$ v
VHDL比較器& h3 \. S( C/ B8 [- }3 K; A8 J. r8 G" E
process(clock)- M4 z  J- ~, O4 t, h3 D, K
begin
+ N2 w1 u0 H5 L6 I3 `' y   if (clock'event and clock ='1') then   
+ P$ S; T4 |0 F# r0 m- Z      if ( input1 > input2 ) then 1 v) h+ |$ A1 l, }" }/ k
         output <= '1';" L; z6 w/ b( u8 p- E9 ^  A
      else
& n  \& G- s- M6 l) B         output <= '0';
+ E  d. b: g% b, [: ?; {      end if;5 r/ O0 `/ w8 M2 a
   end if;
7 B4 K4 _2 x6 D: |5 w( hend process; / W* b9 s/ v. _# F, s: ~3 v: l; _

% R) }$ H7 M# }6 N' mprocess(clock)
' z- y3 I+ }4 R! y% o0 H% R5 s- j4 Nbegin+ x' D: p; N/ R: n5 H; n8 ?
   if (clock'event and clock ='1') then   8 Z- ?1 `; C  |9 ?. o$ X2 Q
      if ( input1 < input2 ) then
0 Z( W* \* L5 \4 G5 X7 j         output <= '1';' f2 I/ e% N8 a6 x% p0 e1 e/ ~
      else
. [9 E5 c, _- Y         output <= '0';
) D' p6 f. k4 b4 w7 P      end if;2 h; o% O9 `# Y7 Q: d: }
   end if; 4 c1 t0 W- A, ?  \" x( ?, O
end process;
2 j8 Z/ K9 H; m- }) ?# O& B- Z' J) D" ^$ |( T6 M6 B9 f7 {6 t8 M
Verilog比較器
! g# O6 G* X( Areg output;
0 d3 U# d9 P: u* u. y. }
, Y" x8 p% O( B   always @(posedge clock)  L. e9 T: _3 ^6 a: G6 @6 e6 s
      if (input1 > input2)
, v( }7 d( l" _' k$ y* _! W+ \         output <= 1'b1;" s+ n4 g4 R- m6 U! u9 A
      else- g6 [! ~9 ~2 k: o3 {
         output <= 1'b0;
% R0 l9 m; A! ^5 C% ^/ w
7 X$ ~" O( u* v6 h$ Dreg output;" v, W# F% p8 X5 k9 }
  u+ C" [$ W3 q: ^2 G, j
   always @(posedge clock)
. L4 X* H, ^* K/ D& R7 n      if (input1 < input2)
7 J0 A: I+ a3 g2 M, `- a' b* q/ j         output <= 1'b1;
% p/ T8 L; u& l; U9 G1 J8 Z8 e      else
6 u$ g! I6 U5 A  Y# y: I6 m         output <= 1'b0;
& L9 D/ C4 K) I- }9 r/ B! _  _/ R9 `. Y* F% p' B
希望有幫助^_^

評分

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

查看全部評分

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

本版積分規則

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

GMT+8, 2025-2-24 06:11 AM , Processed in 0.174010 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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