Hallo zusammen - habe so einige Beiträge studiert, um mir einen Einblick in die Welt der programmierbaren Logikbausteine und deren Tücken zu verschaffen. Ich bin "scheinfreier" Student und stehe am Anfang meiner Diplomarbeit. Meine Aufgabe ist es, ein FPGA zu entwickeln, welches a) die Kommunikation zwischen zwei verschiedenen µP realisiert (QSPI "Simulation") und die Überwachung einer Raumzeiger PWM (Totzeiten, etc..) übernimmt. Zudem noch eine Vielzahl von kleineren Aufgaben. (Entprellungen, Lüftersteuerung..) Zudem soll das ganze auf dem möglichst kleinsten Baustein von Xilinx implementiert werden. Da die richtige Vorgehensweise anscheinend absolut notwendig ist, würde ich euch bitten, mir ein paar Tips zu geben, welche Literatur ich zu lesen habe und wie man das Problem am effektivsten angeht. Mir ist klar, das es ein mühseliger Weg wird, bei dem sehr viel Eigenarbeit erforderlich ist. Habe gute, fundierte Grundkentnisse in Digitaltechnik aber noch nicht einen FPGA oder (C)PLD programmiert. Auch wenn dieser Beitrag sehr allgemein gehalten ist, würde ich mich sehr über Antworten und Tips freuen. Danke
<"Meine Aufgabe ist es, ein FPGA zu entwickeln"> Das ist eine unmögliche Aufgabe. Aber so wie ich das aus dem restlichen Kontext verstanden habe musst du keinen FPGA entwickeln sondern ihn beschreiben...das ist ein sehr großer Unterschied. Aller Anfang ist schwer. Nur der Anfang mit PLDs(also FPGAs CPLDs)und VHDL/Verilog ist noch viel schwerer... ;) Am Besten du besorgst dir mal das Xilinx WebPack. Da sind auch viele Beispiele dabei. Da kann man sich schon mal einiges abgucken. Vielleicht noch ein Buch oder so.... Die Software von Xilinx(ISE) ist für einen Anfänger ziemlich schwer zu handhaben. Das lässt du dir am Besten mal von jemandem zeigen...sonst musst du dich eben selbst durchschlagen. Zur Hardware: Eigentlich ist kein Entwicklungsboard nötig, da man alles sehr gut simulienen kann. Aber für den Anfang ist es doch ganz schön, wenn man mal ne LED auf nem Board anbekommt...ist einfach nicht so trocken wie die Simulation. Die kleinsten Bausteine von Xilinx kenne ich eigentlich nicht. Ich kenne nur den Spartan3. Und ich denke die sind alle zu groß für das Projekt oder irre ich??? Ich denke da reicht ein fetter CPLD. Ich weiß es aber nicht. Viel Glück und Erfolg!!! Gruß Daniel!
Bei Xilinx das WebPACK herunterladen: http://www.xilinx.com/xlnx/xil_sw_updates_home.jsp Ist die eine eingeschränkte Version der Entwicklungsumgebung von Xilinx. Bei Xilinx gibt es auch noch eine kostenlose Version von ModelSim http://www.xilinx.com/xlnx/xebiz/designResources/ip_product_details.jsp?key=DO-SIM-VHDL-ETH http://tech-www.informatik.uni-hamburg.de/vhdl/ Buch: VHDL-Synthese Jürgen Reichardt, Bernd Schwarz Um überhaupt sinnvoll arbeiten zu können sollte man schon ein Board mit einem FPGA parat habe, der dann mit der externen Peripherie verbunden wird. Die FPGA sollte hierbei lieber zu groß als zu klein sein. Das Modell für einen kleineren FPGA zu synthetisieren ist dann meist kein Problem mehr, wenn die Anzahl der benötigten Logikelemente feststeht. Hierbei kann es höchstens Probleme mit Timingbedingungen geben. Auch wenn die Simulation so schön ist. Alles wird man nicht simulieren können, zu mindestens nicht mit größeren Aufwand. Da hilft dann nur ein reeller FPGA und ein Logikanalysator oder DSO / DPO. Hierzu kann man wichtige interne Signale an Ausgangspins legen. DSO digital sampling oscilloscope DPO digital phosphor oscilloscope MfG Holger
Danke Daniel ;-) Ja, die Ausdrucksweise Anfangs war falsch gewählt. Um das Problem zu konkretisieren: Es existiert bereits ein FPGA: Xilinx XCS 10 mit lauffähigem Programm. Problem ist nur, das die Quellcodes, Dokus etc. nicht mehr zur Verfügung stehen. Im Zuge der neuen RoHS (Bleifrei Norm) wurde das bisher eingesetzt FPGA abgekündigt und ein Neues muß her... Warum damals ein FPGA und kein CPLD eingesetzt wurde weiß ich noch nicht. Es bestehen noch sehr viele Unklarheiten. Die Dip. Arbeit findet in einem Unternehmen aus der Industrie statt. Ich bin nicht ganz unerfahren was "basteln" mit Digitaltechnik angeht und muß nicht unbedingt ein paar Dioden zum blinken bringen oder irgendwelche kleine Bastelschaltungen aufbauen. Mir geht es in erster Linie darum, Grundverständniss aufzubauen, um auch fachlich korrekte Gespräche mit meinem Abteilungsleiter führen zu können und "ingenieurmäßig" an die Problemstellung herangehen zu können. Danke für weitere Tips!
Auch Dir herzlichen Danke, Holger. Wie schon gesagt, es existiert bereits eine Schaltung auf der ein FPGA sitzt, welches ich zu ersetzen haben. (s.o) . Daher dachte ich, erstmal rein theoretisch an die Sache zu gehen und später die vorhandene Platine in Betrieb zu nehmen. Und zwar wollte ich zuerst versuchen meine Entwürfe auf dem "alten" XCS 10 in der originalen Hardware zum laufen zu bekommen und anschließend ein neues auszuwählen und die Harware anzupassen. Ist dies Vorgehenswiese eurerseits ok? Danke für die vielen, schnellen Antworten!
<"Ich bin nicht ganz unerfahren was "basteln" mit Digitaltechnik angeht und muß nicht unbedingt ein paar Dioden zum blinken bringen oder irgendwelche kleine Bastelschaltungen aufbauen."> Also ich war sehr froh darüber als ich meine erste LED auf meinem Board anbekam. Anders wird wohl noch keiner angefangen haben. Glaub mir: Sogar du wirst mit kleinen Sachen anfangen. Wenn es keine LED ist, dann sei es eben sonst was aber dein Projekt wird wohl noch ein wenig mehr Erfahrung brauchen als basteln mit Digitaltechnik. Das hat mit VHDL nämlich nichts am Hut. Wenn du nun ein Board willst empfehle ich dir das Xilinx Spartan3 StarterKit für 99$. Das bestellste direkt bei Xilinx in den USA. Innerhalb einer Woche ist es da. Kostet dann aber so um die 150, da die Versandkosten + Zoll noch dazukommen. Aber das Board ist das Geld echt wert. Einfach genial das Teil :) Viel Spaß! Gruß Daniel!
Moin.. Also man weiß über den Chip folgendes: System Gates* 3K-10K Logic Cells** 466 Max Logic Gates 5,000 Flip-Flops 616 Max RAM bits 6,272 Max Available I/O 112 Packages PC84,VQ100,CS144,TQ144 Der KLEINSTE Spartan3 kommt auf: XC 3S50: System Gates 50K Logic Cells 1,728 Block RAM Bits 72K Distributed RAM Bits 12K Packages/IO VQ100/63,TQ144/97,PQ208/124 Das Ding rennt Kreise um die alte Version. Problem wird nur sein das Ding auch in Stückzahl zu bekommen. Bei fast allen Herstellern dürfte die Lage ähnlich sein, die kleinsten Varianten stecken den Spartan einfach in die Tasche. Vielleicht passt VQ oder TQ Gehäuse sogar so, das nur die Spannungsversorgung geändert werden muss? Leider haben wir in meiner Abteilung das nicht versucht sondern gleich ein völig neues Board mit BGAs (schüttel) gemacht. -- Sven Johannes
Hallo.. erstmal danke an Sven. 1.Daniel, Du wirst wohl recht haben, mit einem Evaluationboard zu starten ;-) scheint doch ein größerer Aufwand zu sein erstmal ne LED zum blinken zu bringen.. 2. Sven, danke erstmal für die Kurzinfo! Hab mir mal die Datenblätter gezogen und so dies und das gemacht. Scheint viel Arbeit zu sein da rein zu kommen und ich stehe noch am Anfang. Meine konkrete Frage zu deinen Angaben: Der kleine Spartan hat deutlich mehr System Gates und Logic cells als der "alte". Was Logic Cells sind weiß ich, was System Gates sind nicht. Beim Spartan finde ich keine Info über Anzahl der Flipflops, aber diese können doch auch mit LogicCells realisiert werden, oder? Muß ich mir denn vor Auswahl des FPGA überlegen wieviele Logikzellen ich für das Design brauche? geht das überhaupt oder nutze ich einfach die Fitter_log und versuche das Design im Nachhinein zu optimieren? Sehr viele wage Fragen - falls das zum absoluten Grundwissen gehört sagts mir einfach. Ich muß erstmal weiter an mir selber arbeiten, melde mich aber wenn ich voran komme.
Hallo Daniel. Auch ich möchte, nachdem ich all die mehr oder weniger guten Informationen gelesen habe, folgendes beisteuern. Im allg. ist es ja so, dass, wenn ich ein Programm implementieren muss, meine Synthese und mein erzeugtes Programm_File eine bestimmte Bitgroesse besitzt. Bei Xilinx z.B. im sogenannten Fitter_Report, sehr schön zu erkennen! Danach suche ich mir entweder mein CPLD oder FPGA aus.Natürlich spielen auch Vorgaben ( Vers.Spannung, verfügbarkeit, Kosten etc.)eine Rolle. Das Vorgehen, ich habe einen FPGA ( bez. mir stehen so und so viel Macrozellen zu verfügung ) und ich soll nun ein Programm schreiben welches die Vorgaben nach benötigten Eingaengen, Ausgaengen, Verhaltensweisen etc.erfüllt, halte ich persönlich für unprofessionell. Ich bin gerne bereit ihnen konkrete Vorschläge oder Hilfestellung zu geben, falls Sie Interesse haben solten. Bodo Mueller
Moin... Sehe ich genauso. Das einzige was mich hier irritiert ist die "Größe" des Problems: wenn das vorher in einem spartan10 gepasst hat, stellt sich die Frage nach der Größe nicht mehr. Bau die Logik nach und lass die Synthese durchlaufen. Einzige Vorgabe ist dabei die Familie, also Spartan 2 oder 3. Die Software wählt dann fürs Mapping den kleinstmöglichen Chip aus; beim CPLD macht das der Fitter. Bei den anderen Herstllern läuft das ähnlich, da heissen nur die Tools anders. Sollte darauf hinauslaufen das jeweils der kleinste Chip der aktuellen Familie ausreicht. Billiger sind dann nur noch die auslaufenden Serien , da solte man sich aber Gedanken um die Bescaffung in der Zukunft machen, Stichwort ROHS und Konsorten! -- Sven Johannes
Hallo zusammen. Danke erstmal dafür, das hier alle so hilfsbereit sind. Ich war ein paar Tage krank und komme vor Donnerstag nicht dazu mich weiter mit dem Problem zu befassen. Aber ab Donnerstag geht es dann wieder richtig los. Werde mich sicherlich noch mit der einen oder anderen Frage an euch wenden.. Also, bis dann...
wie fändet ihr die idee wenn jemand ein wiki artikel schreibt z.b. fpg für anfänger...
Hey, ich bin auch am Überlegen mal ein bisschen tiefer in die FPGA Schiene ein zu steigen. Leider war ich nie der große Held was Kommando-Zeilen-Programmierung betrifft. Geht den viel bei Xilinx per grafischer Benutzeroberfläche /WebPack? Der FAE vom Distri hat das so kinderleicht in seiner Powerpoint dargestellt.
alterhut schrieb: > ich bin auch am Überlegen mal ein bisschen tiefer in die FPGA Schiene > ein zu steigen. Mach bitte einen neuen Thread auf. Und grab nicht einen 7 Jahre alten Zombie aus! alterhut schrieb: > Geht den viel bei Xilinx per grafischer Benutzeroberfläche /WebPack? Es geht Alles in der GUI: http://www.lothar-miller.de/s9y/archives/81-Xilinx-ISE-Step-by-Step.html Man kann aber auch auf der Kommandozeile mit eigenen Make-Tools arbeiten.
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.