Forum: FPGA, VHDL & Co. XILINX ISE schematic im topmodule verwenden ?


von Stefan (Gast)


Lesenswert?

Hallo,

ich möchte mit einem XL9572 in ISE 11.1 zwei Drehenkoder auswerten. Dazu 
habe ich ein Schematic rot.sch, auf dem ein paar Gatter sitzen. Aus 
diesem Modul habe ich ein Symbol erzeugen lassen (create schematic 
symbol) um es zwei mal in meinem topmodule verwenden zu können. Ziehe 
ich ein oder zwei dieser rot-Module auf meinen Hauptschaltplan und 
möchte die Pins zuweisen (floorplan), stehen mir dort nur die Signale C, 
D und Q zur Verfügung (das sind scheinbar die, die das D-Flipflop 
welches in rot.sch enthalten ist hat), anstatt die IOs des rot-Moduls 
(A, B ,CLK, CE, DIR).
Ziehe ich einfache Logikgatter auf die Hauptseite und verbinde diese mit 
IO Markern, werden selbige korrekt im Floorplan angezeigt, bis ich ein 
rot-Modul hinzufüge, dann sind wieder nur C D und Q zu sehen. Kann mir 
jemand sagen was ich falsch mache ?

Schöne Grüße
Stefan

von Christian R. (supachris)


Lesenswert?

Wieso machst du das im FloorPlan? Ist das nicht das Programm, was auf 
unterster Chip-Ebene das zeigs verdrahtet? Du musst eigentlich nur ein 
Projekt erstellen, als Top-Level Schematic einstellen, und dann ein 
Schematic File erzeugen, was dann dein Top-Level ist. Editiert wird das 
ganze im Schematic-Editor. Da kannst du dann beliebige Gatter, FlipFlops 
oder eben eigene Schematics oder VHDL Module verbinden. Die Verbindungen 
zu den Pins machst du mit den Input oder Output oder BiDir Markern. Die 
Schematics oder VHDL Module die du verwenden möchtest, fügst du erst zum 
Projekt hinzu und wählst dann "Create Schematic Symbol", dann stehen die 
Symbole im Schematic Editor zur Verfügung.
Im Normalfall hat man im FloorPlan eigentlich nix zu suchen, das Routing 
usw. macht das ISE doch alles alleine. Und die Pins weist man doch im 
PAce zu, also "Assign Package Pins"

von Stefan (Gast)


Lesenswert?

Genau, eigentlich hab ich's genau so gemacht:

Ok, ich probiers hier nochmal "live":
Neues Projekt, neuer Schaltplan main.sch (topmodule).
Noch einen Schaltplan subtest.sch.
Auf subtest ein AND-Gatter geschubst, 3 kurze "Wires" dran, und an diese 
jeweils einen I/O Marker. Wires A, B, C benannt.
Create schematic symbol laufen lassen.
Auf main.sch wechseln, und 2 von den subtest Modulen auf die Seite 
schubsen.
An alle Anschlüsse ein Stück Wire und einen I/O Marker dran und 
umbenennen: A1, A2, B1, B2, C1, C2. Auf dem topModule sind so nun 2 
Symbole mit insgesamt 6 I/O Markern, die nun auf die Pins gelegt werden 
sollen.
Floorplan öffnen (hieß glaube ich in den Version zuvor anders), damit 
öffnet sich Xilinx Pace. Hier stehen nun nicht wie erwartet A1, A2, B1, 
B2, C1, C2, sondern nur A, B, C zur Verfügung.

Was stimmt hier nicht ?

Grüße
Stefan

von Christian R. (supachris)


Lesenswert?

Muss ich dann mal probieren. Ich arbeite noch mot 9.2.0.4 hier, läuft 
aber gerade ein anderes großes Design. Hast du alle Service Packs 
installiert? VIelleicht einfach ein Bug?

von Stefan (Gast)


Lesenswert?

Ja, Servicepacks sind alle drauf. Werde mal das ganze mit der 10er 
Version versuchen. In selbiger hatte ich aber immer ein ähnliches 
Phänomen: Sobald ich neben meiner "Submodul" auf das Topmodul z.B. einen 
einzelnen zusätzliches Logikgatter platziert hatte, waren in PACE nur 
noch die Pins dieses Gatters zu sehen. Schon seltsam dass in einer 11er 
Version die popelichsten Sachen immer noch nicht hinhauen...

Stefan

von Christian R. (supachris)


Lesenswert?

Hm, komisch. Mach doch ein VHDL als TopLevel, das klappt wenigstens.

von Stefan (Gast)


Lesenswert?

>Mach doch ein VHDL als TopLevel, das klappt wenigstens.
Jo, wenn ich dass nur könnte ;-)

Habs nun mit der 10er Version gemacht, da gehts...

Stefan

von Wolfgang M. (womai)


Lesenswert?

Zumindest in der ISE-Version 9 (habe noch nicht auf 10 umgestellt) habe 
ich auch derartige Probleme, und es sieht sehr nach einem Bug in der 
Entwicklungsumgebung aus.

Ich habe aber einen einfachen Workaround entdeckt - man muss nur sein 
gesamtes Design zu einem einzigen Symbol machen und dann eine Instanz in 
den Toplevel setzen (anstatt im Toplevel mehrere Untersymbole zu haben). 
Dann hat's bei mir immer zuverlaessig funktioniert. Also einfach eine 
Ebene mehr einfuegen (ueber Deinem jetzigen Toplevel).

Wolfgang

von walle (Gast)


Lesenswert?

Öhm,

die Pinzuweisung erfolgt doch über ein .ucf-file im Sinne von:

NET "A1" LOC = "(Pinposition)"


Kai

von Christian R. (supachris)


Lesenswert?

Naja, es gibt auch eine GUI dafür: Xilinx Pace.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.