Hallo zusammen, ich arbeite derzeit an einem (privaten) Projekt, in dem ich ursprünglich einen Spartan-3E (bzw. A) einsetzen wollte. Inzwischen stelle ich jedoch fest, dass ich sehr viel mehr RAM benötige als eingeplant. Insgesamt brauche ich 512 kBit statt 256 kBit. Die Spartan-3 von Xilinx bieten diese Menge RAM erst in Packages mit BGA an. Das kann ich leider nicht löten. Bei Altera gibt es jedoch bis zu 594 kBits RAM im EQFP-Gehäuse - und damit gut lötbar! Meine Fragen (bezogen auf Spartan XC3S200A vs. Cyclone IV E EP4CE22): - Ich habe bisher in VHDL entwickelt und bilde mir deshalb ein, von der Zielhardware unabhängig zu sein. Zumindest was die Logik angeht. Stimmt das? - Könnte ich nun einfach Quartus von Altera runterladen und mein Projekt hätte, abgesehen von der Neuzuordnung der Resourcen (DCMs/PLLs, Pinzuweisungen etc.), gute Chancen, direkt zu laufen? Oder unterscheiden sich die beiden Bausteine und damit die Synthese-Ergebnisse im Allgemeinen stark voneinander? - Mal angenommen, obiges funktioniert. Ich besitze ein Spartan-3E Board, aber kein Cyclone-Board. Könnte ich theoretisch meine Entwicklung in ISE fortführen, auf dem Spartan-Board testen und erst im letzten Schritt zu Quartus wechseln? Mir ist schon klar, dass es hier wohl keine genauen Antworten gibt. Ich denke aber, eine allgemeine Einschätzung ist schon möglich. Grüße Steffen
> Ich habe bisher in VHDL entwickelt und bilde mir deshalb ein, von der > Zielhardware unabhängig zu sein. Das komtt darauf an, ob du den Code generisch geschrieben hast, oder darin bereits herstellerabhängige Komponenten instantiiert hast. > erst im letzten Schritt zu Quartus wechseln? Das halte ich für verwegen, weil du je nach Anforderungen und Taktfrequenz schon bei der Entwicklung (evtl. unbewusst) Optimierungen für eine Zielplattform machen wirst. > Die Spartan-3 von Xilinx bieten diese Menge RAM erst in Packages > mit BGA an. Warum schliesst du RAM nicht extern an? Ein großes FPGA nur wegen des (trotzdem wenigen) Speichers zu kaufen ist nicht unbedingt logisch. Speicher auf dem FPGA ist teuer, ein externes RAM ist da wesentlich billiger und leichter saklierbar. > bezogen auf Spartan XC3S200A vs. Cyclone IV E EP4CE22 Immerhin geht es bei dieser Frage bereits um einen Schritt von 10 auf 35 Euro. Und für 25 Euro bekommst du viel RAM.
Hallo Der Code ist weitestgehend generisch gehalten. Ich verwende zwar zwei Dual-Port-RAM als IP-Core. Aber ich nehme an, dass Quartus mir etwas vergleichbares bieten wird. Ansonsten ist alles reiner VHDL-Code. Ich kann den RAM leider nicht extern anbinden, weil er sensible Daten enthalten wird. Das ist überhaupt erst der Grund, weshalb ich einen FPGA und keinen Mikrocontroller verwende. Außerdem muss es, wie schon angedeutet, ein Dual-Port-RAM sein. Der Bauteilpreis ist für mich als Bastler (es wird ein Einzelstück) noch im Rahmen. Viel wichtiger ist da schon die Verfügbarkeit. Die schaut offensichtlich nicht so gut aus beim IVer. Ich habe aber gesehen, dass auch schon der IIIer ähnlich viel RAM bietet. Da Du nicht die Hände über den Kopf geschlagen hast, denke ich, mein Vorhaben ist also durchaus realistisch. Dann werde ich mich mal in Quartus versuchen :-) Danke für Deine Tipps! Steffen
> Ich kann den RAM leider nicht extern anbinden, weil er sensible Daten > enthalten wird. Die kann ich aber ohne signifikante Mühe auch aus dem FPGA per JTAG auslesen... > Außerdem muss es, wie schon angedeutet, ein Dual-Port-RAM sein. Das ist mit einem "normalen" RAM auch nur eine Frage der Geschwindigkeit. Ein Adressmultiplexer, dann ein Schreibzyklus, danach ein Lesezyklus, schon hast du dein DPRAM.
Ja, aber den JTAG kann man doch deaktivieren, oder? Das ist zumindest meine Information. Deine Idee mit dem Multiplexer wird natürlich funktionieren, aber wozu soll ich mir die Hürde aufstellen, wenn ich einfach einen größeren FPGA nehmen kann? Bei Timing-Geschichten suche ich mich im Debugging hinterher einen Wolf. Spricht denn irgendetwas FÜR den bisherigen FPGA oder GEGEN den zukünftigen? Grüße Steffen
> Spricht denn irgendetwas FÜR den bisherigen FPGA > oder GEGEN den zukünftigen? Bei einer für dich richtigen Gewichtung der Argumente: Nein. Ein wichtiges Argument für eine Umstellung ist auch, dass du dann mal mitbekommst, wie sich eine andere Plattform anfühlt. Ich mache Lattice und Xilinx, und es gibt immer ein schlagendes Argument, warum der eine oder der Andere ran darf. > Aber ich nehme an, dass Quartus mir etwas vergleichbares bieten wird. Das solltest du evtl. vorher noch abchecken... > Ja, aber den JTAG kann man doch deaktivieren, oder? ... und das auch. Insbesondere, ob es bei deiner Zielplattform geht.
Lothar Miller schrieb: > Ein wichtiges Argument für eine Umstellung ist auch, dass du dann mal > > mitbekommst, wie sich eine andere Plattform anfühlt. Ja, guter Punkt. Zwar stehe ich noch ganz am Anfang mit FPGAs (bin erst seit fünf Monaten dabei), aber vielleicht ist das ja am Ende sogar vorteilhaft. Weil ich noch nicht so auf einen Weg eingefahren bin. Danke für Deine Tipps! Grüße Steffen
Hallo Steffen, in deinem ersten Post hast Du etwas geschrieben, dem ich leider widersprechen muss. Zitat: "Bei Altera gibt es jedoch bis zu 594 kBits RAM im EQFP-Gehäuse - und damit gut lötbar!" Altera nennt dieses Gehäuse nicht ohne Grund EQFP statt TQFP. Rein von den Abmaßen her wäre es schon ein TQFP, aber es hat eine metallische Fläche auf der Unterseite, den 145-sten Pin. Und diesen Pin muss man anschließen! Aus dem Datenbuch von Cyclone IV: "The E144 package has an exposed pad at the bottom of the package. This exposed pad is a ground pad that must be connected to the ground plane of your PCB. Use this exposed pad for electrical connectivity and not for thermal purposes." Das wird dir mit einem Lötkolben leider nicht gelingen. Ansonsten stimme ich Lothar zu: Mach ruhig auch mal Erfahrung mit anderen Tools. Nur in diesem Fall, bei diesem Package... Grüße, Harald
> Das wird dir mit einem Lötkolben leider nicht gelingen.
Wenn da eine Durchkontaktierung sitzt, ginge das schon...
oder EP3C25 als PQFP240, geht auch problemlos zu löten. > - Mal angenommen, obiges funktioniert. Ich besitze ein Spartan-3E Board, > aber kein Cyclone-Board. Könnte ich theoretisch meine Entwicklung in ISE > fortführen, auf dem Spartan-Board testen und erst im letzten Schritt zu > Quartus wechseln? nee, du solltest es schon mit einem Cyclone board testetn. Ich nehme an du hast auch kein Altera usb blaster. Evt. kannst du so ein board (sammt usb blaster) für testzwecke benutzen -> ebay 280448044613
Harald Flügel schrieb: > Rein von > den Abmaßen her wäre es schon ein TQFP, aber es hat eine metallische > Fläche auf der Unterseite, den 145-sten Pin. Und diesen Pin muss man > anschließen! Danke für den Hinweis. Ich habe glücklicherweise eine Heißluft-Lötstation. Ein einzelner Pin an der Unterseite des Packages, warum auch immer Altera den dort vorgesehen hat (EMV?), stellt kein Problem dar. Er ist ja auch relativ groß gehalten. Nur Hunderte von kleinen Pins in einem BGA-Package sind nicht für mich machbar. Thomas R. schrieb: > nee, du solltest es schon mit einem Cyclone board testetn. Dann wäre wieder ein Hunderter weg. Es muss halt am Ende günstiger bleiben, als mich das (professionelle) Bestücken eines Spartan im BGA-Package kostet. Verwendest Du das von Dir vorgeschlagene Board? Es hat offensichtlich viele I/O-Ports, das ist sehr schön. Offensichtlich ist es eine Eigenentwicklung?
Sensible Daten + Einzelstück? Und bei einem Einzelstück besteht wirklich die Gefahr, das sich wirklich jemand die Mühe macht sowas zu zerlegen und auf die Daten im externen RAM zuzugreifen? Das klingt doch eher nach ner gefahr für ein Serienprodukt und nicht für nen Einzelstück. Oder was meinst Du mit "sensibel"?
Steffen Hausinger schrieb: > Dann wäre wieder ein Hunderter weg. Es muss halt am Ende günstiger > bleiben, als mich das (professionelle) Bestücken eines Spartan im > BGA-Package kostet. wenn es einzelstück sein sollte kann man den FPGA auslöten und wiederverwenden nach dem du mit dem test fertig bist. USB blaster zu haben tut nicht weh, das board hat kaum extras so ist der overhead sehr klein. > Verwendest Du das von Dir vorgeschlagene Board? Es hat offensichtlich > viele I/O-Ports, das ist sehr schön. Offensichtlich ist es eine > Eigenentwicklung? Es ist eigenentwicklung von dem eheman von Liyan (sie ist der verkäufer), ich benutze die boards auch allerdings projekt bedingt EP2C8Q208 einmal mit 2x SRAM und einmal mit 2x SDRAM, werde aber bald auf EP3Cxx wechseln (C16 oder C25). Für mich war wichtig - kein schnick schnack, viel I/O und evt. RAM - und genau das bieten die boards. Am preis kann man kaum was machen, sogar direkt in china verkauft sie für ~85eur (http://item.taobao.com/item.htm?id=3315349047).
Countdown schrieb: > Oder was meinst Du mit "sensibel"? Die Definition ist relativ. Ich möchte einfach eine saubere Lösung haben. Und die ist mit dem Cyclone III greifbar - warum also nicht wechseln? Das ist schon alles. @tinman: Der Preis ist günstig, keine Frage. Bei Altera selbst bzw. bei Terasic gibt es noch das DE0 für 79$ (Academic), es hat allerdings einen kleineren FPGA mit lediglich 504 kBits. Für die Entwicklung reicht es vielleicht (einfach alles auf die Hälfte skalieren). Das von Dir vorgeschlagene Board gefällt mir allerdings aus den ebenfalls von Dir schon genannten Gründen sehr gut. Kann ich Deinem Post entnehmen, dass es von der Qualität her (Bestückung/Verlöten, Empfindlichkeit, Stabilität im Betrieb) in Ordnung ist? Oder hattest Du irgendwelche Probleme? Eigenentwicklungen können halt meist nicht so getestet werden wie eine kommerzielle Serie...
Schau mal die lattice XCP serie an die hat das config flash im device, ist also auch nicht auslesbar.
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.