How to add TCL script to HDL Coder IP Core generation

22 visualizaciones (últimos 30 días)
Alex Aronov
Alex Aronov el 15 de Sept. de 2023
Editada: Kiran Kintali el 7 de En. de 2025 a las 14:38
I use HDL Coder IP Core flow and I need to add a TCL script that I have to open Vivado, add the new IP core to the existing project and implement with it.
I tried "add additional sources" option in HDL Coder to point to my TCL script there. The TCL script was never executed.
Of course I can run the script manually after IP core is generated, but I want to have a pushbutton solution, such that I only start IP Core generation and everything else would work automatically.
One possible way would be to do everything (including IP core generation) in a TCL script, but I don't know how to make HDL coder to generate IP core in a TCL script.
Any suggestions?
Thank you, alex

Respuesta aceptada

Wang Chen
Wang Chen el 18 de Sept. de 2023
Hi Alex,
To clarify, "add additional sources" option (in HDL Workflow Advisor "Generate RTL code and IP core" step) is intended to include additional source files into the generated IP core. It will not execute the supplied Tcl script.
If you want to "I have to open Vivado, add the new IP core to the existing project and implement with it.", have you tried to create a custom reference design in IP core generation workflow? The steps to select a reference design (existing project), and run build tasks are exactly doing what you described. After you create a custom reference design, there are also callback functions you could use to execute your customized Tcl script.
Document/Examples of creating a custom reference design to include your existing project into the workflow:
Callback functions available when define custom reference design (where you could execute your tcl):
Alternatively, if you only want to run IP core generation (without the later build steps). You could Export a script from HDL Workflow Advisor, and run the IP core generaiton workflow in command-line. This way you could then execute your Tcl using command line, so you can have one combined script to do both IP core generation and the Tcl execution.
Thanks,
Wang
  1 comentario
Alex Aronov
Alex Aronov el 22 de Sept. de 2023
Hi Wang,
Sorry for the delay in my reply. Thank you for your suggestion. It seams to me that it would do what I need. I need to verify it in my project but I would need few more days before I can get to do this.
Thanks,
alex

Iniciar sesión para comentar.

Más respuestas (1)

Kiran Kintali
Kiran Kintali el 17 de Sept. de 2023
Editada: Kiran Kintali el 18 de Sept. de 2023
In the HDL Workflow Advisor for Generic ASIC/FPGA workflow, in the FPGA Synthesis and Analysis > Create Project task, in the Additional source files field, enter the full path to the Tcl file manually, or by using the Add button. When HDL Coder™ creates the project, the specified Tcl script is executed to apply the synthesis project settings.
For your usecase custom reference design creation in IP core generation workflow would be more suitalbe. This workflow has steps for selecting a custom reference design and run build tasks which is what you are looking for. After Custom reference design creation you can execute additional callback functions to run Tcl scripts of your choice. See this example for additional details..
Can you reach out to tech support for additional features related to tcl specification? Thanks.
  4 comentarios
Luca
Luca el 7 de En. de 2025 a las 11:30
Many thanks for the very useful information Kiran.
My design uses a RF Data Converter block, which is the one I am trying to customize with the tcl script. However, on the Extended Capabilities section of its page, it mentions to "use the SoC Builder tool", which is from SoC Blockset.
Does this means that it is not possible to customize my design because it uses the RF Data Converter block?
I tried generating code for it with HDL Coder and I got an error on R2022b: "Block 'soc_rfsoc_top/RF Data Converter/Stream to Sample2/Variant/On/Check Signal Attributes1' is not supported for HDL code generation." I will update and try the IP Core generation workflow, but I am not confident it will solve my issue.
Kind regards,
Kiran Kintali
Kiran Kintali el 7 de En. de 2025 a las 14:38
Editada: Kiran Kintali el 7 de En. de 2025 a las 14:38
The RF Data Converter block is supposed to be put outside of the DUT subsystem. Following example uses the RF Data Converter block and Simulink-canvas IP core generation workflow together: Multi-Channel Transceiver Using Xilinx RFSoC Device
If you are trying to modify the reference design to change the settings on the RF Data Converter in the reference design. You should consider reviewing these examples that show how to:
Please reach out to tech support for additional help.

Iniciar sesión para comentar.

Productos


Versión

R2023a

Community Treasure Hunt

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

Start Hunting!

Translated by