Hallo, kennt einer eine Kostenlose Software, mit man dieses FPGA Board in VHDL Programmieren kann? Gibt es ein Tutorial, um Herauszufinden, wie man die Ports in VHDL richtig benennt (spezifisch zu diesem Board), sodass das Signal richtig von Ausgang zum Eingang Durchgeschleift wird? http://www.ebay.de/itm/FPGA-Altera-EP1C3T144-Board-USB-Blaster-JTAG-programmer-Programmierer-/141525401709?pt=Wissenschaftliche_Geräte&hash=item20f392406d
Altera Chip = Quartus Software. Aber wohl eine ältere Version da der Chip wohl von aktuellen Versionen nicht mehr unterstützt wird (EP1..) Hier gibt es das mit EP2.. Chips: http://www.ebay.de/itm/Altera-EP2C5Q208-NIOSII-SOPC-FPGA-Development-Board-/121483667471?pt=DE_Handys_Kommunikation_Antennen&hash=item1c48fda80f http://www.ebay.de/itm/Altera-CycloneII-EP2C5T144-FPGA-module-Altera-USB-Blaster-JTAG-programmer-/271297819251?pt=LH_DefaultDomain_77&hash=item3f2a9c3273 Und hier ein Anwendungsbeispiel: http://searle.hostei.com/grant/Multicomp/index.html Peter
Jan R. schrieb: > mit man dieses FPGA Board in VHDL Programmieren kann? Kurzer Impuls: warum heißt es VHDL und nicht VHPL? Richtig: weil VHDL keine Programmiersprache, sondern eine Beschreibungssprache ist. Das wird dir sicher irgendwann mal auffallen.
Lothar Miller schrieb: > Jan R. schrieb: >> mit man dieses FPGA Board in VHDL Programmieren kann? > Kurzer Impuls: warum heißt es VHDL und nicht VHPL? > > Richtig: weil VHDL keine Programmiersprache, sondern eine > Beschreibungssprache ist. Das wird dir sicher irgendwann mal auffallen. Ja ist doch klar, hat je jemand behauptet, dass VHDL eine Programmiersprache sei?
Jan R. schrieb: > hat je jemand behauptet, dass VHDL eine Programmiersprache sei? Ja, du. Ich hatte deinen Post zitiert: >>> man dieses FPGA Board in VHDL Programmieren kann? Und Programmieren kann man mit in logischer Konsequenz nur mit einer Programmiersprache ...
:
Bearbeitet durch Moderator
entity Beispiel is port ( a : in STD_LOGIC; b : out STD_LOGIC; end Beispiel; Ich will einfach nur wissen, wie ich a und b jetzt an den Physikalischen Port binden kann.
Jan R. schrieb: > Ich will einfach nur wissen, wie ich a und b jetzt an den Physikalischen > Port binden kann. Das geht über Pin-Constraints oder Location-Constraints: http://www.altera.com/support/software/quartus2/design_flow/des-assign_pins.html
Lothar Miller schrieb: > Richtig: weil VHDL keine Programmiersprache, sondern eine > Beschreibungssprache ist. Das wird dir sicher irgendwann mal auffallen. Wann hört diese Haarspalterei denn endlich mal auf? Als der Begriff und die Sprache erfunden wurde, gab es die abstrakte Form der heutigen Synthese nicht, bei der die Funktion der Hardware beschrieben wird und nicht direkt deren Struktur. Von daher konnte man zur Zeit der Begriffsbildung nicht darauf Rücksicht nehmen. Sich jetzt daran aufzuhängen ist nicht schlüssig. Zudem heisst der Begriff "Programmieren" der aus dem lateinischen kommt übersitzt nichts anderes als "Beschreiben". Ich finde man sollte mit dem Quark mal aufhören. VHDL ist eine Programmiersprache, die wie jede andere auch mehr oder weniger abstrahiert auf Hardware zugreift und deren Code mehrere Übersetzungsstufen durchläuft. Bei VHDL sind es sogar besonders viele Abstraktionsstufen und mithin wird mit dieser Sprache zunächst einmal ein Parser kommandiert, der Strukturen und Abläufe trennt. Z.B. werden State Machines analysiert und umgebaut etc. Was dort läuft ist also definitiv eine Software, die von einer anderen Software, nämlich dem VHDL-Code gesteuert => programmiert wird, denn es sind Steuerungsvorschriften und "Vorschrift" ist die naheliegendste Übersetzung des Begriffes "Programm".
VHDL-Programmierer schrieb im Beitrag #3955642: > Zudem heisst der Begriff "Programmieren" der aus dem lateinischen kommt > übersitzt nichts anderes als "Beschreiben". programmare : ausrufen, bekannt machen describere : beschreiben > Was dort läuft ist also definitiv eine Software, die von einer anderen > Software, nämlich dem VHDL-Code gesteuert => programmiert wird Eine sehr allumfassende Ansicht, denn dann "programmiere" ich auch den Ausdruck meiner Word-Texte oder Bilder im Paintshop. > Sich jetzt daran aufzuhängen ist nicht schlüssig. Ich bestehe nur deshalb so gern so ausdrücklich auf dieser Unterscheidung, weil sonst gleich einer aus der C-Ecke gekrochen kommt, in VHDL eine for-Schleife "programmiert" und sich dann überaus wundert, warum das nicht "geht"...
:
Bearbeitet durch Moderator
Lothar Miller schrieb: Vorsicht! Abgeleitete Verben müssen schon inhaltich interpretiert werden und nicht nur rein formal: > programmare : ausrufen, bekannt machen Das ist eine Begriffsverengung auf lediglich das Bekanntmachen des Programmes. Das Programm selber, also z.B. auch ein Parteiprogramm oder ein Theaterprogramm (oder auch ein Computerprogramm oder Hardwareprogramm) sind zunächst -> Vorschriften, Darstellungen, Beschreibungen. > decribere Dieses "Bescheiben" leitet sich vom dem tatsächlichen Vorgang des Schreibens / Aufschreibens. Es wäre also korrespondierend zum "writing". .... Man muss sehen, wie die "Lateiner" die Begriffe verwendeten und wofür um Begrunündungen ziehen zu können, in welcher Weise man Begriffe für heutiges Anwenden kann oder nicht anwenden darf. Wie es die Begriffsreduzierten Amis verwendeten, kann da IMO kein Massstab sein. Und die Strukturvorschriften einer Anwordnung sind definitiv ein "Programm". Dass die Computerfizzis, die nur SW machen, den Begriff für sich beanspruchen und umgekehrt beim Erblicken desselben nur an Ihr eigenes Metier denken, darf da kein Hindernis sein. Im Übrigen nannte auch Konrad Zuse die Hardware, die er in seine Hardware schob (nämlich die Lochkarte in einen seiner späteren Rechner) ein "Programm" und der Vorgang war ausdrücklich ein "Porgrammieren". Und das ist ja nochmal etwas ganz anderes. Zurückkommend auf das was "Programmierer" tun: Auch beim C und der uC-Landschaft wird Hardware programmiert. Indem z.B. ein HW-Timer in C gesetzt wird, entsteht genau so eine Konfiguration wie in einer LUT. Beides eindeutig ein Programmiervorgang. >Word Wenn Du das Bild selber reintust, ist es kein Progrmmieren. Wenn Du aber einen VBA-Befehl schreibst, der das macht, schon. Und mit BEzug zu meiner Argumentation: Auch wenn Du nur auf einem Blatt Papier eine Anweisung schreibst, wie ein Grafiker ein Bild einzukopieren hat und wo, ist diese Anweisung ein Programm: Ein Anweisung an eine Peron. Beim VHDL ist der Code halt nur eine Anweisung an das Synthesetool - sozusagen einen virtuellen Automaten.
Gut, dann halten wir das so fest. Du programmierst FPGAs und ich beschreibe Hardware. Denn es könnte ja durchaus sein, dass meine Hardwarebeschreibung nicht auf ein FPGA oder CPLD, sondern auf ein ASIC kommt.
:
Bearbeitet durch Moderator
Lothar Miller schrieb: > Du programmierst FPGAs Tut er nicht, er programmiert das Synthesetool: VHDL-Programmierer schrieb im Beitrag #3955828: > Beim VHDL ist der Code halt nur eine Anweisung an das Synthesetool -
Der lateinische Ursprung (programmieren/beschreiben) bzw. "scheinbar" griechische Ursprung (z.B. Algorithmus) hat kaum noch etwas mit der heutigen Bedeutung zu tun. Programmieren wird z.B. als das Entwerfen von Programmen oder auch als "Brennen" von Chips (PROMs etc.) verwendet. Beschreiben hingegen ist bei VHDL zutreffend, das im Hintergrund eine Software zum Scannen/Parsen verwendet wird, ist irrelevant. Und dass das Ergebnis der Synthese eine Software ist, die auf dem FPGA läuft, ist Blödsinn. Allerdings ist Compilieren im Zusammenhang mit FPGAs zutreffend, es bedeutet ja grob das Zusammensetzen aus einzelnen Komponenten. Der Begriff wird auch im Bauwesen, in Maschinenbau und Etechnik (CAD..) verwendet.
Im Berufsleben ist der Unterschied in der Tat oft schwierig rüberzubringen. Wenn man was mit FPGAs machen möchte braucht man jemanden der damit umgehen kann. Gut, wir haben doch Hard- und Softwerker? Ja, aber der Hardwerker muss nicht löten und die Softwerker machen alle in C, VHDL ist ganz was anderes. Dann sieht man nur noch Fragezeichen in den Augen und es ist einfacher von 'spezieller Software für FPGA' zu reden. Und die Leute die FPGA Software erstellen haben sich auch schon daran gewöhnt Programmierer genannt zu werden, Synthetisierer hört sich eher nach Drogenmischer an :-) Jemand, der den Umgang mit FPGA lernt bekommt den Unterschied aber üblicherweise in der ersten Stunde genannt. Die Frage zum Eingangspost ist aber eher ob es Nachteil ist die älteren Quartus Versionen verwenden zu müssen. Ist die Parallelinstallation mit neueren einfach möglich? Abgesehen vom Platzbedarf, die Werkzeuge verschlingen ja gerne zig Gigabyte.
Jojo S. schrieb: > Jemand, der den Umgang mit FPGA lernt bekommt den Unterschied aber > üblicherweise in der ersten Stunde genannt ... versteht dann aber den Unterschied nicht, weil er ja schon lange "programmieren" kann, und "programmiert" sein FPGA dann gleich wie seinen uC: mit Funktionen, Variablen, Prozeduren und Schleifen. Die kennt er nämlich schon vom uC her ganz genau.
Auch wenn dieser Thread jetzt sehr ausgeartet ist, bin ich zu meiner Zufriedenheit mit dem Thread noch nicht durch. Jan R. schrieb: >> Ich will einfach nur wissen, wie ich a und b jetzt an den Physikalischen >> Port binden kann. >Das geht über Pin-Constraints oder Location-Constraints: >http://www.altera.com/support/software/quartus2/de... Ich würde mich jetzt mal nicht zu denen Zählen, die den Unterschied Zwischen FPGA, welches oft mit VHDL einhergeht und uCs oder Prozessoren nicht kennen. Ich habe VHDL auch einmal gelernt, der unterschied ist mir daher auch bewusst. Ich habe dieses Board geschenkt bekommen, und würde es gerne im Rahmen einer Steuerung einsetzen. Das Port assignment, wird ja meist in einer Datei vollzogen, welche diesen Entwicklungsplatinen in irgendeiner Form beiliegt, und dann in VHDL selbst leicht verwendet werden kann. Meine Fragen sind also: Welche Quartusversion brauche ich. Wie binde ich dass assignment File her. Wie binde ich es ein. Nochmal zu dem Programmieren unterschied, ich habe glaube eine Möglichkeit das gut zu erklären, dass ihr euch hier jetzt nicht ewig darüber streitet. Die CPU, welche ein in einem Speicher abgelegtes Programm abarbeitet, ist Hardwareseitig fest definiert und fest verdrahtet. Ein FPGA arbeitet Grundverschieden: Es ist Hardwareseitig nicht fest Definiert und besteht aus vielen Logikzellen. Die so verdrahtet werden, wie es vorher in VHDL beschrieben wurde. Mit VHDL könnte ich Theoretisch eine CPU beschreiben, die dann das in einem Angehängten Speicher gespeicherte Programm Ausführt.
https://www.altera.com/download/sw/dnl-sw-index.jsp Ein Stückchen unten gibt's einen "Software Selector", dort auf "Select by Device", dein Käferlein auswählen, die entsprechend letzte unterstützte Quartus-Version auswählen und warten (dicker Brocken) ... Jan R. schrieb: > Nochmal zu dem Programmieren unterschied, ich habe glaube eine > Möglichkeit das gut zu erklären, dass ihr euch hier jetzt nicht ewig > darüber streitet. Für mich ist der Unterschied zwischen einer "klassischen Programmiersprache" und VHDL im wesentlichen der, daß bei ersterem "das Programm" das Ergebnis ist. Bei der Synthese ist das Ergebnis des "Programmlaufs" das Ergebnis: das Bitfile, das man ins FPGA "programmieren" kann. Also eher so wie bei Logo: "Schildkröte 90° rechts, Stift runter, zehn Schritte vorwärts, Stift hoch", bloß daß mich "das Programm" nicht so besonders interessiert, sondern das "Bild" (das bei VHDL ein wenig komplexer ist als bei Logo), das dabei rauskommt.
Sigi schrieb: > Der lateinische Ursprung (programmieren/beschreiben) bzw. > "scheinbar" griechische Ursprung (z.B. Algorithmus) hat > kaum noch etwas mit der heutigen Bedeutung zu tun. eben! > Beschreiben hingegen ist bei VHDL zutreffend teilweise, denn es werden heute eigentlich fast nur noch Abläufe und Funktionen definiert, und kaum noch Vorgaben für die reale HW Struktur. Diese ist mehr oder weniger offen. Von daher wird nicht die Hardware, sondern das Verhalten der Hardware beschrieben. "Bavhioural Modelling" in Neudeutsch. > das(s) im Hintergrund eine Software zum Scannen/Parsen verwendet > wird, ist irrelevant. Das ist aber DAS entscheidende Kriterium. Früher haben wir mit OR und AND die Gates beschrieben, huete schreiben wir + * : auf. > Und dass das Ergebnis der Synthese > eine Software ist, die auf dem FPGA läuft, ist Blödsinn. Das hat auch niemand gesagt :-) Die Aussage war, dass mittels einer Software (VHDL) eine Software (ISE) programmiert wird, welche eine Software (Netzliste, HW Bschreibung) herstellt, die von einer weiteren Software (Mapper) als Funktionsanweisung aufgefasst wird, um unter Zuhilfenahme von Software (Libs) diese Funktionswünsche in eine Hardware umszusetzen, wobei sie Hardwareelemente des FPGAs heranzieht (oder in Lothars Fall, Bib-Elemente aus der ASCI-Lib). Dieses Software funktioniert wie ein Ingenieur früher. Sie überlegt sich , was benötgit wird, wie es aussehen muss und wie man es mit den vorgegebenen Elementen zusammenbasteln kann. Das alles sind stark programmatische Vorgänge. Heraus kommt wieder eine Software Diese Software "läuft" dann nicht auf dem FPGA, sondern sie "läuft" auf der abstrahierten Syntheseebene. Was dann läuft, ist das Ergebnis, nämlich alle Abläufe, alle pipelines, alle state machines. Und da gibt es definitiv keinen Zweifel: Eine pipeline und eine state machine sind software und die steuernden Signale, die vordefinierten Abläufe, sind eine Vorschrift für dieses Verhalten, seien sie auch nicht explicit vergeben. > Allerdings ist Compilieren im Zusammenhang mit FPGAs > zutreffend, es bedeutet ja grob das Zusammensetzen > aus einzelnen Komponenten. Der Begriff wird auch im > Bauwesen, in Maschinenbau und Etechnik (CAD..) verwendet.
------------------------------ Welche Quartusversion brauche ich. ------------------------------ EP1C3T144 Für dieses Ding brauchst du unter Version 10.0 Nur die läuft nicht mehr unter Win7 und höher sondern nur bei WinXP. Gruss
---------------------------------------- Theoretisch eine CPU beschreiben, ---------------------------------------- Auch praktisch..... Gruss
>------------------------------ >Welche Quartusversion brauche ich. >------------------------------ >EP1C3T144 >Für dieses Ding brauchst du unter Version 10.0 konkreter wird das im Altera Forum beantwortet: http://www.alteraforum.com/forum/showthread.php?t=46583 danach geht es mit der WebEdition bis zu Version 11 SP1. Die Werkzeuge zu bedienen ist auch eine Kunst für sich wg der unendlich vielen Menüpunkte/Optionen, die Zeit für die Tutorials sollte man sich nehmen.
peter schrieb: > EP1C3T144 > Für dieses Ding brauchst du unter Version 10.0 Das Altera Download Center behauptet 11.0 (Web Edition) könne das (das ist doch ein Cyclone I, oder?).
VHDL-Programmierer schrieb im Beitrag #3956216: > Eine pipeline und eine state machine sind software Ich könnte da ohne Zögern sagen: könnte aber auch Hardware sein. Dann nämlich, wenn die Pipeline oder die FSM im Silizium sind. Das ist für mich (und unsere Softies) dann auf jeden Fall reinrassige Hardware. Sigi schrieb: > Allerdings ist Compilieren im Zusammenhang mit FPGAs > zutreffend, es bedeutet ja grob das Zusammensetzen > aus einzelnen Komponenten. Der Begriff wird auch im Bauwesen, in > Maschinenbau und Etechnik (CAD..) verwendet. Beim GAL war das ein Assembler. Und der nächst höhere Schritt nach dem GAL/Assembler ist ein FPGA/Compiler... Blöd ist nur, dass es in einer FPGA-Toolchain keinen Compiler gibt. Einen Compiler gibt es nur beim Simulator, wo aus der Beschreibung tatsächlich ein auf einem Rechner ausführbares Programm compiliert wird. BTW: mit diesen lateinischen Worten habe nicht ich angefangen. Eine Herleitung aus diesen Begriffen muss schiefgehen, denn die alten Römer wussten nichts von CPUs und FPGAs.
VHDL-Programmierer schrieb im Beitrag #3956216: > "Bavhioural Modelling" > in Neudeutsch. Nee, das ist zu 100% kein Deutsch, zu xx% kein Neudeutsch und zu 50% kein Englisch... SCNR
Ich denke Lothar ist der Letzte, der sich unter vier Augen weigern würde, dem "gegnerischen" Standpunkt den intellektuellen Tribut zu zollen den er verdient. Aber mit diesem hanebüchenen halbgaren, viertelgebildeten, von irgendwelchen obskuren Kalenderblattrückseiten zusammengebasteltem Schwachsinn, den er da als "Argument" benutzt, beweist "VHDL-Programmierer" (sic) nur, dass Bildung nicht zwingend Urteilsvermögen zur Folge hat. Er kann vielleicht VHDL-Code schreiben, aber das denken soll er doch bitte den Pferden (sprich Lothar) überlassen. Mahlzeit.
VHDL-Programmierer schrieb im Beitrag #3955642: > Lothar Miller schrieb: >> Richtig: weil VHDL keine Programmiersprache, sondern eine >> Beschreibungssprache ist. Das wird dir sicher irgendwann mal auffallen. > VHDL ist eine Programmiersprache, die wie jede andere auch mehr oder > weniger abstrahiert auf Hardware zugreift und deren Code mehrere > Übersetzungsstufen durchläuft. Bei VHDL sind es sogar besonders viele > Abstraktionsstufen und mithin wird mit dieser Sprache zunächst einmal > ein Parser kommandiert, der Strukturen und Abläufe trennt. Z.B. werden > State Machines analysiert und umgebaut etc. Was dort läuft ist also > definitiv eine Software, die von einer anderen Software, nämlich dem > VHDL-Code gesteuert => programmiert wird, denn es sind > Steuerungsvorschriften und "Vorschrift" ist die naheliegendste > Übersetzung des Begriffes "Programm". Schmarrn, VHDL ist eine Beschreibungssprache. VHDL ist ursprünglich zur Dokumentation/Spezifikation definiert worden, damit diejenigen die die Funktion spezifiziert haben deren korrekten Implementierung überprüfen können ohne sich durch die ASIC-Schematics zu wühlen. Die computergesteuerte Simulation/Synthese kam als Verwendungszweck erst später hinzu. MfG,
Fpga Kuechle schrieb: > Die computergesteuerte Simulation/Synthese kam als Verwendungszweck erst > später hinzu. Und zudem kann nur ein klitzekleiner und stark reglementierter Teil von VHDL tatsächlich "auf Hardware laufen" oder "in Hardware umgesetzt werden". Schon beim extrem wichtigen und oft verwendeten Datentyp time geht das nicht mehr... Die restlichen 95% von VHDL sind nur zur Systembeschreibungssprache und Systemdokumentation verwendbar. Auch aus diesem Grund ist VHDL so stark typisiert und so "geschwätzig".
:
Bearbeitet durch Moderator
Lothar Miller schrieb: > Und zudem kann nur ein klitzekleiner und stark reglementierter Teil von > VHDL tatsächlich "auf Hardware laufen" oder "in Hardware umgesetzt > werden". eben deshalb ist es eben nicht primär eine Hardwarebeschreibungssprache sondern eine Verhaltensbeschreibungssprache. Und Verhaltensbbeschreibung ist Software = Ablauf. Sieht es jetzt jemand noch nicht ein? Strenggenommen müsste es heisst Software Definition Language.
Lothar Miller schrieb: > Sigi schrieb: >> Allerdings ist Compilieren im Zusammenhang mit FPGAs >> zutreffend, es bedeutet ja grob das Zusammensetzen >> aus einzelnen Komponenten. Der Begriff wird auch im Bauwesen, in >> Maschinenbau und Etechnik (CAD..) verwendet. > Beim GAL war das ein Assembler. Und der nächst höhere Schritt nach dem > GAL/Assembler ist ein FPGA/Compiler... > Blöd ist nur, dass es in einer FPGA-Toolchain keinen Compiler gibt. Synplify Pro zeigt beim synthesieren folgende Schritte an: Compiling... Pre-Mapping... Mapping... Auch ActiveHDL (Simulator) fängt mit Compile... an Es gibt also einen Compiler in der Verarbeitungskette, der hat aber mit FPGA noch nichts zu tun.
VHDL-Programmierer schrieb im Beitrag #3956661: > Lothar Miller schrieb: >> Und zudem kann nur ein klitzekleiner und stark reglementierter Teil von >> VHDL tatsächlich "auf Hardware laufen" oder "in Hardware umgesetzt >> werden". > eben deshalb ist es eben nicht primär eine Hardwarebeschreibungssprache > sondern eine Verhaltensbeschreibungssprache. Und Verhaltensbbeschreibung > ist Software = Ablauf. Sieht es jetzt jemand noch nicht ein? Man kann hauch das Verhalten des Sonnensystemsystems in einer formalen Sprache beschreiben. Also ist das Sonnensystem Software? Und das kann man auf so ziemlichb alles verallgeminern. > > Strenggenommen müsste es heisst Software Definition Language.
VHDL-Programmierer schrieb im Beitrag #3956661: > eben deshalb ist es eben nicht primär eine Hardwarebeschreibungssprache > sondern eine Verhaltensbeschreibungssprache. Und Verhaltensbbeschreibung > ist Software = Ablauf. Sieht es jetzt jemand noch nicht ein? Du bist auf dem Holzweg. Software heisst: Hardware gleich (CPU) - Ablauf(steuerung) variabel. Beispiel Zähler: Man braucht einen Puls von 10 Takten Länge, also braucht man einen Zähler. Im FPGA sind u.a. folgende Zähler möglich: -Binärcounter -graycounter -Pseudorandom (LFSR based) counter -One Hot counter Varianten ergeben sich noch in der Zählrichtung (Up/Down) Die Software ist nicht in der Lage das zu abstrahieren, Es ist in VHDL (m.W.) nicht möglich zu beschreiben das ein Puls von 10 Takten zu erzeugen ist - EGAL WIE. Beschreibt man in VHDL synthesegerecht einen Zähler gibt man immer die HW-Struktur mit vor. Nicht mit allen Details aber nicht so abstrakt das die Synthese völlige Freiheit bei der Implementierung hat. MfG,
Lattice User schrieb: > Synplify Pro zeigt beim synthesieren folgende Schritte an: Ich werde mir das wieder mal genauer ansehen müssen... 8-o VHDL-Programmierer schrieb im Beitrag #3956661: > Und Verhaltensbbeschreibung ist Software = Ablauf. Sieht es jetzt jemand > noch nicht ein? Ich habe es schon im Beitrag "Re: eBay-Board in VHDL Programmieren" eingesehen. Warum kann man eigentlich die "Software" für das FPGA nicht gleich mit einer richtigen Programmiersprache wie BASIC oder gar C (be)schreiben? Denn eigentlich ist nach letzter Ansicht VHDL nicht mehr nur eine VHPL sondern sogar eine SPL (software programming language). Und gerade die erwähnten Sprachen sind richtig anerkannte SPL... Markus F. schrieb: > das ist doch ein Cyclone I, oder? Ja. Lade einfach die 11er herunter und probiere es aus. Oder kauf nicht das verlinkte Board, sondern eines mit einem aktuelleren Baustein...
Zu den Wortklaubereien hier: Steht nicht das P in FPGA für Programmable? http://de.wikipedia.org/wiki/Field_Programmable_Gate_Array Also wird ein FPGA letztendlich programmiert. VHDL ist keine Programmiersprache im klassischen Sinne, dient aber auch dazu, ein Programm für den FPGA zu erzeugen. Das das Programm dann anders 'abläuft' als auf einem Prozessor, das wissen wir auch.
PittyJ schrieb: > Steht nicht das P in FPGA für Programmable? Ja, korrekt. > Also wird ein FPGA letztendlich programmiert. Ein FPGA braucht also ein Programm. Aus dem VHDL Code muss somit für FPGAs ein Programm gemacht werden. Aber ein ASIC wird aus einem Stück Silizium hergestellt. Es braucht also eine Herstellungsbeschreibung bzw. eine Hardwarebeschreibung (Layout, Schichtenaufbau, Gehäuseform, Bondierung, usw.). Ich hatte schon immmer den Verdacht: VHDL ist gespalten... :-/ > Das das Programm dann anders 'abläuft' als auf einem Prozessor, > das wissen wir Aber der Neuling, der schon in jungen Jahren "Programmieren" mit uCs gelernt hat, weiß es nicht. Und wenn der jetzt auf FPGAs weiter "Programmieren" darf, dann verwendet er auch den selben "Programmierstil" und fällt auf die Nase. Das passiert hier doch laufend. Ich selber finde es zudem cooler, etwas anderes zu machen als die Hausfrau, die ihre Eieruhr oder die Waschmaschine nebenher auch "programmiert"... ;-)
PittyJ schrieb: > Zu den Wortklaubereien hier: > > Steht nicht das P in FPGA für Programmable? > http://de.wikipedia.org/wiki/Field_Programmable_Gate_Array > Also wird ein FPGA letztendlich programmiert. Wenn dann wird er mit dem bit-stream der Konfigurationsdaten "programmiert", aber nicht mit VHDL und darum geht es hier. "Programmierbare Logik" ist älter als VHDL. > VHDL ist keine Programmiersprache im klassischen Sinne, dient aber auch > dazu, ein Programm für den FPGA zu erzeugen. Was ist klassisch im Zusammenhang mit Programm? Die ersten Computer waren hardverdrahtet, die Speicherprogrammierung hielt erst später Einzug. Demzufolge ist das klassische Programm ein Verdrahtungsplan also schematic und somit ein "FPGA-Programm" (Netzliste) die klassische Variante und die maschienübersetzbare Liste von Anweisung eine neuzeitliche Variante der klassischen (hardwired) Programmierung. Löst man sich von der Elektrotechnik findet man noch ältere "Programme" (Ablaufsteuerungen). So die Nockenwelle die die Ventile eines Motors steuert. Und im Sinne der Ablaufsteuerung wäre dann auch ein Uhrwerk eines "klassischen" Weckers ein Programm und der Uhrmacher ein Programmierer !? Dann wäre eine Murmelbahn die den Lauf einer Kugel steuert ein Programm und einer der Dominosteine zu einer kunstvollen Bahn wie beim Domino-day aufstellt ein Programmierer der archaischen Schule! MfG,
Fpga Kuechle schrieb: > Dann wäre eine Murmelbahn die den Lauf einer Kugel steuert ein Programm > und einer der Dominosteine zu einer kunstvollen Bahn wie beim Domino-day > aufstellt ein Programmierer der archaischen Schule! Jetzt kann ich endlich mein Popcorn rausholen ;-)
Sagt mal, ist es nicht scheißegal ob man es programmiert oder beschreibt? Hautsache es funktioniert.
Böser Kommunist schrieb: > Sagt mal, ist es nicht scheißegal ob man es programmiert oder > beschreibt? > Hautsache es funktioniert. Ja, wenn man sich an einem FPGA-Design mit seinen "Erfahrungenschatz" als abstrahierender Computerprogrammer versucht wird das FPGA-Konstrukt nicht funktionieren. Hat man dagegen eine Vorstellung wie man das in etwa in digitaler Schaltungstechnik aufbauen würde und schreibt sein VHDL/Verilog etc entsprechend, wird es genau das tun was es soll. MfG,
Oh mein Gott, was ein Tratsch aus diesem Thread wurde :-)) Querkus II in Version 11 unterstützt den Chip. Jetzt bräuchte ich aber noch einen Schaltplan von dem Ding, denn die erhoffte Pin asignment Datei, scheint es ja nicht zu geben :-(( Im Schlimmsten Fall muss ich die Leiterbahnen verfolgen aber das ist schon ein ziemlicher sch.., wenn man von so einem Teil keinen Schaltplan vorliegen hat, welcher das FPGA mit Perepherie zeigt.
Jan R. schrieb: > denn die > erhoffte Pin asignment Datei, scheint es ja nicht zu geben Ich lege die mir meist selber an, oder schau im Referenze-Design nach, wie das dort gelöst wurde. Duke
Jan R. schrieb: > Jetzt bräuchte ich aber noch einen Schaltplan von dem Ding, Dort steht:
1 | if you need the datasheet,please contact us. |
Nun denn, wohlan...
> denn die erhoffte Pin asignment Datei, scheint es ja nicht zu geben :-((
Weil bei dir die IOs ja auch andere Namen haben können, wäre das nur
teilweise hilfreich.
Lothar Miller schrieb: > Weil bei dir die IOs ja auch andere Namen haben können, wäre das nur > teilweise hilfreich. Ich verwende im top-Modul und dem Constraints-File immer die Namen der Signale, die auf der jeweiligen Hardware verfügbar sind (z.B. GPIO_HEADER_xx). Wenn ich dann dort eine LED dranhänge oder einen USB-RS232-TTL-Wandler, dann werden die Pins im VHDL mittels 'alias' verknüpft:
1 | alias led_n : std_logic is GPIO_HEADER_00; |
2 | --
|
3 | alias uart_txd : std_logic is GPIO_HEADER_01; |
4 | alias uart_rxd : std_logic is GPIO_HEADER_02; |
Ist zwar bei bidirektionalen Bussen etwas aufwändig, aber ich kann das top-Modul und das Constrainsfile sofort im nächsten Projekt nutzen. Duke
Hi, habe jetzt mal ein und erstellt, habe mich da an ein Quartus Tutorial gehalten. Leider kommt nur Sch.. dabei heraus. Zuerst habe ich den Chip ausgewählt, dann das und eingefügt, und dann ein und Ausgänge definiert. Jetzt bin ich wie im Tutorial auf Analysis&Elaboration gegangen und dann kamen diese Fehler, was bedeuten sie wie elemeniere ich sie!! Also so langsam macht das echt kein Spass mehr, kann mich nicht erinnern, das das bei den Xilinx FPGAs, mit denen ich mich vor Jahren mal beschäftigen musste so ein Krampf war!!
Jan R. schrieb: > Also so langsam macht das echt kein Spass mehr Ich hätte zum krampfigen Thema "Schematics im FPGA" den Beitrag "kruder Fehler bei FPGA-Programmierung (ISE WEBpack-Schematic)" Ist zwar für Xilinx ISE, gilt aber generell!
:
Bearbeitet durch Moderator
ich möchte mich jetzt ehrlich gesagt nicht durch irgendwelche alten Threads forsten, wenn das nicht direkt um Quertus geht, bringt mir es garnichts.Habe mich an dieses Thutorial gehalten. http://www.altera.com/literature/tt/tt_my_first_fpga.pdf Statt des Zählers, habe ich nur ein und eingefügt. Wo liegt mein Fehler? Kann mir das eine Sagen? Waarum soll das toplevel design entry undefiniert sein? Was soll dieser Quatsch. Ich habe mich an dieses verdammte Tutorial gehalten und trotzdem geht ein Scheiß.
Habe es gemacht wie hier nochmal im Bett gemacht: http://youtu.be/auQ7wpVH-0Q Offensichtlich habe ich keine Fehler gemacht.. Istnes bei den alteras auch so, dass ich nicht jeden Pin als Clock definieren kann?
Hi! Ich hatte schon mal versehentlich das gleiche Problem. Fehler bei mir: Top Level Entity hatte nicht den identischen Namen wie das Projekt ==> wurde geändert und schon funktionierte es!!! Gruss Horst
>Nur die läuft nicht mehr unter Win7 und höher sondern nur bei WinXP.
Unfug! Die Version 9.0 läuft auch unter Win8.1 wunderbar. Nur für den
USB-Blaster muss man den Programmer der V12 installieren.
Zum thema, pack doch dein Projekt mal zusammen und lad es hier hoch.
Dann kann man mal gucken. Wird wohl ein Namenskonflikt sein.
1 | library ieee ; |
2 | use ieee.std_logic_1164.all; |
3 | use ieee.std_logic_unsigned.all; |
4 | |
5 | entity counter is |
6 | port( clk: in std_logic; |
7 | reset: in std_logic; |
8 | enable: in std_logic; |
9 | count: out std_logic_vector(3 downto 0) |
10 | );
|
11 | end counter; |
12 | |
13 | architecture behav of counter is |
14 | signal pre_count: std_logic_vector(3 downto 0); |
15 | begin
|
16 | process(clk, enable, reset) |
17 | begin
|
18 | if reset = '1' then |
19 | pre_count <= "0000"; |
20 | elsif (clk='1' and clk'event) then |
21 | if enable = '1' then |
22 | pre_count <= pre_count + "1"; |
23 | end if; |
24 | end if; |
25 | end process; |
26 | count <= pre_count; |
27 | end behav; |
Während der Verilog Code aus dem Alteratutorial, von oben einwandfrei geht, Meint der Compiler hier wieder Meckern zu dürfen. Warum das denn jetz?
Wenn da "top partition does not contain any logic" steht, dann heißt das wohl, daß die top Partition keine Logik enthält. Du solltest mal kontrollieren, was Du als Toplevel-Entity gesetzt hast.
Jan R. schrieb: > Warum das denn jetz? Was kommt denn kurz vor den Fehlermeldungen? Ich schlage vor, du kopierst einfach die ganzen Build-Messages als Text hierher...
Ja, glaube jetzt habe ich es raus mit der bedinung der Software. Trotzdem danke
Hi, hab nochmal ne frage zuden .sdc files. Wenn ich das Richtig verstanden habe, sind das Randbedingungen für das Dynamische Verhalten, sie geben dem Compiler die Vorgabe, die Interne Verkabelung so Vorzunehmen, dass die Maximalwerte für Glitches nicht überschritten werden. Verstehe ich das Richtig? (Wenn nicht bitte nicht einfach mit nein Antworten, das bringt ja niemandem was.)
Jan R. schrieb: > Hi, > > hab nochmal ne frage zuden .sdc files. > > Wenn ich das Richtig verstanden habe, sind das Randbedingungen für das > Dynamische Verhalten, sie geben dem Compiler die Vorgabe, die Interne > Verkabelung so Vorzunehmen, dass die Maximalwerte für Glitches nicht > überschritten werden. > > Verstehe ich das Richtig? (Wenn nicht bitte nicht einfach mit nein > Antworten, das bringt ja niemandem was.) Fast richtig, es geht nicht um Glitches sondern um die Laufzeit von Flipflop zu Flipflop, die darf natürlich nicht länger sein als wie vom Takt vorgegeben. In die Laufzeit geht die "Verkabelung" (das Routing im Fachjargon) und die Verzögerungen durch logische Verknüpfungen ein. Komplizierte Logik, z.B. ein mit einer Forschleife erstellter Dividierer verringern die erreichbare Taktrate. Jan R. schrieb: > ?? Es ist Sonntag!
Vielen Dank. Was passiert dann eigentlich, wenn man diese Datei nicht einbindet? Gibt es eine Default?
Jan R. schrieb: > Was passiert dann eigentlich, wenn man diese Datei nicht einbindet? Die Laufzeiten sind natürlich trotzdem da. > Gibt es eine Default? Das Tool kann nicht mehr prüfen, ob die Laufzeiten zum Takt passen. Wenn Du dann der Takt zu schnell ist, funktioniert Dein Design nicht mehr (fehlerhafte Daten, komisches Verhalten an State-Machines, etc.). Duke
Wenn ich von WIN7 und WIN8 schreibe, dann meine ich nicht den 32Bit-Unfug sondern 64Bit, Und darauf läuft Quartus-Alt nicht. Gruss
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.