Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
跳轉到指定樓層
1#
發表於 2007-7-20 14:10:02 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
如何設計一個8位元計數器和8位元比較器??
& D( G5 ~  I; B- m因為真的摸不著頭緒
分享到:  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?
( [1 M  r9 e# b我直接給你sample code比較快啦!
1 E. _& N/ c+ M0 e- a: ^我是用Lattice,
$ |4 @& W% @, o. nrussellhsu@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還是....????: A5 p  t- a6 `7 p( I# W' L
我給你幾個參考.( o: _. \) e5 l+ b1 U' k

# L9 i  I& m3 yVHDL count9 H! q" {5 B5 D  o- h9 E  }
0 C& B1 V1 N4 z
process (clock, reset)
0 V* o( E0 W( l( O7 J7 O, ]5 e' ]begin3 _& D9 Q. P5 q7 Y6 y# K0 U
   if  reset='1' then ) @( H3 \1 ?/ J" Y
      count <= (others => '0');
1 H/ i$ b% Y" N   elsif clock='1' and clock'event then
7 M" P- i9 t' f2 x' m      if clock_enable='1' then
" N. Y2 w4 e/ l3 D1 n         count <= count + 1;/ j3 @3 [! I# Q) R* z
      end if;3 W# T4 `7 F! I+ {
   end if;
" D6 W6 D( s1 X8 j7 n  ?4 hend process;
# k3 s" b% ^# `8 Z3 Z' k  \/ q# ~: }1 o7 a3 J  X0 ^- y
Verilog count* t2 D$ ^; B+ _
! Z  I% o  K1 r- F6 f
reg [7:0] count;
+ {! ^1 O2 e. Z! B' N! e8 a0 _. p& J2 s* [   
! m% C, z; K  Q6 V4 D   always @(posedge clk)
5 t. R9 e! O2 L7 Z, v      if (clock_enable)- B! {# ^& d, n/ S7 k
         count <= count + 1;
! F& q2 p6 q1 A  v+ B) k) B2 Q3 w4 p- E) Y6 O  h( }
VHDL比較器
% d, J1 w; g* N, _% }process(clock)) h; N* ~5 N4 F+ m3 a5 U+ V
begin! d& x6 h* A, i) m. u, a% Z
   if (clock'event and clock ='1') then   
" O0 e: t8 }* n      if ( input1 > input2 ) then
. O0 Z. L" z% `" L- \# X         output <= '1';
! ?% ?7 B( @9 N2 K" e      else
8 ~* O- ]* r% Z1 H( N* t         output <= '0';, t3 R3 m; W8 G, u# b/ d/ j" Q
      end if;& o, d9 U* O+ [, h" I# ~- G0 z# w
   end if;
. V' Q  X% h( Send process;
- c" W, O, w% \0 G0 ]* n% W/ t, r: Q! H2 T$ G1 H' n
process(clock)6 x2 {+ ~2 t/ B/ t( n7 d4 T: Z
begin& l" k# ]$ R0 Z* h- T% P) Q7 ~& Z4 F
   if (clock'event and clock ='1') then   
6 F; m. |2 r- }& S, n' ~2 Z. h9 G      if ( input1 < input2 ) then # j' O( ]" j" {) g8 _7 U
         output <= '1';
; r! K& T) ?* `6 q# v, ]      else
$ Q4 }" S  _- Z) D8 w         output <= '0';
5 a& E- F* {' B5 ^" l2 `2 I. |      end if;
, `7 @, u4 s1 H2 j3 |   end if; 4 _; ?: Q9 V3 ?" d! S
end process;
+ p! y' O5 P) a; i, F4 M: s+ {4 D8 @* P/ h3 h% A6 p' V
Verilog比較器# v1 O) e- Y  ~
reg output;4 P2 X* L  Q# a* Z2 ^; ?
; q  {# s( Z% `
   always @(posedge clock)
! j* |* x+ G% {8 F. g9 n8 n; ~      if (input1 > input2)
# t& w$ V* u  n         output <= 1'b1;
/ N) I8 l- H$ {* k      else  V- n5 ?4 c3 d/ t* n) L3 e1 T: t
         output <= 1'b0;
2 S' \( v  S; S# G
1 k7 G& w) \: Hreg output;  G2 s( \/ X5 n; e' r

( m3 Y  t5 E: x+ a$ }1 j1 v   always @(posedge clock)' w0 [: e$ n8 L8 }4 }# t% Z
      if (input1 < input2)! A6 A4 F$ x9 J) r. |) L3 Q& R  d
         output <= 1'b1;
, W& B' L6 [2 ]" `; Y& L      else
; K$ {+ ~/ ^* C2 x7 k6 x         output <= 1'b0;
+ A& J- {% [( g  m. }) `- g  d+ A$ V) B" t' b4 o! W. j5 J3 }8 k
希望有幫助^_^

評分

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

查看全部評分

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

本版積分規則

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

GMT+8, 2025-2-24 02:35 AM , Processed in 0.163009 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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