www.mikrocontroller.net

Forum: FPGA, VHDL & Co. t51-Core/8052: ROM erweitern


Autor: Alex S. (djlxs)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,

ich habe den 8052 aus dem t51-Core von opencores.org auf meinen 
Spartan-3A-DSP 1800 mit Hilfe der Xilinx ISE 10.1 implementiert.
Meine Programme schreibe ich mit SDCC und baue sie über die ISE mit dem 
BMM-MEM-File-Verfahren in den FPGA-Bitstream ein.

Mein Testprogramm zur Ansteuerung eines LCDs und zur Kommunikation über 
RS-232 funktioniert auf dem FPGA-Board einwandfrei, solange ich mit den 
standardmäßg konfigurierten 8 kB ROM arbeite.

Nun wollte ich das ROM auf die maximalen 64 kB erweitern, habe aber 
Probleme, mein Testprogramm zum laufen zu bringen.
Mein BMM-File habe ich gemäß der DATA2MEM-Anleitung um 7 weitere 
Busblöcke erweitert und die Initialisierung und die Adressleitungen des 
ROMs angepasst.
Laut Floorplaner wurden 32 ROM-Blöcke erzeugt und nach dem Einbinden des 
MEM-Files korrekt initialisiert, soweit ich das beurteilen kann.

Nun stellt sich mir die Frage, wo der Fehler liegen könnte? Liegt es am 
Adressraum? Könnten Timing-Probleme eine Rolle spielen? Ist der Core 
standardmäßig gar nicht für mehr als 8 kB ROM geeignetß

Das selbe Problem tritt übrigens auch bei 16 kB, 32 kB, etc. auf.

Ich bin um jeden Tipp dankbar!

Grüße,
Alex

Autor: Andi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Der T51 Core ist auf jeden Fall NICHT auf 8k limitiert (hab schon öfters 
für diverse Projekte mehr Speicher benötigt).
Der Fehler muss in Deinem bmm-File oder der von Dir geänderten 
Speicheranbindung liegen.
Hast Du versucht Deine Änderungen zu simulieren ?

Gruss,
Andreas

Autor: Alex S. (djlxs)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Andreas,

nach mehreren Tests muss es wohl am bmm-File liegen.
Sobald ich mehr als eine Busblock-Reihe definiere, bekomme ich mein 
Testprogramm nicht mehr zum laufen.

Für 32 kB ROM benutze ich folgendes bmm-File:

ADDRESS_SPACE T51_ROM_Xilinx RAMB16 [0x0000:0x7FFF]
  BUS_BLOCK
    rom/Mrom_D_rom00008 [7:7];
    rom/Mrom_D_rom00007 [6:6];
    rom/Mrom_D_rom00006 [5:5];
    rom/Mrom_D_rom00005 [4:4];
    rom/Mrom_D_rom00004 [3:3];
    rom/Mrom_D_rom00003 [2:2];
    rom/Mrom_D_rom00002 [1:1];
    rom/Mrom_D_rom00001 [0:0];
  END_BUS_BLOCK;
  BUS_BLOCK
    rom/Mrom_D_rom000016 [7:7];
    rom/Mrom_D_rom000015 [6:6];
    rom/Mrom_D_rom000014 [5:5];
    rom/Mrom_D_rom000013 [4:4];
    rom/Mrom_D_rom000012 [3:3];
    rom/Mrom_D_rom000011 [2:2];
    rom/Mrom_D_rom000010 [1:1];
    rom/Mrom_D_rom00009 [0:0];
  END_BUS_BLOCK;
END_ADDRESS_SPACE;

Die ROM-Blöcke sind alle im Floorplaner aufgeführt mit korrekter 
Initialisierung.
Was könnte hier nicht stimmen?

Grüße,
Alex

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.