FPGA Intellectual Property
PCI Express*, Networking and Connectivity, Memory Interfaces, DSP IP, and Video IP
Intel Support hours are Monday-Fridays, 8am-5pm PST, except Holidays. Thanks to our community members who provide support during our down time or before we get to your questions. We appreciate you!

Need Forum Guidance? Click here
Search our FPGA Knowledge Articles here.
5990 Discussions

Data type conversion in dsp builder

Honored Contributor II

I tried to run STAP Steering generation reference design in dsp builder, its a flaoting point design, for using signal compiler I had to put a data type converter to change the format of fixed point inputs to floating point. but when I ran the quartus project I faced this error for this command in data type conversion subsystem : 

q <= real(to_integer(signed(a))) / 1.0; 

Error (10327): VHDL error at STAP_steeringGen_Subsystem_Data_Type_Conversion1.vhd(52): can't determine definition of operator ""/"" -- found 0 possible definitions 

can enyone help me? 

0 Kudos
2 Replies
Honored Contributor II

real types are not appropriate in quartus, as they are not synthesisable. They re for simulation only.

Honored Contributor II

Well advanced blockset does generate floating point hardware, but its does the arithmetic by thinking about the exponent and mantissa bits explicitly. As Tricky says, the 'real' type in VHDL is for simulation; It's not supported in Quartus, and it's not how we generate hardware. The Advanced block-set has data type conversion blocks; to reinterpret floating point signals built and using in DSP Builder Advanced designs as a bit pattern of mantissa, exponent, sign etc.. at the boundaries for example when passing a 32bit IEEE single precision number to DSP Builder. I suggest you use these convert blocks, rather than trying to do the convert yourself. Also Altera doesn't synthesize / as divide - I don't think that's legal syntax.