- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello;
I have some Registers remover During synthesis because a lost fan out. But Iam sure that these registers followed by a compinational logic then another registers(system pipeline), here are my questions: 1- Does the synthesis fail to know those logics that follow these registers, so it mark them as lost fan-out? 2- During the simulation(with modelsim-altera-edition), I found these registers and it have an effect on the system latency. How was it removed and still simulated?Link Copied
4 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Do any of your device output signals (pins) depend on these registers or the combinational logic they drive? I suspect not. They may be part of a pipeline. However, if none of the FPGA's output signals depend on them, Quartus will remove them. Quartus will only remove registers whose output signals are not used - and it's very good at determining whether or not they are used - i.e. whether they're required.
ModelSim may well show you the latency. However, ModelSim won't remove any registers. What ModelSim shows you isn't necessarily representative of the behaviour of the code you've run through Quartus. So, I suggest you revisit your code and how you've connected it up at your top level. Cheers, Alex- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks Mr Alex for ur reply;
The removed registers located in a pipeline. It feed a combinational logic of at minimum (3 xor + 1 And ) operations in cascade then the destination register. Is these loads are not enough to make fan-out signals, so that it is removed.- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
ouh... you can try use vhdl "keep" synthesis attribute if you project in vhdl/try find template in quatus text editor.
also you can locate your removed register and make "preserve" assignment for it.- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello a4atmel,
The quartus tool automatically removes the unused registers during the synthesis process, that is why your registers are getting removed. If you want to preserve those registers please go through the link below For verilog http://quartushelp.altera.com/15.0/mergedprojects/hdl/vlog/vlog_file_dir_noprune.htm For VHDL http://quartushelp.altera.com/14.1/mergedprojects/hdl/vhdl/vhdl_file_dir_noprune.htm
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page