Estas palabras clave declaran puertos de entrada (input), salida (output) y bidireccionales (inout) de un módulo (module) o tarea (task).
Los puertos input e inout son de tipo wire, los output pueden configurarse de tipo wire, reg, wand, wor o tri. El valor predeterminado es wire.
Sintaxis
input [msb:lsb] input_port_list;
output [msb:lsb] output_port_list;
inout [msb:lsb] inout_port_list;
Ejemplo
module ejemplo_puertos (
input a, // una entrada, por defecto wire simple 1-bit
output b, e, // dos salidas, por defecto wires de 1-bit
output reg [1:0] c // una salida de tipo reg de 2-bit
);