|
小弟最近要用Deisgn vision來synthesis一些VHDL code,最後目標是能用PrimePower來測出這processor的耗電量。
# \7 P. x! M3 H. p/ J- A& s; d現在卡在一個問題不得其解。( O% R4 {* U9 ]1 U) X' q
其中Program Counter元件的code可以用ModelSim的軟體compile,可是在Design Vision卻沒辦法synthesis.....- }# i7 b9 p& z- D6 t6 H% _2 p6 u& P
其error code為An if statement containing a clock event has an illegal else branch and is not supported for synthesis.9 B( M5 }( k; w. K4 }
後來去查,才發現在synthesis的過程中,元件不能有任何timing 或 clock的描述在其中。
N: p1 N5 ^, b. [4 v- f5 N' [$ P9 U
9 ~, U$ E& I" _7 t7 {/ o- C元件的碼如下: w8 X/ m; t8 C3 O8 S5 ?
6 H/ n5 e! S! B5 |0 B3 |4 O, a process(PCclr, PCinc, PCld, PCin)
; B u- A4 _# D! N6 @ begin
L' f3 X9 b/ E2 _3 L: j if PCclr='1' then3 G0 }; a6 @4 }4 ~3 V! S
tmp_PC <= "0000000000000000";1 p% q4 {8 M8 q8 Z3 W6 C
elsif (PCld'event and PCld = '1') then
6 c/ }; F! h5 i& F; g8 M& K6 ] --elsif PCld = '1' then
4 z+ U$ \2 g* v tmp_PC <= PCin;( k+ t2 p0 F" r
elsif (PCinc'event and PCinc = '1') then
; t8 b0 b, A+ T9 |$ R( W) i --elsif PCinc = '1' then
f* q7 `) o% x' M" m2 }' B tmp_PC <= tmp_PC + 1;# C6 H; ^7 o( X. o* ^4 |/ p [# K
end if; \* c# q+ j, j# k* t, P
end process;6 d3 c$ e. c( `. J ^7 D
, q- q$ F) X; a6 r* ^) L' r, V, x也就是說問題出現在event這個敘述。由於剛學VHDL,所以對有些字元描述不是很清楚,請問可以怎麼改寫或替換呢? |
|