Dieser ArtikelBenutzerSuche |
T51-CoreDer T51-Core ist ein 8051-kompatibler Prozessorcore in VHDL. http://www.opencores.org/projects.cgi/web/t51/overview
[bearbeiten] Synthese mit Xilinx ISE/WebpackISE (9.1) ist nicht in der Lage, das ROM in der mitgelieferten Datei ROM52_BASIC.VHD als Block-RAM zu synthetisieren, sondern versucht daraus ein kombinatorisches Netzwerk zu bauen, was natürlich fürchterlich schief geht. Eine für ISE angepasste Version der Datei gibt es hier. Syntheseergebnis:
[bearbeiten] Beispielprojekt für Digilent Nexys-BoardDas Nexys-Minimalbeispiel von Digilent, erweitert um den T51-Core. Nur RXD und TXD sind angeschlossen, außerdem ist RXD noch mit Port 3.0 verbunden, weil das für die Baudratenerkennung des Basic-Interpreters benötigt wird. Die RS232-Adapterplatine von Digilent muss an JA angeschlossen werden. Um den Basic-Interpreter zu verwenden mit einer beliebigen Baudrate die Verbindung herstellen und ein Leerzeichen senden um die Baudratenerkennung zu aktivieren. Dann sollte man folgende Eingabeaufforderung bekommen: *MCS-51(tm) BASIC V1.1* READY > Das Basic-52 Reference Manual bekommt man unter http://www.grifo.com/SOFT/uk_bas52.htm (deutsche Übersetzung: http://home.arcor.de/EDAconsult/Page3/index.html?c~3.1). Download: In dieser Version wurde zusätzlich ein einfaches RAM-Interface zwischen dem Prozessor und dem PSRAM auf dem Nexys-Board implementiert: [bearbeiten] Xilinx ISE: Laden des ROMs ohne NeusyntheseMan kann den ROM-Inhalt im Bitstream ändern, ohne das Projekt neu synthetisieren zu müssen. Dazu braucht man eine bmm-Datei, in der das Speicherlayout beschrieben wird. Dokumentation zu dem Format gibt es unter http://toolbox.xilinx.com/docsan/xilinx92/books/docs/d2m/d2m.pdf. t51_rom.bmm:
Die Datei zum Projekt hinzufügen und alles nochmal durchlaufen lassen (falls ein undefinierter "Error" angezeigt wird, bmm-Datei wieder entfernen und im Floorplanner überprüfen ob die Namen der BRAMs stimmen). Jetzt sollte man eine neue Datei "t51_rom_bd.bmm" vorfinden, in der sich Informationen zum Placing der BRAMs befinden. Diese Datei wird vom Tool data2mem genutzt um den BRAM-Inhalt direkt im Bitstream zu ändern. Folgende Batch-Datei veranschaulicht den Vorgang anhand eines mit sdcc kompilierten Testprogramms: c/make.bat:
c/test.c:
Alternativ kann man die MEM-Datei auch ins Projekt mit aufnehmen, dann verwendet ISE sie automatisch für das Erzeugen des Bitstreams. [bearbeiten] Siehe auch |