- Critial path estimation, see section "Strategy 2: Estimate Critical Path Without Running Synthesis". This is the fastest way to get critical path, without need to run synthesis tool. You can use this feature to get quick estimate and iteratively improve your design.
- Generic ASIC/FPGA workflow, see section "Strategy 3: Annotate Critical Path By Using Backannotation". You can get more accurate timing result by running sythesis tool. You can continue improve your design until you can meet timing in this workflow
the compilation failed due to timing violation
3 次查看(过去 30 天)
显示 更早的评论
Hello,
I am working on generating an NI FPGA Bitfile from Simulink. During the generation process, I encountered an error. I have attached the error message and the HDL code generation report. Could you please help me resolve this issue?
%% Set Model ‘PB’ HDL parameters
hdlset_param(‘PB’, 'AdaptivePipelining', 'on');
hdlset_param(‘PB’, 'Backannotation', 'on');
hdlset_param(‘PB’, 'CriticalPathEstimation', 'on');
hdlset_param(‘PB’, 'FloatingPointTargetConfiguration', hdlcoder.createFloatingPointTargetConfig('NativeFloatingPoint' ...
, 'LatencyStrategy', 'Zero') ...
);
hdlset_param(‘PB’, 'HDLSubsystem', ‘PB’);
hdlset_param(‘PB’, 'MulticyclePathConstraints', 'on');
hdlset_param(‘PB’, 'OptimizationReport', 'on');
hdlset_param(‘PB’, 'Oversampling', 61);
hdlset_param(‘PB’, 'ReferenceDesign', 'Default system');
hdlset_param(‘PB’, 'ResourceReport', 'on');
hdlset_param(‘PB’, 'SynthesisTool', 'NI LabVIEW');
hdlset_param(‘PB’, 'SynthesisToolChipFamily', 'Kintex7');
hdlset_param(‘PB’, 'SynthesisToolDeviceName', 'xc7k325t');
hdlset_param(‘PB’, 'SynthesisToolPackageName', 'fbg676');
hdlset_param(‘PB’, 'SynthesisToolSpeedValue', '-1');
hdlset_param(‘PB’, 'TargetDirectory', 'hdl_prj\hdlsrc');
hdlset_param(‘PB’, 'TargetFrequency', 40);
hdlset_param(‘PB’, 'TargetPlatform', 'PXIe-7868R');
hdlset_param(‘PB’, 'Traceability', 'on');
hdlset_param(‘PB’, 'Workflow', 'NI FPGA Bitfile Generation');
Thank you.
0 个评论
采纳的回答
Wang Chen
2024-9-6
To clarify, it looks like you are trying to run the HDL Coder generated HDL code using 40MHz clock, and the NI FPGA compilation reports that the logic cannot meet 40MHz requrement (25ns).
The recommentation is to use the HDL Coder features to find out the critical path in your design, and then use HDL Coder optimization features to insert pipeline registers to reduce the critical path to be less than 25ns.
You can use several HDL Coder features mentioned in this page:
After you identified the critical path in your design, there are several recommendations for improve the design in "Step 3: Resolve Timing Failures" section.
Thanks,
Wang
0 个评论
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!