07-19-2019 12:26 AM
Hi, I defined a module using verilog. In Vivado project, I added the module to block design. In the block, AXI interfaces are correctly recognized and grouped into a "+" sign in the GUI. However the GPIO interface is not recognized, though I named the ports with suffixes of "TRI_I,TRI_O,TRI_T". How can I make interface in such case? I know that if I package the module into an IP, there are options to make interface. But that makes the project scattered. I want to reference RTL modules directly. Thank you.
07-19-2019 12:54 AM - edited 07-19-2019 12:55 AM
IO interfaces are not defined in Language Templates so I don't think they are available/supported for your flow:
--Syed
07-19-2019 12:54 AM - edited 07-19-2019 12:55 AM
IO interfaces are not defined in Language Templates so I don't think they are available/supported for your flow:
--Syed
07-24-2020 02:16 PM
Vivado 2019.1 recognizes following constructs:
(* X_INTERFACE_INFO = "xilinx.com:interface:gpio_rtl:1.0 GPIO TRI_I" *) (* X_INTERFACE_MODE = "master GPIO" *) input [WIDTH-1:0] gpio_io_i, (* X_INTERFACE_INFO = "xilinx.com:interface:gpio_rtl:1.0 GPIO TRI_O" *) output [WIDTH-1:0] gpio_io_o, (* X_INTERFACE_INFO = "xilinx.com:interface:gpio_rtl:1.0 GPIO TRI_T" *) output [WIDTH-1:0] gpio_io_t;