Apply IO_BUFFER_TYPE on a top level port to tell the tool to use IBUFs and OBUFs, or not to use input or output buffers. This attribute can be placed on any primary port or signal.
By default, Vivado synthesis infers input buffers for input ports, and infers output buffers for output ports. However, you can manually use the IO_BUFFER_TYPE property to disable this default behavior for specific ports or nets.
The IO_BUFFER_TYPE can be used in conjunction with the CLOCK_BUFFER_TYPE property to determine the combination of buffers to be inferred for clock signals.
- Architecture Support
- Applicable Objects
Note: The property IO_BUFFER_TYPE is only available from HDL for Synthesis.
- Ports Apply IO_BUFFER_TYPE to any top-level port to disable buffer insertion.
- Nets Apply IO_BUFFER_TYPE to any signal connected to a top-level port to disable buffer insertion.
NONE: Specify this value on input or output ports. The presence of this property indicates that no input or output buffers are to be inferred
- Verilog Syntax
(* io_buffer_type = "none" *) input in1;
- VHDL Syntax
entity test is port( in1 : std_logic_vector (8 downto 0); clk : std_logic; out1 : std_logic_vector(8 downto 0)); attribute io_buffer_type : string; attribute io_buffer_type of out1: signal is "none"; end test;
- XDC Syntax