11-30-2011 05:31 AM
here's my problem. I have to implement a signal processing algorithm on a FPGA. We've always used Sysgen.
the problem now is that we have to respect a coding standard, make a static analisys on the generated code and test on each module.
Sysgen generate a single big vhd file, but it would be much better to generate a single vhd file for each entity or package. Is there a way to automatically modify the single file in many vhd files, one foreach entity?
Moreover, is there a way to control how sysgen gives names to net or entities in the generated file?
we're developing a safety critical application and it's almost impossible to use a sysgen flow. The V&V would be too hard or even impossible.
11-30-2011 07:11 AM
If your sysgen design is hierarchical, you could potentially sysgen each block individually. And then validate the HDL individually. How are you planning to do that now?
If you have to validate at that level, it might be easier to write the HDL yourself...
What standard are you working to? How safety critical is you application?
11-30-2011 07:23 AM
i think it might be easier to write VHDL, at least the V&V process should be easier. we are planning to go that way, even if development time would be much longer
it's a railway application, IEC61508 (actually the equivalent italian standard), SIL4.
Validate each HDL individually could be cumbersome, sysgen put the conv_pkg and all entities toghether in a single file (actually it produces also individual vhd file for each IP used, for simulation purposes).
moreover, how can i use Xilinx IP's if on their header it's written
-- CRITICAL APPLICATIONS --
-- Xilinx products are not designed or intended to be fail- --
-- safe, or for use in any application requiring fail-safe --
-- performance, such as life-support or safety devices or --
-- systems, Class III medical devices, nuclear facilities, --
-- applications related to the deployment of airbags, or any --
-- other applications that could lead to death, personal --
-- injury, or severe property or environmental damage --
-- (individually and collectively, "Critical --
-- Applications"). Customer assumes the sole risk and --
-- liability of any use of Xilinx products in Critical --
-- Applications, subject only to applicable laws and --
-- regulations governing limitations on product liability. --
11-30-2011 07:28 AM
11-30-2011 07:45 AM
We will assume that risk. That probably means we have to test IPs as black boxes.
that's a pity coz writing vhdl for signal processing (fixed or floating point) is not as easy as using Sysgen
BTW i don't understand why Sysgen produce such a big single HDL file. maybe for synthesizer optimization purposes?
there's no control at all on the generated files, not even on nets or entities names, i hope it will be included in future releases
11-30-2011 08:27 AM
11-30-2011 08:55 AM
it matters if your coding standard says "one file for each entity" :)
I guess many developers write one file for each entity, it's just a good rule if you have to write 100.000 lines of code
12-01-2011 01:02 AM
Ahh. Yes, I see your problem :)