Failed to create SystemVerilog interface in _hw.tcl in Platform Designer
Hi,
I am using Cyclone V and Quartus Prime Standard 22.1.2 (which is the latest downloadable version in Intel website).
There is a user component with 2 AXI interfaces and 1 APB interface in Platform Designer. To simplify the connection I want to use SV interface. I found the description in Platform Designer user guide of how to add SV interface into _hw.tcl and corresponde it with a QSYS interface: https://www.intel.com/content/www/us/en/docs/programmable/683364/18-1/declaring-systemverilog-interfaces-in-hw-tcl.html
But when I added the lines in example script Platform Designer reported errors, e.g.
- "add_fileset_file axi4_io.sv SYSTEM_VERILOG PATH lib/intf/axi4_io.sv SYSTEMVERILOG_INTERFACE"
Error: SYSTEMVERILOG_INTERFACE not allowed for EFileAttribute, must be in {[TOP_LEVEL_FILE, MENTOR_SPECIFIC, CADENCE_SPECIFIC, SYNOPSYS_SPECIFIC, ALDEC_SPECIFIC, COMMON_SYSTEMVERILOG_PACKAGE, CONTAINS_INLINE_CONFIGURATION, IS_CONFIGURATION_PACKAGE]}
- And, the description of SYSTEMVERILOG_INTERFACE in "Fileset Kind Properties" is not consistent with the example which treated it as one of "File Kind Properties". I did try adding a fileset with type SYSTEMVERILOG_INTERFACE but it poped out an error saying it is not one of the valid fileset kind properties neither.
- "add_sv_interface axi_bd_if axi4_io"
Error: invalid command name "add_sv_interface" while executing "add_sv_interface axi_bd_if axi4_io"
How to use this function correctly?
Hi Chunxi,
Done testing. Yes, the top-level port feature that you want can be done by Pro version hw.tcl SystemVerilog interface command.
I had checked internally that this feature only be implemented starting from Pro version 17.1. That's why you'll see package require -exact qsys 17.1 in both the Standard and Pro example given https://www.intel.com/content/www/us/en/docs/programmable/683364/18-1/declaring-systemverilog-interfaces-in-hw-tcl.html and https://www.intel.com/content/www/us/en/docs/programmable/683609/22-4/declaring-systemverilog-interfaces-in-hw-tcl.html
If you check the hw.tcl generated by latest Standard version 22.1.2, you'll see it still use this package require -exact qsys 16.1. Means that Standard version not yet supports this feature and document mistake (I'll report this to internal team). Probably this feature will be supported in future Standard release.
So for now, have to stick with traditional method (SV interface used inside the RTL) for Standard version.
Thanks,
Best Regards,
Sheng