Ich versuche, einen Mikrocontroller auf einem FPGA zu implementieren, und ich muss ihm ein ROM für sein Programm geben. Wenn ich $ readmemb benutze, wird das korrekt zu einem ROM synthetisiert? Wenn nicht, was ist der übliche Weg, dies zu tun?
Ich würde Georges Antwort ändern, um zu sagen, dass es vom Synthesetool abhängt, ob $readmemb
synthetisierbar ist oder nicht.
Alteras Empfohlene HDL Coding Styles Anleitung enthält Beispiel 10-31 (Seite 10-38) , die ein aus $readmemb
abgeleitetes ROM (unten wiedergegeben) zeigt:
Auch in Xilinx's XST-Benutzerhandbuch heißt es:
Das System
$readmemb
und$readmemh
Aufgaben können verwendet werden, um den Block zu initialisieren Erinnerungen. Weitere Informationen finden Sie unterRAM aus einer externen Datei initialisieren Kodierungsbeispiele
Verwenden Sie
$readmemb
für binär und$readmemh
für hexadezimal Darstellung. Um das mögliche zu vermeiden Unterschied zwischen XST und Simulator Verhalten, empfiehlt Xilinx® Ihnen Verwenden Sie Indexparameter in diesem System Aufgaben. Siehe die folgende Codierung Beispiel.
$readmemb("rams_20c.data",ram, 0, 7);