Aquí hay un código de VUnit Avalon Master BFM:
entity avalon_master is
generic (
bus_handle : bus_master_t;
use_readdatavalid : boolean := true;
fixed_read_latency : natural := 1; -- (bus cycles). This parameter is ignored when use_readdatavalid is true
write_high_probability : real range 0.0 to 1.0 := 1.0;
read_high_probability : real range 0.0 to 1.0 := 1.0
);
port (
clk : in std_logic;
address : out std_logic_vector;
byteenable : out std_logic_vector;
burstcount : out std_logic_vector;
waitrequest : in std_logic;
write : out std_logic;
writedata : out std_logic_vector;
read : out std_logic;
readdata : in std_logic_vector;
readdatavalid : in std_logic
);
end entity;
Hay tantos puertos que sólo dicen std_logic_vector sin dar ningún límite. Esto es, obviamente, sólo para su uso en la simulación en realidad. ¿Cómo es esto incluso válido VHDL?