Estaba ejecutando un caso de prueba para iverilog proporcionado en este enlace y tenía publicó una pregunta anteriormente . Cuando probé más iverilog con uart test case, descubrí que en uart_tb.v, estamos usando el archivo uart_port.sv que es el archivo verilog del sistema y contiene una palabra clave del sistema verilog "interfaz". A continuación se muestra el archivo.
uart_ports.sv:
'ifndef UART_PORTS_SV
'define UART_PORTS_Sv
interface uart_ports(
output logic reset ,
input wire txclk ,
output logic ld_tx_data ,
output logic [7:0] tx_data ,
output logic tx_enable ,
output logic tx_out ,
input wire tx_empty ,
input wire rxclk ,
output logic uld_rx_data ,
input wire [7:0] rx_data ,
output logic rx_enable ,
output logic rx_in ,
input wire rx_empty ,
output logic loopback ,
output logic rx_tb_in
);
endinterface
'endif
Mi pregunta es, ¿es compatible iverilog con las palabras clave verilog del sistema? Puedo usar una versión diferente de verilog, es decir, verilog 1995, 2001 y 2005 con el indicador -g, y lo intenté con -g2005, pero aún aparece el error:
uart_ports.v:4: syntax error
¿Hay alguna palabra clave para la palabra clave de la interfaz (de System verilog) en verilog o debería considerar que este caso de prueba no se puede simular con iverilog o iverilog con las palabras clave del sistema verilog?