Habt Ihr nen Tipp für mich, wie ich den Fitter dazubewegen kann, die interne Verteilung der Programmierung im CPLD XC9572XL anders zu realisieren? Konkret hab ich das Problem, das ich einen VHDL Code (mit Eurer Hilfe) gebastelt hab, der auch funktioniert. Dann hab ich die vom Fitter vorgegebenen Pins auch so verwendet und ne Platine gemacht, die funzt prima ! Nun wollte ich noch einige Dinge im Design ändern und bekomme nach der Änderung die Meldung "Mapping a total of 72 equations into 4 function blocks.........................ERROR:Cpld:892" Gut, wenn ich die Pinzuweisung neumachen lasse, dann bekommt die Software das hin. Ich mag aber die Platine nicht mehr ändern. Gibt es da ne Chance noch Erfolg zu haben ? Vielen Dank für jeden kleinen Hinweis sagt Ralph
72 Equations heisst, das das CPLD gestopft voll ist, da ist es schwierig, etwas zu tun. Du kannst entweder Funktionen raus nehmen, oder Dir vielleicht einen XC95144 mit gleichem Gehäuse besorgen. Schau Dir die Gleichungen im Report an, vielleicht siehst Du etwas, das viel Logik benötigt und einfacher geschrieben werden kann, z.B. Endbedingungen von Zählern oder ähnliches. Im Allgemeinen ist es bei CPLDs ungünstig z.B. auf größer oder kleiner zu testen, besser ist auf Gleichheit.
Hm.. naja mal sehen. Nützt es eigentlich etwas, wenn ich im VHDL Code etwas umsortiere? Also die umfangreichen Prozesse zuerst und die einfachen Signal ggf. weiter hinten ?
Die Reihenfolge ist egal. Eine Möglichkeit ist, wie bereits vorgeschlagen, die in VHDL beschriebene Logik besser an die Ressourcen des CPLDs anzupassen.
Hm.. ich kann damit nicht viel anfangen. Hab schon den Code mal testweise vereinfacht..aber festgesellt, das die intern erzeugten Veknüpfungen doch wieder gleich sind. Konkret die Frage... Wie passe ich die Logik an die Ressourcen des XC9572XL an ?
Ralph H. schrieb: > Konkret die Frage... Wie passe ich die Logik an die Ressourcen des > XC9572XL an ? Ein paar Tipps habe ich Dir ja weiter oben gegeben, ansonsten müsstest Du deine Logik vielleicht einmal herzeigen.
Klaus Falser schrieb: > Ralph H. schrieb: >> Konkret die Frage... Wie passe ich die Logik an die Ressourcen des >> XC9572XL an ? OK ich kann nur den XC9572 nehmen,. es ist der einzige "Große" im PLC84 Gehäuse, oder hab ich was übersehen? Hier ist der Code.. allerdings jetzt grade wild rumprobiert...
Klaus Falser schrieb: > Ein paar Tipps habe ich Dir ja weiter oben gegeben, ansonsten müsstest > Du deine Logik vielleicht einmal herzeigen. Bringt es etwas, wenn ich statt umfangreicher OR Verknüpfungen einfach erstmal mehr Zwischenergebnisse in Form von Signalen erzeuge und dann diese Signale erst zum Schluß verknüpfe ? Ich denke mal NEIN, es wird nichts bringen, richtig ?
Ralph H. schrieb: > Bringt es etwas, wenn ich statt umfangreicher OR Verknüpfungen einfach > erstmal mehr Zwischenergebnisse in Form von Signalen erzeuge und dann > diese Signale erst zum Schluß verknüpfe ? Jain. Dazu musst Du einerseits den Fitter dazu bringen, die Zwischensignale nicht aufzulösen, sondern zu behalten -> Stichword attribute oder constraint "KEEP". Andererseits funktionieren CPLD nicht so wie FPGAs, die Und-Verknüpfung in den Produkttermen können alle Eingangssignale des Functionblocks ohne Nachteile verarbeiten. Problematisch ist es nur, wenn für die Gleichungen in den Macrozellen des Functionblock zu viele verschiedene Signale benötigen. Aber Du solltest Dir den Fitter Report anchauen, dort die Gleichungen suchen, die groß und kompliziert sind, und diese eventuell vereinfachen. Man kann mit collapsing PTERM Limit und collapsing input limit spielen. Außerdem sollte es deb XC95108 im PLC84 gehäuse geben, aber aus den Posts ist noch nicht ganz klar ob Du nun die 5V XC9500 oder die XC9500XL Familie verwendest.
Ich setz bisher den XC9572XL also die 5V Variante ein, hab aber das ganze Projekt auch schon erfolgreich mit dem XC95108 kompiliert. Da ich den XC9572 aber da hab, wollte ich nicht die teurere Variante (19€ grrr) wählen. Außerdem sind diese Probleme hier für mich auch ein gutes Training :-) und ich lerne viel dabei, auch wenn ich NOCH nicht immer alle Eure Abhandlungen verstehe :D Danke für all die Unterstützung. Ich hoffe ich kann auch mal was zurück geben. Gruß Ralph PS: Nicht das anfangen wird belohnt...sondern das DURCHHALTEN!
Ralph H. schrieb: > XC9572XL also die 5V Der XC9500XL ist die 3.3V Variante! Die Eingänge sind zwar 5 V kompatibel, d.h. die Eingänge halten 5V aus ohne kaputt zu werden, aber Versorgung und I/O Spannung sind 3,3V.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.