MATLAB Answers

HDL Coder Workflow Advisor timing analysis

조회 수: 5(최근 30일)
Grégory SEABRA
Grégory SEABRA 2015년 2월 16일
댓글: Grégory SEABRA 2015년 2월 19일
Hello! I am currently working on a project for which my task is to develop a control algorithm for a power converter. This algorithm must be implemented inside an FPGA where the other modules are developped by another person. I decided to use HDL Coder to avoid coding the algorithm, and also insure rapid iterations afterward if corrections are needed (change of controller, architecture,...).
The FPGA is a Xilinx Spartan6, and thus the synthesis tool is included in ISE suite.
My question is:
When I use the workflow advisor, I cannot obtain any result on the timing analysis (Max Frequency) that would help me adding pipelines to my design in order to increase the Frequency. It seems that it considers the module I am generating as a TOP-level, and then tries to bind the I/Os of this module to IOBs. These I/Os are in fact connected to our register base (several 18-bits data). I thus have a message in the synthesis telling me that "more than 100% of the device ressources are used", which is not really the case. Mapping is therefore not possible, and it seems that the workflow advisor needs to perform mapping and P&R to obtain the critical path.
*==> Is it possible to specify that my module is not a TOP and use only the synthesis results as timing inputs to be highlighted in my Simulink Model?*
==> Are there any other options to allow me using this highlighting functionnality in order to place the required pipelines?
I am asking this question because when I give our FPGA expert the generated sources, he's able to perform a synthesis and find the critical path and Minimum Period of the design.
MATLAB/Simulink/HDL-Coder version: 2013b
Thanks by advance for your help. Regards
Grégory SEABRA

채택된 답변

Wang Chen
Wang Chen 2015년 2월 17일
편집: Wang Chen 2015년 2월 17일
Hi Grégory,
You can open Xilinx ISE project from the link generated in HDL Workflow Advisor step 4.1, and change following two settings in the ISE project. Then ISE will not attempt to bind the I/Os to IOBs.
  1. Clear “add I/O buffer” (–iobuf) in synthesis settings
  2. Clear “trim unconnected signals” (–u) in mapping settings
Alternatively, you can create a Tcl file with following two lines to set the same settings, and attach the Tcl file in the "Additional source files" box in HDL Workflow Advisor step 4.1.
project set "Trim Unconnected Signals" "false" -process "Map"
project set "Add I/O Buffers" "false" -process "Synthesize - XST"
Starting from MATLAB R2015a, these settings are automatically applied to the ISE project.
Thanks,
Wang
  댓글 수: 1
Grégory SEABRA
Grégory SEABRA 2015년 2월 19일
Hi Wang,
I tried your solution (create a .tcl file) and it worked well.
Thank you very much for your support!
Regards,
Grégory

댓글을 달려면 로그인하십시오.

추가 답변(0개)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by