Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
跳轉到指定樓層
1#
發表於 2007-7-20 14:10:02 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
如何設計一個8位元計數器和8位元比較器??
0 ~, a3 X2 ?  n& `  }, ^1 v! P) ^因為真的摸不著頭緒
分享到:  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?# M" m6 F' V- Z$ y& @8 \: g: T
我直接給你sample code比較快啦!
5 q4 y' _. h2 f* s) P2 X0 F我是用Lattice,, T& B& V; ]& _0 c. R+ ]9 `
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還是....????) X4 ~) f9 o. O# k3 B3 n+ g
我給你幾個參考.7 B4 r7 n4 S3 @+ B

/ G8 Q  ?* x# p: c" SVHDL count' g/ q5 `* j8 |4 B, R
+ r# c" f1 R  E! Y
process (clock, reset) 1 F! {3 i9 j) }5 d" j) C. Z
begin) a' a+ G" p2 N5 ]
   if  reset='1' then
$ B% x1 i- m, B7 z! c      count <= (others => '0');
  ]6 n+ U$ P: H& u! a, t   elsif clock='1' and clock'event then. ]- Z- p  T- k: R0 I2 I+ ^, I" |- u
      if clock_enable='1' then
6 B5 }$ U. }+ S" C9 o2 X" _0 e         count <= count + 1;6 W* P7 o; {" Z
      end if;
7 ~$ E+ `: F: C5 R   end if;
' e  i2 ^2 ^0 |end process;8 s! w( [3 f6 }3 q% q! x
$ x, V8 _: Q$ O( J
Verilog count
) x$ ?# ~/ t; i: h$ w/ d$ |+ y% G6 u1 B" {  c2 \" _
reg [7:0] count;
* t( ]- `, v( c) k0 E, U   
3 I$ \2 j0 P3 j   always @(posedge clk)
) ~" V: f- e! c8 D" o6 F, T: o      if (clock_enable)4 F- m4 k! V3 o5 L
         count <= count + 1;& s2 ~7 i% Q- g; |# p5 `% ?
/ l" }" N4 l( q. G5 p7 o4 \# u
VHDL比較器* Z' O& T9 l9 w
process(clock)
& ?- i# l5 y. Fbegin# Y; K4 y( B. F4 X' x/ f4 a
   if (clock'event and clock ='1') then   
% W! f: r- [( t0 R/ Y% ~$ P      if ( input1 > input2 ) then
4 S7 k9 `8 |/ g) p* I9 p0 i         output <= '1';4 t; B; c% ~+ C8 L9 s
      else
! M9 I+ Z! N! t& J7 u/ K% t, |         output <= '0';" p, Z5 f/ V$ ~0 @/ A
      end if;
$ ~* B# x" ^; c! Y. _   end if; % c+ I% d1 \$ M& M* t! O9 W+ }' N6 O
end process;
& W- j1 h) {% q! O  q6 Y3 F
0 j& h) a3 O7 Q4 Y7 g% Y; Nprocess(clock)# F* Q9 |7 {. [3 M8 g
begin
" L. Z- |0 p) X% S9 s- g1 i% A   if (clock'event and clock ='1') then   
8 J: ?0 y% z3 m& U      if ( input1 < input2 ) then . I  c- U/ B. ~. g- m
         output <= '1';  J) s! F( \4 d& B2 F  H- m
      else
+ g' {5 D4 ~3 r! `         output <= '0';
7 m1 P, `: ^; K3 ]+ p& R      end if;
7 S0 o* j! K8 y0 Q   end if;
% ^4 x$ `- a2 V7 i) Fend process; 7 d* i; h2 P  n8 B# M

* ^: W6 {. A1 i7 u7 R0 n) d, QVerilog比較器
, ]# e1 l. h. Xreg output;
: F4 J7 g7 @! e& R( z; m; N" ~
; |' u% Q' z. H  }( m6 Q$ n) q   always @(posedge clock)
0 D1 j8 q% I; z/ |5 X. e      if (input1 > input2)
9 i* ?# q6 {3 [& M         output <= 1'b1;
2 `- G* |- v4 ?$ [' c6 b& F. u      else
- E9 s# E# N( e0 e1 ?         output <= 1'b0;( G* j; v2 D  [- o
% @7 h+ E: g) s7 O
reg output;
8 P* b  |) ]+ _1 S3 d4 g: S& [& o- s7 Q( l: ~) b" a
   always @(posedge clock)2 F0 z' a! E5 s
      if (input1 < input2)
! O1 x* D  S: N' ]& q         output <= 1'b1;2 ?0 _% |# c" X' V
      else  {7 H# E* k: ?3 P' y4 A6 r' T
         output <= 1'b0;
' Z% q8 X, j/ |% }# Q. l, }  {4 J/ O8 o$ d3 |* y
希望有幫助^_^

評分

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

查看全部評分

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

本版積分規則

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

GMT+8, 2024-5-17 10:02 AM , Processed in 0.183024 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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