FPGA Intellectual Property
PCI Express*, Networking and Connectivity, Memory Interfaces, DSP IP, and Video IP
Announcements
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.
5741 Discussions

enhanced precision troubles in DSP Builder 13.0.1

Altera_Forum
Honored Contributor I
752 Views

I am running my first experiments with DSP Builder with Enhanced Precision. My trial etup is to use NIOS, load DSP Builder subsystem with numbers (ultimately to do FFT, etc.), and write back to shared memory, and print some results with NIOS. Works fine with fixed point, or single precision floating point, but not Variable Precision m23 or m17 types. The subsystem block in question has: (1) channel in complex sfix(32), (2) convert to var prec type, (3) reinterpret cast, and (4) channel out, with the Enhanced Precision block and Synthesis Scheduled info block. 

 

I am somewhat of an experimentalist with the Altera Design Software, but have gotten results with the above to convert single prec to see hex outputs on NIOS like 3f800000 for 1.0, 4000000 for 2.0, etc, without Enhanced Precision. The software doesn't seem to fly with the Enh Prec stuff. 

 

My question is: is this because I am using DSP v 13 with Cyclone II. Second question: since I need Quartus 13.0sp1 for Cyclone II board, can I combine Quartus 13.0 with DSP Builder 14.1 and get this to work (maybe problem is with DSP Builder 13). 

 

Thanks a bunch for any insight into this! 

 

An update: 

I see that in the RTL viewer window for Quartus when I compile the DSP Builder Subsystem, that the inputs to an internal subsystem a routed incorrectly between subsystems. This routing (compiling) problem doesn't occur when I use single precision, but it does occur when I use Enhanced Precision. So, the entire design for the DSP Builder is: (1) Subsystem 1 has shared memory with NIOS and exports on a trigger a data stream to subsystem 2; (2) Subsystem 2 converts the stream to floating point, casts it to fix point, sends it to subsystem 3; (3) Subsystem 3 puts stream into shared memory so that NIOS can read it.  

The wires get crossed between subsystem 1 and 2, with the channel, valid and data streams all mixed up between the blocks ! (But only with Enh Precision!) How can I fix this? 

 

Thanks!
0 Kudos
2 Replies
Altera_Forum
Honored Contributor I
50 Views

I hope this is not the problem: DSP Builder book 3 says: 

 

The following features do not work in a system that has an 

Enhanced Precision Support block, or any subsystems: 

■Enabled subsystems 

■Bus blocks 

■Demux primitive block 

 

Does this mean that I cannot use NIOS which has (?) bus blocks (?) along with Enhance Precision. I was hoping to use NIOS to drive the DSP builder subsystem with data, and retrieve results. I'm not sure how to interpret this statement in the Adv DSP Builder book. Hopefully, I can do what I want with NIOS and Enhanced Precision. :)
Altera_Forum
Honored Contributor I
50 Views

Does anybody out there understand DSP builder? A little help to clarify this issue would sure be appreciated. I haven't been able to solve this by myself. Am I trying the impossible with DSP Builder? Or do you need more information?

Reply