Spartan 3e 1600 + DDR - SDRAM + MIG 3.0

Gast #1665093
Lesenswert?
• ▲
▼
Hi,

ich hoffe ihr könnt mir helfen, ich habe ein

MicroBlaze Development
Kit Spartan-3E 1600E

und müsste die DDR - Ansteuerung hinbekommen...

Ich habe mir über den Core Gen von ISE - Webpack den MIG 3.0 generieren 
lassen. Direkt als Referenz Design für das gleiche Board jedoch mit 
Spartan-3E 500E...

Das einbinden der Files in Ise Webpack klappt auch noch hervorragend.
Jedoch bekomme ich beim "Implement Design - Translate" - Schritt 
folgende fehlermeldungen...

ERROR:ConstraintSystem:59 - Constraint <INST 
"main_00/top0/data_path0/data_read_controller0/gen_wr_en[1].fifo_1_wr_en 
_inst"  LOC = SLICE_X1Y77;> [vhdl_bl4cl2.ucf(585)]: INST
   "main_00/top0/data_path0/data_read_controller0/gen_wr_en[1].fifo_1_wr_en 
_inst
   " not found.  Please verify that:
   1. The specified design element actually exists in the original 
design.
   2. The specified object is spelled correctly in the constraint source 
file.

Da es sich ja um ein Referenz Design handelt, sollte ja sowas nicht 
passieren...

Wenn jemand schon erfahrungen damit hat, wäre es nett, wenn ihr mir 
helfen könntet!

Gruß, Martin
Gast #1665794
Lesenswert?
• ▲
▼
Hallo Martin,

ich glaube bei Dir kommen gleich zwei Sachen zum Tragen. Den Fehler auf 
den Du gerade gestossen bist sowie den auf den Du nach Beheben stossen 
wirst ;)

1.) kontrolliere einmal ob das Constraint auch trifft:
Sprich heisst deine Toplevel Entity wirklich main_00 und befindet sich 
der restliche Pfad exakt so wie das Constraint das beschreibt, meist 
findet sich hier der Fehler.
Ab und an aegert auch die Synthese indem Sie ab und an die Hirachien 
nicht durch "/" sondern durch "_" trennt. Solltest Du also nicht gleich 
fuendig werden, so wuerde ich das Constraint erst einmal 
auskommentieren, die Synthese komplett durchlaufen lassen und mit dem 
FPGA Editor nach der zu constrainenden Instanz suchen...

Du wirst nach Beheben dieses Fehlers aber auf weitere Probleme stossen:

Du schreibst selbst, dass Du Dir den Core hast fuer ein Board mit einem 
anderen (kleineren) Baustein als den auf deinem Board.

der von Dir gemeldete Constrainterror enthaellt den LOC = SLICE_X1Y77 
Constraint. Hiermit wird ein Element an eine Slice Position X1 Y77 
positioniert. Dieses Slice wurde so gewaehlt das der Abstand des Cores 
und der IO-Pins im Bezug auf die Routingdelays moeglichst guenstig 
liegt.
In deinem groesseren Baustein befinden sich aber mehr Slices, so dass 
die Position des Slice Y77 sich zu den IO-Pins aendert (sprich die 
Routing Latence) vergroessert sich. Deine Aufgabe wird also sein die 
Positionen der SLICE LOCs so anzupassen, das diese relativ gesehen zum 
kleineren Baustein wieder uebereinstimmen...

Gruss

Andreas
#1667515
Lesenswert?
• ▲
▼
Wieso geht das denn nicht? Bei mir zeigt der CoreGen an:


Core type:

MIG
Version:

3.3
Core Summary:

This Memory Interface Generator is a simple menu driven tool to generate 
advanced memory interfaces. This tool generates HDL and pin placement 
constraints that will help you design your application. Spartan-3 family 
supports DDR & DDR2 SDRAM. Spartan-6 supports LPDDR, DDR, DDR2 & DDR3 
SDRAM. Virtex-4 supports DDR & DDR2 SDRAM and QDRII & DDRII SRAM and 
RLDRAM II. Virtex-5 supports DDR & DDR2 SDRAM, QDRII SRAM and DDRII 
SRAM. Virtex-6 supports DDR2 & DDR3 SDRAM, RLDRAM II and QDRII+ SRAM. 
Virtex-6L supports DDR2 & DDR3 SDRAM.

Und ich kann für den S3E1600 auch den MIG auswählen. Allerdings 
verschwindet der manchmal aus der Liste links, da is wohl ein kleiner 
Bug im CoreGenerator (11.4) wenn man auf "Supported Families" drückt, 
den S3E1600 aussucht und dann "Set as current" macht, ist er plötzlich 
wieder da....
Gast #1667825
Lesenswert?
• ▲
▼
@ Christian R

Ja, mann kann für den S3E1600 einen MIG - Core erzeugen... Jedoch muss 
im MIG nochmal der FPGA ausgewählt werden und da lässt sich dann nur der 
S3E500 bzw. der S3E1200 wählen... und dann hat man wieder das Problem 
mit der Slice anordnung...

War vielleicht von mir ein bisschen ungeschickt formuliert...

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 16 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.