|
您要的是 ASYNC. LOAD/CLEAR ? 如果是建議如下:
7 d+ C( K; w$ ]: F: f- Vprocess(PCclr, PCinc, PCld, PCin)! m5 B2 w) W5 u& N/ S/ [
begin
: k0 D4 x, [# u4 g# bif ( PCclr='1' or PCld ='1')then, U' m- q. v8 ]' f$ G' }
if( PCclr = '1')then -- ASYNC. clear! @- I8 u3 G% G2 f$ A6 @
tmp_PC <= "0000000000000000";1 h0 n$ {7 P A6 ?' D4 T' z7 ~" Q
else -- ASYNC. load2 l" G( o0 f2 Y
tmp_PC <= PCin;
/ r" }4 W& K) X& ~: r end if;
4 v) n% P, M0 C+ p* }; Velsif (PCinc'event and PCinc = '1') then/ U: ^6 j/ X: y; c$ W( ~2 c
tmp_PC <= tmp_PC + 1;. ^- \; j1 C3 D( y: r
end if;, ], e1 G3 j5 M+ x ]% y
end process;& L2 e! j* U2 U( u+ h' s
如要的是 SYNC. LOAD / ASYNC. CLEAR 建議如下:
5 q4 d% I, W: Aprocess(PCclr, PCinc, PCld, PCin)
6 I) S% n( z1 ?9 h4 {- Ebegin/ q9 ?& {, T" U( l% e9 G3 o
if ( PCclr='1')then5 J7 @5 z* K# Y+ q* _ L6 L) E
tmp_PC <= "0000000000000000";- k1 R" O' I$ E _# W
elsif (PCinc'event and PCinc = '1') then: w' c$ P, o3 V7 w* w
if( PCld = '1') then -- SYNC. load) w/ U" B2 `6 o& g+ g% a
tmp_PC <= PCin;3 L2 B* \4 K Z" d/ ]
else -- upcount3 ] c9 v: p6 ?& E
tmp_PC <= tmp_PC + 1;( F0 k! F* o0 L4 Y* p* l
end if;8 W4 C7 n, R( c2 U, P
end if;
+ F' ^/ ^4 G" z3 E- I. g" Kend process; |
評分
-
查看全部評分
|