Назначения в Verilog выполняются оператором assign
, если вы пытаетесь установить значение wire
или внутри процедурного блока (always
или initial
) для других типов данных.
В вашем примере вам не хватает блока always
:
always @(*) begin
if(en==3'b001) begin
a1=$bitstoreal(in1[31:0]);
end
end
У вас также могут возникнуть проблемы с назначением шины типу real
, если вы не уверены в том, что делаете. Возможно, вам придется написать это как a1 = $itor(in1);