Einfache Möglichkeit zum zuweisen von Werten an ein array in Verilog?

So, ich bin die Schaffung eines großen FIR filter in Verilog, es hat 256 taps. So brauche ich 256 Koeffizienten. Ich möchte versuchen, dass mein code so modular wie möglich, so Frage ich mich, ob es gibt einen Weg, um erstellen Sie eine andere externe Datei an die FIR-Modul enthält die Werte für die Koeffizienten? Derzeit die einzige mir bekannte zuweisen von Werten an eine array in Verilog ist wie folgt:

reg [15:0] datafile [8];

initial
begin
    datafile[0] = 32768;
    datafile[1] = 37045;
    datafile[2] = 41248;
    datafile[3] = 45307;
    datafile[4] = 49151;
    datafile[5] = 52715;
    datafile[6] = 55938;
    datafile[7] = 58764;
end

Aber wenn man 256 Werte zuweisen, dies ist ein sehr langer Prozess manuell die Organisation der code, auch mit der Suchen/Ersetzen-Sie können nur so viel tun. Was ich möchte ist die Möglichkeit, Werte zuzuweisen-arrays, wie Sie im System Verilog:

reg [15:0] datafile [8] = '{8468,56472,56874,358,2564,8498,4513,9821};

Möchte ich nicht verwenden, System Verilog, da es nicht so weit verbreitet. Kann mir jemand helfen?

  • Sie brauchen diese nur für die simulation oder müssen Sie das array von Konstanten synthetisierbare?
  • Ich will dann synthetisierbare.
  • In der Regel ist dies realisiert als ROM. Es gibt Bereich und Geschwindigkeit Vorteile.
Schreibe einen Kommentar