Interfaces - 2023.2 English - UG901

Vivado Design Suite User Guide: Synthesis (UG901)

Document ID
UG901
Release Date
2023-11-01
Version
2023.2 English

VHDL-2019 Interfaces are implemented using the record and view keywords. The type record is used to set up the interface, for example :

type data is record
     A : std_logic_vector(3 downto 0);
     B : std_logic_vector(3 downto 0);
     C : std_logic_vector(3 downto 0);
end record data;

Then the view acts like the SystemVerilog modport to indicate which signals act like inputs and which act like outputs :

view TxView of data is
     A : in;
     B : in;
     C : out;
end view TxView;

Then these views can be used for the port declarations of the hierarchies :

entity my_ent is 
Port (
     Int_1 : view TxView;
     Int_2 : view RxView
);
end entity my_ent;