Moin,
ist es möglich im xdc File irgendwie Constraints für viele ähnliche
Signale per Generate oder mit Loop zu erzeugen?
Ich muss von einer Taktdomäne in eine andere und zwar mit vielen Bits.
Das ist unkritisch, es gibt ein "start_DAC" Signal, das wird in der
Zildomäne eingetaktet. Und wenn das dort als gesetzt erkannt wird ändern
sich die vielen Bits in der Startdomäne nicht mehr. Ich will also viele
false Path setzen.
Das ist ein
1 | start_DAC: in std_logic;
|
2 | data_DAC: in std_logic_vector(20*8-1 downto 0);
|
Eingang der Komponente.
Und der wird dann wenn das einsynchronisierte in 20 Register je 8 Bit
geschrieben. Die sehen so aus:
1 | type Rom20x1Byte is array (0 to 19) of std_logic_vector(7 downto 0);
|
2 | signal DAC_Regs: Rom20x1Byte:=(others => x"00");
|
Und so wird das gemacht:
1 | if start_DAC_sr = "01" then
|
2 | for I in 0 to 19 loop
|
3 | DAC_Regs(I) <= data_DAC(I*8+7 downto I*8);
|
4 | end loop;
|
5 | end if;
|
Der Befehl wäre z. B. für eines der 20*8 Bits:
set_false_path -from [get_pins {AD9747_data_DAC_reg[49]/C}] -to
[get_pins {AD9747_DAC/DAC_Regs_reg[6][1]/D}]
Ich würde da gerne sowas verwenden wie:
for I in 0 to 20*8-1 loop
set_false_path -from [get_pins {AD9747_data_DAC_reg[I]/C}] -to
[get_pins {AD9747_DAC/DAC_Regs_reg[I/8][I%8]/D}]
end loop;
Gibt es da eine Lösung?