При объявлении модуля в Verilog (2001?) Можно ли сказать, что некоторые порты являются векторами без указания их размера? Целью здесь является обработка векторных портов любого размера, без указания размеров через параметры .
Я знаю, что могу написать что-то похожее на Verilog, но я бы хотел узнать, есть ли способ избавиться от дополнительного параметра WIDTH_DATA
:
module my_module
#(
parameter WIDTH_DATA = 48
)
(
input Clk, En,
input [WIDTH_DATA-1:0] Data_in,
output Ready,
output reg [WIDTH_DATA-1:0] Data_out
);
Это возможно в VHDL, используя такое объявление:
entity my_module is
port (
Clk : in std_ulogic;
En : in std_ulogic;
Data_in : in std_ulogic_vector;
Ready : out std_ulogic;
Data_out : out std_ulogic_vector
);
end entity;
Реализация модуля может затем узнать размер Data_in
во время компиляции, используя Data_in'length
(то же самое для Data_out
).