In VHDL an
if
statement can only exist within a
process
. It is a
sequential statement. The
when
-
else
construct is the equivalent and it can only exist outside a
process
as a
continuous conditional assignment. (Unless you're using VHDL-2008). Which you use here is immaterial. You're problem stemmed from your thinking like a software engineer, from your thinking that
vid_pData
was like a software variable that could be overwritten.
vid_pData
is a signal, which is driven by a block of hardware -
dvi2rgb_0
- and connected to another block of hardware -
rgb2dvi_0
... —
Matthew Taylor 10 secs ago