2017-05-08 20 views
3

Ich möchte den Speicher bitmem initialisieren, indem ich alle Bits auf 1 setze, wenn ich zum ersten Mal initialisiert werde. Ich habe initsused für ROM gesehen, und ich frage mich, ob es ähnliche Möglichkeiten gibt, Wert in Mem zu initialisieren?Initialisiere Daten in Mem (Chisel)

Antwort

3

Meißel ist in erster Linie für den Entwurf von ASICs bestimmt. Daher liegt der Fokus auf synthetisierbarer Hardware, so dass Sie, wenn Sie Ihren Meißelcode simulieren, dasselbe simulieren, das Sie synthetisieren. Da Mem auf SRAMs in einem ASIC abgebildet werden soll und SRAMs nicht initialisiert werden können, unterstützen wir dieses Konstrukt nicht in Chisel selbst. Wenn Sie Register anstelle eines SRAM erstellen möchten, versuchen Sie Reg of Vec.

Die Möglichkeit, Mems zu initialisieren, ist jedoch eindeutig eine nützliche Funktion für die Simulation. Wir sind dabei, die Chisel Testers zu überarbeiten, und diese Funktion soll eine erstklassige Funktion sein. Wir diskutieren auch was Chisel API could help users initialize their memories in Verilog or SystemVerilog testbenches.

In der Zwischenzeit könnten Sie Ihren Entwurf basierend darauf, ob der Speicher (oder die Speicher) initialisiert werden soll (dh wenn Sie für Simulation oder Synthese arbeiten), parametrisieren und eine Vec-Anweisung ausgeben, wenn Sie simulieren und ein Mem wenn du es nicht bist.