Hallo zusammen,
ich habe ein VHDL Modul in einem FPGA bekommen und bei einem bestimmten
Registerwert verhält es sich komisch.
Leider habe ich keine Tools zur Simulation da bzw. habe auch keinen
Zugriff auf das FPGA Design, damit ich mir Debugleitungen herauslegen
könnte.
Darin enthalten ist:
1 | GENERIC(
|
2 | input_clk : INTEGER := 5_000_000); -- 5MHz
|
3 | PORT(
|
4 | ...
|
5 | bus_clk : IN STD_LOGIC_VECTOR(15 downto 0); --register
|
6 | ...
|
Mit diesem Generic und dem Regsiter wird ein Teiler berechnet.
1 | divider <= (input_clk/(to_integer(unsigned(bus_clk)) * 100));
|
Was passiert, wenn das Register den Wert 0 hat?
Dann habe ich eine "verbotene" Division durch 0.
Wie verhalten sich die Tools in einem solchen Fall?
Compilieren und die Synthese laufen offenbar auf dem FPGA durch... also
muss der Fall irgendwie angefangen bzw. interpretiert werden. Nur wie?
Vielen Dank!