Estoy usando nombres externos introducidos en VHDL-2008 para acceder a un montón de señales (digamos 1000) en una jerarquía de diseño con muchos niveles.
<< signal dut.signal_1 : std_logic >>
<< signal dut.signal_2 : std_logic >>
...
<< signal dut.signal_1000 : std_logic >>
Quiero recorrer estas 1000 señales y forzarlas a '0' o '1' para realizar algunas pruebas de fallas y, por lo tanto, sería conveniente tener algo como este pseudo código:
alias test_vector : std_logic_vector(999 downto 0) is (dut.signal_1, dut.signal_2, ..., dut.signal_1000)
I.e. Quiero construir un "vector de alias" con todos mis nombres externos. Con este vector puedo hacer algo como esto:
test_vector(random_number) <= force '0';
Parece que no puedo encontrar una manera fácil de hacer esto. La única forma en que puedo pensar es usar un alias y, con un script, copiar los nombres externos uno a la vez en el archivo, ejecutar la simulación y luego repetir para las 1000 señales.
¡Cualquier ayuda o idea es muy apreciada!