|
這是我從網路上找到的鬧鐘程式! J' M& ]4 `) I1 w- c7 ?8 \
但Compiler一直不會過4 m9 S3 f4 ~& W5 }
會出現Process clocking is too complex的錯誤$ R/ r+ A; }0 v9 j8 b
請問是為什麼呢?? 謝謝+ m8 o, r5 C( c8 w) r
% |% a* z1 v; N6 Y& R/ B
LIBRARY ieee;5 _* |" ]* }/ S9 v7 N7 j8 u) G& S7 u
USE ieee.std_logic_1164.all;6 f. I! }6 Y1 y4 D% A
6 G" l8 w$ w& n2 F
, c& Y3 I3 T! B& ^# `$ O/ h% k5 hentity scalarmtime is % h5 u2 p/ A F2 v+ l
port(set_alarm,set_sc,set_min,set_hour : in std_logic;
0 H# a8 F5 x, Z6 r sc_data : out integer range 0 to 59; - T" b% d. V5 _6 e4 [: c
);
% A$ R7 |4 k) \, b7 Uend scalarmtime;
4 [" c Y! L$ x% f) D8 A& k" j* s
3 A8 f4 b) s$ J, r( E0 @4 l) c9 C8 D
architecture one of scalarmtime is q* Z- r5 h: y: X
begin
: l+ k( g; i. Q! l- O process(set_sc)
! b4 V' E# r2 G1 K; W variable set_sc_data :integer range 0 to 59;
- J7 T0 l7 I/ p8 ^( @ begin
8 W- t6 m" W) `$ J" B if(set_alarm = '1') then
) j& V; {! }1 I( ]+ @4 x% ~) g3 e if(set_sc'event and set_sc='1') then ; X: f6 `" ^" E" Y
if(set_sc_data = 59)then
M7 i4 D. s2 I) v! z8 q set_sc_data:= 0;
/ x6 Z. C# w5 [& T else
. {# j& |. U4 L0 k0 _ set_sc_data := set_sc_data + 1;
, C% N- S9 s0 O4 G end if; - k: l1 @1 |. |/ q0 e# A
end if;
" p q7 ^5 K, f ]' @- Z( } end if;
- v( @- f, u4 c, S1 X. N- y sc_data <= set_sc_data; 3 o9 X9 w! G( j6 r) d
end process;
: R# Y$ a4 Q& R; Eend one; |
|