Frage zu Beispielcode aus ise11pdf

AlexanderF
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 140
Registriert: 2. Mai 2010 17:55

Frage zu Beispielcode aus ise11pdf

Beitrag von AlexanderF »

hallo,

ich habe gerade den Beispiel Verilog Code
aus der Datei zur Einrichten eines Projekts und Simulation in XILINX ISE 11.3
nachgetippt,
nämlich:

module counter(
input clk,
output reg[3:0] count
);
initial count = 0;
always @(posedge clk)
count <= count + 1
endmodule

mich stört hier ein wenig das initial cout = 0;

wäre das Modul so überhaupt synthetisierbar?
Oder würde ise das initial bei der Synthese einfach ignorieren,
so dass man, das initial auch in Modulen, die synthetisierbar sein sollen, schreiben kann,
also auch in den Hausübungen?

Thorti
BSc Spammer
BSc Spammer
Beiträge: 1047
Registriert: 1. Dez 2003 11:52
Wohnort: Frankfurt
Kontaktdaten:

Re: Frage zu Beispielcode aus ise11pdf

Beitrag von Thorti »

Hallo,

ja, das initial wird bei der Synthese ignoriert.

Gruß
Thorsten
Assistent zur Vorlesung TGDI im WS 11/12

patrix
Mausschubser
Mausschubser
Beiträge: 71
Registriert: 16. Nov 2009 17:10

Re: Frage zu Beispielcode aus ise11pdf

Beitrag von patrix »

Hallo zusammen,
wird bei der Synthese das Initial immer ausgelassen, oder nur in dem oben genannten Fall?

Viele Grüße Patrick

AlexanderF
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 140
Registriert: 2. Mai 2010 17:55

Re: Frage zu Beispielcode aus ise11pdf

Beitrag von AlexanderF »

@Thorsten: vielen Dank.

@Patrix: ich denke, dass die Antwort so gemeint ist, dass ein initial bei der Synthese immer ignoriert wird,
dass es nur in diesem Fall ignoriert wird, darin sehe ich keinen rechten Sinn.
initial sorg ja nur dafür, dass ein reg (kann man es eigentlich auch für wire verwenden?) einen bestimmten Wert zu Beginn der Simulation hat,
bei der Synthese kann das ja schlecht umgesetzt werden, aber andererseits sollte es ja auch nicht groß den Sinn verändern, wenn man es einfach ignoriert,
von daher denke ich, dass initial bei der Synthese einfach immer ignoriert wird.

Wolfgang
Dozentin/Dozent
Beiträge: 359
Registriert: 21. Apr 2004 17:54

Re: Frage zu Beispielcode aus ise11pdf

Beitrag von Wolfgang »

Hallo zusammen,

laut Verilog Standard ist das inital nicht synthesefähig.

Mittlerweile gehen aber Hersteller (z.B. Altera) dazu über, den Standard zu "erweitern".
Bei Quartus von der Firma Altera ist das inital synthesefähig. Der Wert, der den Registern
zugewiesen wird, wird in den Look-Up-Tabellen eines Logik-Elements abgelegt und nach
der Konfiguration durch den Bitstream als Start-Wert in die Register geladen.

Die Realisierung mit einem Reset ist natürlich deutlich flexibler (zumal da üblicherweise
die dedizierten Set- und/oder Reset-Eingänge der D-FFs verwendet werden).

Schönen Sonntag, viele Grüße
Wolfgang

Antworten

Zurück zu „Archiv“