Hallo, Wir wollen in unserem Labor(Hochschule) FPGA's einsätzen (bislang immer nur "normale" Mikrocontroller). Meine Aufgabe soll es nun sein eine Platine zu entwickeln wo ein FPGA in seiner Minimalbeschaltung drauf läuft und die kompatibel zu unserer bisherigen Hardware ist. Ich habe mir da einen Cyclon III(EP3C10E144C8N) von Altera angeschaut. Meine Frage ist nun, ob jemand von euch schon Erfahrung mit FPGAs von Altera hat? eine Grundschaltung mit der notwendigen Peripherie wäre absolut super. Da wir aber bei uns noch keine Erfahrung mit FPGAs haben würde mir jede Antwort weiter helfen.
schau einfach die Enwicklungskits bei Altera an, da sind die Schaltpläne mitdabei, die kannst Du herunterladen und anschauen. Wenn es minimal sein soll, kannst Du Dir z.B. DE0, DE1 Boards von Terasic anschauen, einfacher geht es fast nicht. Da kannst du den ganzen USB-Blaster Kram rausschmeisen und hast Dein Board. Grüße, Kest
Noch intelligenter ist es, den "USB-Kram" drin zu lassen, dann must Du nicht ständig einen neuen Blaster kaufen, wenn die dummen Studies mal einen falsch draufgesteckt haben.
Danke schonmal für die Antworten die evo-boards von Terasic sehen interessant aus. Und studentensicher was den USB Blaster angeht ist bei uns im Labor sicherlich gut :). Sobald ich wieder senkrecht stehe(mich hat ne derbe Erkältung erwischt):-P werde ich mir das mal genauer anschauen. Vieleicht bis dahin nocheinmal eine Frage eines "noch" Leien an die Profis. Was ist an zusätzlicher externer Beschaltung für FPGAs typischerweise notwendig? Gibt es etwas beim Layout wo man besonders drauf achten sollte? Ein uC bekommt ja nur bissel Spannungsversorgung und vieleicht noch einen Quarz. Gibt es zu diesem Thema gute Litteratur?
Moin, ich bin auch noch kein FPGA-Profi, hab mich aber schonmal ein bisschen mit der Materie auseinandergesetzt. Externe Beschaltung: FPGAs brauchen meist mehrere (beim Cyclone3 IIRC 3?) Versorgungsspannungen, mit verschieden grossen Abblockkondensatoren, moeglichst Versorguns- und Masseflaechen. Der Stromverbrauch haengt zum allesgroessten Teil von der einprogrammeirten Logik ab, Stromversorgung also besser etwas ueberdimensionieren (noch besser: einfach vom Eval-Board abgucken :-). Ausserdem kann man noch pro I/O-Bank (das ist im Prinzip einfach eine Gruppe Pins) verschiedene Versorgungsspannungen anschliessen. z.B. 3.3V 2,5V etc. Das bestimmt wiederum welche I/O-Standard man auf der jeweiligen Bank nutzen kann. Wenn ihr vorhabt LVDS und co. zu benutzen lohnt es sich schon einige Leiterbahnen entsprechend zu Routen (Wellenwiderstand bzgl. Masse und Signalen, gleiche laenge). Das ist fuer den ersten Versuch aber sicher noch nicht so wichtig. Gute Literatur kenn ich dazu eigentlich keine... es gibt "High Speed Digital Design: A Handbook of Black Magic", das fuehrt aber auch erstmal zu weit. Fuer bessere Einsteiger-Literaturtipps waere ich auch dankbar. Mit den Datenblaettern, AppNotes und Evaluationboards kommt man schon recht weit wenn man sich alles ein paar Mal anschaut. Auch das Platinenlayout! MfG, Sebastian
Ich habe mich nun doch dazu entschlossen den USB-Blaster auszulagern und das ganze nicht auf dem Board zu implementieren. Einmal aus Platzgründen, und zum andern auch wegen dem Preis, da doch einige dieser Platinen gebaut werden sollen. Müssen die Studenten halt aufpassen was sie dort reinstecken:-P Ich habe aber eine Frage zum Speicher. Soweit ich das verstanden habe wird ein externen Speicher benötige, um den FPGA nach dem Einschalten mit einem Programm zu laden. Ist dies normalerweise ein SDRAM Speicher? Dieser scheint eine beachtliche Zahl an I/Os vom FPGA zu nutzen. Was nutzt ihr dazu? Wird ein PLL/Quarz überhaupt benötigt? der FPGA scheint diese ja bereits intern drin zu haben? Oder habe ich das falsch verstanden? Ansonsten ist dieser Speicher ja das einzige was man an externen IC's benötige um den FPGA zu betreiben? Schon mal vorab danke für eure Hilfe:)
Heiner Dirks schrieb: > Ich habe aber eine Frage zum Speicher. Soweit ich das verstanden habe > wird ein externen Speicher benötige, um den FPGA nach dem Einschalten > mit einem Programm zu laden. Ist dies normalerweise ein SDRAM Speicher? > Dieser scheint eine beachtliche Zahl an I/Os vom FPGA zu nutzen. Was > nutzt ihr dazu? Aeh, ein SDRAM ist nach dem Einschalten auch leer bzw. undefiniert gefuellt. Um den FPGA zu konfigurieren brauchts schon etwas dauerhafteres, z.B. ein kleines SPI-Flash. Mal auf die schnelle aus Google: http://www.spansion.com/Support/AppNotes/Configuring_Altera_FPGAs_via_SPI_Flash_AN_02_e.pdf > Wird ein PLL/Quarz überhaupt benötigt? der FPGA scheint diese ja bereits > intern drin zu haben? Oder habe ich das falsch verstanden? Du brauchst irgendeinen externen Referenztakt, der wird dann im FPGA intern verteilt und kann auch ueber PLLs (oder wie auch immer die bei Altera gerade heissen) vervielfacht/geteilt werden. Also einfach einen externen Quarzoszillator dran, am besten gesockelt, und die Sache ist geritzt. > Ansonsten ist dieser Speicher ja das einzige was man an externen IC's > benötige um den FPGA zu betreiben? Speicher und Takt, ja. Ein weiterer externer Speicher (SRAM, SDRAM) kann trotzdem Sinn machen wenn man speicheraufwendige Geschichten im FPGA umsetzen will (z.B> Prozessoren, Signalverarbeitung...). Intern fuer die Logik nutzbar haben FPGAs nur Speicher in der Groessenordnung von einigen kB. Sebastian
Nochmal danke für die Antworten hat mich echt weiter gebracht besonders der Tip mit dem SPI-Flash. Da hät ich direkt eine weitere Frage. Wenn man einen SPI Flash für die Configuration und einen SRAM der auch über SPI angesprochen wird nutzen will. Geht das ? Ich habe ja nur eine SPI Schnittstelle an meinem FPGA. Kann ich den SRAM an beliebige I/Os setzen? Oder parallel an die SPI schnittstelle und sozusagen mehrere SPI Teilnehmer als SLAVE dran hängen? Hinzu kommt das in Zukunft ein CAN-Bus laufen soll. Den wollt ich vom Ursprung auch über SPI und dann über einen CAN-Controller aufzubauen. Ich frage mich halt nur, da ja eigendlich alle I/Os eines FPGA's recht schnell sind ob man soetwas auch anders über die normalen I/Os hin bekommt?
>Da hät ich direkt eine weitere Frage. Wenn >man einen SPI Flash für die Configuration und einen SRAM der auch über >SPI angesprochen wird nutzen will. Geht das ? Ich habe ja nur eine SPI >Schnittstelle an meinem FPGA. Nur eine SPI Schnittstelle? Hat dein EP3 nur 4 IO Pins ? Mit 5 Pins hättest Du schon einen weiteren Chip Select für deinen CAN Controller ;-) Aber zum Thema , such mal bei Altera nach dem EPCS Controller der u.a. als Avalon Komponente im Nios EDS enthalten ist. >Kann ich den SRAM an beliebige I/Os >setzen? Oder parallel an die SPI schnittstelle und sozusagen mehrere SPI >Teilnehmer als SLAVE dran hängen? Paralleles SRAM ja , SDRAM (ja)nein, und SPI ist ein Bus. Ich würde mir das Leben einfach machen und ein Paralleles SRAM an den FPGA klatschen. Das werden dir auch deine Studies danken ! Ich befürchte dir ist noch nicht ganz klar was ein FPGA ist.Vergiss mal die uCs an dieser stelle. Was dein FPGA an einem IO Pin macht bestimmst im größten Teilen du, nur bei z.b. LVDS , SDRAM / DDR gibt es "feste" Pins die das nötige Elektrische Interface beinhalten. Bei einer SPI langweilt sich das FPGA, egal ob 1Mbit ,10Mbit oder 50Mbit schnell.
Hallo Ich habe da noch eine Frage zur Konfiguration und Programmierung. Es soll nun ein EP3C25Q240 FPGA mit einem EPCS105 Flash Speicher zur Konfiguration zum Einsatz kommen. Programmiert soll das ganze über MasterBlaster Serial/USB. dabei habe ich die Wahl zwischen PS Mode und JTAG Mode. Ich tendiere zum JTAG Mode bin mir aber nicht sicher. Kann ich beides aufbauen und mir dann nach Bedarf aussuchen was ich nutze ( MSEL[0..2] mit Jumper auf Masse oder VCC)? Kann ich über den JTAG Mode auch den externen Flash Speicher beschreiben? Ist beides Sinnvoll? wo liegen die Vorteile des jeweils anderen?
Man kann ueber den JTAG im Cyclone ein Interface zum flash giessen und die dann auch gebrauchen... weshalb nehmt ihr nicht zu Beginn ein Evalboard zu diesem Cyclone fuer wenig Geld und macht eine eigene Hardware wenn ihr verstanden habt worum's geht ? Es gibt uebrigens auch ein Alteraforum - beim Hersteller, wer haett's gedacht.
Wir benutzen ein evo-board und arbeiten parallel daran ein fpga zu implementieren. Das wir das Teil wann ma selber auf eine Platine bekommen müssen ist unumgänglich aufgrund der Anwendungen die wir haben. Das läuft also parallel und falls ich dumme Fragen stellen sollte bitte ich um Entschuldigung :-P Danke für den Tip mit dem Altera Forum ich werde dies sicherlich auch nutzen. Nichts des do trotz fühle ich mich hier recht gut aufgehoben. Und auch wenn es langsam geht und ich zur Zeit nur ab und an mal eine Stunde Zeit investieren kann um mich mit der Implementierung zu beschäftigen ist dies dennoch sehr aufschlussreich und interessant! Dümmer werde ich dadurch sicherlich nicht :) Also die nächsten Fragen kommen bestimmt.
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.