Hallo Leute! Ich bin dabei, mir "richtiges" VHDL anzueignen ;) Da es mir vor allem auch darum geht, guten synthesefähigen Code zu erzeugen, schaue ich mir gerade einige Videos zu empfohlenen Coding-Techniken von Xilinx an, wie z.B.: http://www.xilinx.com/support/training/rel/Basic_HDL_CodingTech.htm Diese Techniken scheinen ausschließlich für FPGAs bestimmt zu sein. Das ist momentan auch kein Problem, weil ich das Spartan 3E Starter Board habe. Mein Design soll Daten vom A/D-Wandler holen, diese in den externen RAM schreiben und die Daten sollen daraus von einem PC per RS232 abgerufen werden können. Da das Gerät schließlich jedoch sehr wahrscheinlich USB-powered werden soll, befürchte ich allerdings, dass ich das Design später doch für ein CoolRunner II CPLD umschreiben muss. Ich denke, dass CoolRunner II schon große Vorteile ggü. FPGAs hat, wenn es um Low-Power bzw. Power-over-USB geht, oder? Meine Frage ist deshalb, ob dieses spätere "Umschreiben" des Codes von FPGA nach CPLD problematisch ist oder nicht. Vor allem geht es auch darum, ob die oben gennanten Coding-Techniken von Xilinx überhaupt für CPLDs so ohne weiteres gelten und übernommen werden sollten. Damit meine ich z.B. die von Xilinx empfohlene Nutzung von synchronen Resets, Verwendung von Registern und FSM-Coding-Tipps, etc. Es wäre sehr hilfreich für mich, wenn mir jemand hierzu einige Experten-Tipps geben könnte. Ich bedanke mich schon mal im Voraus! Viele Grüße, Anguel
Ich programmiere mit CPLD und FPGA und kann sagen, dass von den prinzipiellen Coding-Techniken kein Unterschied ist. Eine synchron getaktete Schaltung wird immer gleich beschrieben, ebenso wie eine FSM. Unterschiede gibt es natürlich in den verfügbaren Resourcen, ein CoolRunner hat weder Blockram noch spezielle IO Blöcke mit z.B. DDR. Und wenn Du z.B. die Fähigkeit des Coolrunners ausnützen möchtest, auf beiden Flanken zu schalten, so geht das im FPGA nicht. Unterschiede ergeben sich hauptsächlich durch die Geschwindigkeit der Resources. Während ich in einem FPGA noch nie Schwierigkeiten mit größeren Zählern oder komplexerer Logik hatte, so habe ich zumindest bei den XC9500er CPLDs manchmal ganz schön kämpfen müssen um z.B. eine Schaltung mit größer oder kleiner Vergleichen gegen einen Zähler im Baustein unterzubringen und trotzdem noch die Timingvorgabe einzuhalten.
Erstmal Danke für die schnelle Antwort! Klaus Falser schrieb: > Ich programmiere mit CPLD und FPGA und kann sagen, dass von den > prinzipiellen Coding-Techniken kein Unterschied ist. Das ist beruhigend. > Unterschiede gibt es natürlich in den verfügbaren Resourcen Ok, das ist klar, was nicht drin ist, kann man auch nicht nutzen. > Unterschiede ergeben sich hauptsächlich durch die Geschwindigkeit der > Resources. Wie schnell taktet man so einen CoolRunner II? Hast Du evtl. auch Erfahrungen was Low-Power angeht? Macht das wirklich einen großen Unterschied, ob man CPLD oder FPGA nimmt? Viele Grüße, Anguel
Anguel S. schrieb: > Wie schnell taktet man so einen CoolRunner II? Hast Du evtl. auch > Erfahrungen was Low-Power angeht? Macht das wirklich einen großen > Unterschied, ob man CPLD oder FPGA nimmt? Das kann man so nicht sagen, das hängt vom Design ab. Beim Coolrunner hat man sicher den Vorteil, dass die Verlustleistung proportional zur Frequenz ist, und dass man die Verlustleistung fast beliebig klein machen kann indem man die Frequenz erniedrigt. Das ganze nützt aber wenig, wenn die restlichen Komponenten auf der Platine den meisten Strom benötigen. Überlege Dir einmal das Power Budget Deiner Gesamtschaltung, dann siehst Du besser wieviel Dir für das FPGA oder CPLD sinnvoll übrigbleibt. Wenn Du schon Teile deiner Schaltung hast, dann kannst Du mit XPower abschätzten wieviel die eine oder andere Lösung benötigt.
Klaus Falser schrieb: > Überlege Dir einmal das Power Budget Deiner Gesamtschaltung, dann siehst > Du besser wieviel Dir für das FPGA oder CPLD sinnvoll übrigbleibt. > Wenn Du schon Teile deiner Schaltung hast, dann kannst Du mit XPower > abschätzten wieviel die eine oder andere Lösung benötigt. Danke, werde mich mal informieren. Wollte nur so im groben wissen, ob Spartan 3 überhaupt in Frage kommt, wenn man das ganze über USB versorgen möchte, oder ob man da gleich zu einem CPLD greift.
Also wir haben hier ein Messsystem mit Spartan 3e an USB bus-powered. Der Spartan nimmt dabei die wenigste Leistung. Die analogen Komponenten brauchen da viel mehr Strom. Externer Speicher (IDT FIFO) schluckt leider auch etwas. Aber insgesamt kommen wir mit den 500mA recht gut aus.
Christian R. schrieb: > Also wir haben hier ein Messsystem mit Spartan 3e an USB bus-powered. > Der Spartan nimmt dabei die wenigste Leistung. Danke, das hört sich schon ganz gut an.
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.