Intel® Quartus® Prime Pro Edition User Guide: Platform Designer

ID 683609
Date 12/12/2022
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

4.3.6. Declaring SystemVerilog Interfaces in _hw.tcl

Platform Designer supports interfaces written in SystemVerilog.

The following example is _hw.tcl for a module with a SystemVerilog interface. The sample code is divided into parts 1 and 2.

Part 1 defines the normal array of parameters, Platform Designer interface, and ports

Example Part 1: Parameters, Platform Designer Interface, and Ports in _hw.tcl

# request TCL package from ACDS 17.1 # package require -exact qsys 17.1 # # module ram_ip_sv_ifc_hw # set_module_property DESCRIPTION "" set_module_property NAME ram_ip_sv_ifc_hw set_module_property VERSION 1.0 set_module_property INTERNAL false set_module_property OPAQUE_ADDRESS_MAP true set_module_property AUTHOR "" set_module_property DISPLAY_NAME ram_ip_hw_with_SV_d0 set_module_property INSTANTIATE_IN_SYSTEM_MODULE true set_module_property EDITABLE true set_module_property REPORT_TO_TALKBACK false set_module_property ALLOW_GREYBOX_GENERATION false set_module_property REPORT_HIERARCHY false # Part 1 – Add parameter, platform designer interface and ports # Adding parameter add_parameter my_interface_parameter STRING "" "I am an interface parameter" # Adding platform designer interface clk add_interface clk clock end set_interface_property clk clockRate 0 # Adding ports to clk interface add_interface_port clk clk clk Input 1 # Adding platform designer interface reset add_interface reset reset end set_interface_property reset associatedClock clk #Adding ports to reset interface add_interface_port reset reset reset Input 1 #Adding ram_ip files add_fileset synthesis_fileset QUARTUS_SYNTH set_fileset_property synthesis_fileset TOP_LEVEL ram_ip add_fileset_file ram_ip.sv SYSTEM_VERILOG PATH ram_ip.sv

Part 2 defines the interface name, ports, and parameters of the SystemVerilog interface.

Example Part 2: SystemVerilog Interface Parameters in _hw.tcl

# Part 2 – Adding SV interface and its properties. # Adding SV interface add_sv_interface bus mem_ifc # Setting the parameter property to add SV interface parameters set_parameter_property my_interface_parameter SV_INTERFACE_PARAMETER bus # Setting the port properties to add them to SV interface port set_port_property clk SV_INTERFACE_PORT bus set_port_property reset SV_INTERFACE_PORT bus # Setting the port properties to add them as signals inside SV interface set_port_property address SV_INTERFACE_SIGNAL bus set_port_property write SV_INTERFACE_SIGNAL bus set_port_property writedata SV_INTERFACE_SIGNAL bus set_port_property readdata SV_INTERFACE_SIGNAL bus #Adding the SV Interface File add_fileset_file mem_ifc.sv SYSTEM_VERILOG PATH mem_ifc.sv SYSTEMVERILOG_INTERFACE