Sagen Sie bitte den folgenden Code haben,VHDL/Verilog - Wird eine mathematische Operation in einer Bereichsanweisung synthesiert?
signal a : std_logic_vector(N - 1 downto 0);
Oder
for i in 0 to N - 1
...
Hat der N-1
Teil in tatsächliche Logik synthetisiert bekommen, oder ist die FPGA-Software (zB Quartus) die Mathematik, bevor die Schaffung Logik?
Beispiel Anwendungsfall, sagen generische N
stellt die Anzahl der gewünschten Bits. Ist es besser, einen generischen Nm1
zu haben, der die Subtraktion hält, oder kann ich mit N-1
wie oben erhalten, ohne dass es zusätzliche Logik schafft?
Um klarzustellen, wenn ich zu einer RTL-Ansicht gehen sollte, sollte ich nicht sehen, dass zusätzliche Addierer im Entwurf verwendet wurden, um die "N-1" -Berechnung durchzuführen? –
N muss zur Kompilierzeit ein konstanter Wert sein (wie @duskwuff bereits gesagt hat). _N-1_ wird von Ihrem Synthese-Tool berechnet! ** Der FPGA berechnet diesen Wert nicht in einem Addierer! ** Es ist nur eine Beschreibung (im Fall eines Logikvektors), wie viele Hardwarekomponenten für Ihren FPGA benötigt werden, um diesen Schaltungsentwurf zu erstellen. –
Ich sehe, danke! –