Als ik volgende code wil compileren krijg ik een error:


module real_example;

real delta; // Define a real variable called delta
initial
begin
	delta = 4e10; // delta is assigned in scientific notation
	delta = 2.13; // delta is assigned a value 2.13
end

integer i; // Define an integer i
initial
	i = delta; // i gets the value 2 (rounded value of 2.13)

endmodule

error:
Error (10172): Verilog HDL unsupported feature error at real_example.v(3): real variable data type values are not supported

Nu vermoed ik dat Quartus een 'real' variabele niet kent (of ligt dit puur aan de webeditie?), kan ik ook een andere variabele gebruiken?

Dit voorbeeldje komt uit het Verilog HDL boek van Samir Palnitkar, dus zo fout kan het toch niet zijn?

reals kan je niet synthetiseren ... amen en uit.

der is verschil tussen vhdl voor simulatie en vhdl voor synthese. Altera , xilnx en al die tools doen synthese.

Is er dan een andere weg om decimale getallen te gebruiken? Het uiteindelijke resultaat zou een stukje IIR Butterworth filter zijn wat gegenereerd is met matlab.

Fixed point math gebruiken. Maar ik raad je aan om dat ding eerst eens in fixed point in simulink of matlab op te bouwen, want die gaat met zekerheid onstabiel worden als je de coefficienten of de filterstages te sterk afrond. Dat is het lastige aan fixed point math :)