Hallo Zusammen, ich muss gleich am Anfang sagen, dass ich ein Anfänger in VHDL bin... Ich muss für ein Projekt in der Uni ein Programm schreiben! und zwar muss dieses ein Eingangssignal einlesen und die Frequenz erhöhen, dann muss es zwei zwei Signal ausgeben bei dem das eine 1 ist, wenn das andere 0 ist und andersrum... dort muss auch noch eine Totzeit eingebaut werden, das hab ich verstanden, wie man sowas macht :-) Mein Größtes Problem besteht darin wie ich die ZEIT messe und wie ich die FREQUENZ erhöhe... Kann mir da vielleicht jemand helfen?? wäre sehr sehr wichtig für mich !!! Vielen Dank im voraus:-) Julian
Bestimmt kann Dir hier jemand helfen. Zeig' uns doch bitte mal Deine Entwürfe und dazu noch, was Du an VHLD-Code bis jetzt hast.
Klar helfen wir gerne, wenn du dir schon so viel Mühe gemacht hast. Die Aufgabe kommt mir sehr bekannt vor, die gleiche hatte unser Prof uns auch gestellt. An welcher Uni und in welchem Semester studierst du? Vielleicht kannst du die Lösung ja 1:1 übernehmen.
Wieder mal eine dieser schwamigen Aufgabenstellungen: "die Frequenz muss erhöht werden" :) Ganz einfach: die Frequenz skillen. ^^
Ich hab leider aktuell nichts, weil mein Prof gemeint hat, dass das was ich hatte nichts bringt...
Zuallerst: In VHDL programmiert man nicht, man modelliert. Und zwar digitale Schaltungen. Mit einer rein digitalen Schaltung die Frequenz eines Taktes zu erhöhen ist recht unsauber und unschön. Sowas macht man mit einer PLL. Eine solche könntest du jedoch in VHDL modellieren, ist dann aber nicht synthetisierbar. Da Synthetisierbarkeit jedoch anscheinend kein Kriterium war, würde ich so an die Aufgabenstellung herangehen.
Tut nichts zur Sache. Ich habe dem Prof. Rackles mal den Link zu diesem Thread geschickt. Wenn er sieht, dass du dir die Hausaufgaben von Anderen erledigen lassen musst, wird er dir in Zukunft sicherlich einfachere Aufgaben geben. Freut mich, dass ich helfen konnte.
@ Helferlein: Du warst mir eine große Hilfe!!! Danke! @hum: Hättest du vielleicht ein Beispiel für mich, wie man so etwas mit einer PLL lösen könnte? Ich bin über den Begriff auch schon gestolpert, bin aber nicht wirklich weitergekommen...
Tja, mein Lieber, da hilft jetzt nichts mehr. Da musst Du jetzt durch. Entweder Du bringst jetzt hier Eigenleistung und fängst zunächst mal mit ein paar Entwürfen an und zeigst Die hier oder Du überlegst bei welcher Burger King Filiale Du Dich bewerben willst.
Poste doch bitte mal die konkrete Aufgabenstellung. Vielleicht hast du nur etwas falsch verstanden bzw. wiedergegeben hier. Klingt irgendwie seltsam. Auf der anderen Seite hatten wir auch solche spaßigen Aufgaben im Studium, das scheint irgendwie normal zu sein.
Ich nehme ja nicht an, dass Dein Prof. von einem Anfänger verlangt eine PLL zu modellieren. (Das geht übrigens durchaus auch synthetisierbar - ich habe es selbst schon getain). Also poste erstmal den genauen Aufgabentext. Sonst stochern wir hier im Nebel.
Was ist München denn für eine Hochschule wo Studenten Aufgaben gestellt werden, deren Lösung nicht in Seminaren und Vorlesungen vorbereitet würden. Ganz große Baustelle die Bildungsreformen.
Die eigentliche Aufgabe meiner Gruppe ist ein Batterieladegerät zu bauen das über ein PV Modul geladen wird. Ich habe die Teilaufgabe bekommen das FPGA zu modellieren. Ich bekomme ein PWM Signal als Input von einem Microcontroller und muss dann zwei MOS Fets ansteuern... Die müssen abwechselnd AN und AUS geschaltet werden... Bin damit irgendwie echt ein bisschen überfordert und hab gehofft hier ein paar Denkanstöße zu bekommenn :-) Wie würdet ihr da vorgehen?
> Wie würdet ihr da vorgehen?
Ersteinmal exakt und vollständig die Aufgabe definieren. Danach haben
jetzt aber schon zwei Leute gefragt. Möchtest Du das wir "bitte, bitte"
sagen, oder woran hapert es?
Ist denn da ein fpga das Richtige? Evtl. lohnt es mal drüber nachzudenken, ob statt fpga mosfet Treiber vom uc angesteuert werden? Die müssen ja früher oder später eh dahinter.
Zeichne mal die Signale auf in einem Timingdiagram (Alle). Wenn du das nicht kannst fehlen dir Daten oder du hast die Aufgabe nicht richtig verstanden. Erst wenn du alle Signale einzeichnen kannst, kannst du anfangen zu modelieren.
btw. ansonsten erst mal projekt ruhen lassen, mosfets ruhen lassen. Satt mosfets zwei leds ans fpga und die abwechselnd blinken lassen. Mit einer festen, von dir vorgegebenen Frequenz. Dann Tastverhältnis der pwm einlesen und damit deine Vorgabe überschreiben und dann erinnerst du dich auch sicher an ganz viel. Aber bring erst mal eine oder zwei leds ans blinken, sonst wird das ganz bestimmt nichts.
Danke! Ja des mit den zwei LED`s hatte ich mir auch schon mal gedacht... Das müsste doch so ausschauen oder? library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity blinker is Port ( clk_i : in STD_LOGIC; blinker_o : out STD_LOGIC; blinker_oo: out STD_LOGIC ); end blinker; architecture Behavioral of blinker is signal cnt_r: std_logic_vector(22 downto 0); signal cnt_f: std_logic_vector(22 downto 0); begin process(clk_i) is begin if rising_edge(clk_i) then cnt_r <= cnt_r +1; end if; if falling_edge(clk_i) then cnt_f <= cnt_f +1; end if; end process; blinker_o <= cnt_r; blinker_oo<= not cnt_f; end Behavioral;
Warum cnt als Vektor und warum zählt der eine auf steigende und der andere auf fallende Flanke? Ist das synthetisierbar?
Was genau meinst du mit synthetisierbar? Ich hab mir des alles so bisschen selber zusammengereimt... Was würdest du anders machen?
Ja klar :-) hat auch funktioniert soweit... ich muss dieses Programm doch dann noch so umschreiben, dass es ein Signal einliest und die Zeit taktgesteuert misst oder? und da liegt mein Problem...
Julian Franz schrieb:
1 | > blinker_o <= cnt_r; |
2 | > blinker_oo<= not cnt_f; |
Wie soll das funktionieren? Du weist einen 23 bit lange Vektor einem Bit zu.
Da müsste ich dann noch (22)dahinter schreiben oder? ich hab des aus nem Tutorial und hab des bisschen abgeändert... wie würdest du es denn lösen?
Julian Franz schrieb: > Ich bekomme ein PWM Signal als Input von einem Microcontroller und muss > dann zwei MOS Fets ansteuern... Und wo bzw. wieso kommt da jetzt eine höhere Frequenz ins Spiel? Oder gehts vielleicht darum das Signal mit einer höheren Frequenz abzutasten um die Totzeiten für die MOSFETS nachträglich einzufügen, weil der Microcontroller das nicht kann?
Ich bekomme von dem Microcontroller eine relativ niedrige Frequenz und muss die erhöhen... Ja genau so muss ich des mit den MOS FETS machen
Wie wäre es, wenn du endlich mal schreibst, wie die Frequenz erhöht werden soll? Welchen Eingangsfrequenz ist gegeben und welche Ausgangsfrequenz soll daraus werden? Es gibt Bedingungen dafür, dass hier geholfen wird: 1. Es muss jemand hier sein, der helfen kann. 2. Es muss erkennbar sein, dass der Fragende Hilfe braucht und nicht andere seine Aufgabe machen lassen will. 3. Es muss bekannt sein, wobei geholfen werden soll. 1 ist gegeben, 2 hast du nach langem hin und her erfüllt und jetzt fehlt 3. Du bist dran.
Der Helferlein scheint mir ein arroganter Mensch zu sein. Statt zu helfen, den Topic-Link an Prof senden? Na ja. Wurdest du zu oft in der Schule verprügelt? @Julian Franz, versuch lieber in anderen Foren, hier kriegst du leider keine Hilfe. Mein Tipp electronix.ru Viele Grüße
Julian Franz schrieb: > Ich bekomme von dem Microcontroller eine relativ niedrige Frequenz und > muss die erhöhen... > Ja genau so muss ich des mit den MOS FETS machen Ahja. Naja, wenn die Frequenz viel niedriger ist als die Betriebsfrequenz des FPGA, dann kannst du die ja messen, bzw. ja eigentlich nur das Tastverhältnis bestimmen. Mit den Werten kannst du dann eine interne PWM, die halt die Totzeiten usw. berücksichtigt, einstellen. Du brauchst also mindestens einen Zähler zum Messen der Periodendauer des Eingangs, und dann zwei PWM Zähler mit Totzeit, die den Ausgang machen. Für letzteres schau mal bei Lothar vorbei: http://www.lothar-miller.de/s9y/categories/47-PWM
hum schrieb: > Zuallerst: In VHDL programmiert man nicht, man modelliert. Und zwar > digitale Schaltungen. Wo hast du das den her????? Julian Franz schrieb: > Ich bekomme von dem Microcontroller eine relativ niedrige Frequenz und > muss die erhöhen... > Ja genau so muss ich des mit den MOS FETS machen Eine Art von PLL oder was?
FPGA-Progger schrieb im Beitrag #3688065: > Wo hast du das den her? Wahrscheinlich aus einem guten Lehrbuch. Der VHDL-Quelltext wir nunmal nicht von einem Prozessor Schritt-für-Schritt abgearbeitet (=Programm). Statt dessen wird aus dem Quelltext die Verschaltung von Logiktabellen (=LUT) und Speicherelementen (=Flip-Flop) ermittelt. Der Quelltext beschreibt dabei ein Modell, welches sich u.U. sogar im FPGA als Schaltung realisieren läßt. Duke
Nicht schon wieder. Bleibt beim Thema bitte. Für seine Aufgabe braucht man keine PLL die würde mit PWM sowieso nicht klar kommen. Ein paar Zähler reichen da ganz sicher aus.
Julian Franz schrieb: > Danke! Ja des mit den zwei LED`s hatte ich mir auch schon mal gedacht... > Das müsste doch so ausschauen oder? > if rising_edge(clk_i) then > if falling_edge(clk_i) then Wozu zwei unterschiedliche Flanken? Und warum verwendest du nicht gleich einen Integer als Zähler und warum nicht die numeric_std? Such hier im Forum mal nach VHDL und Postulate, da dürfte schon mal das meiste drinstehen, was ein Anfänger beachten muss. Und dann wären da noch ein paar Eckdaten interessant: welche Eingangsfrequenz? Welche Taktfrequenz und welche Ansteuerfrequenz für die Mosfets? Welche Zielplattform und welche Toolchain? FPGA-Progger schrieb im Beitrag #3688065: > hum schrieb: >> Zuallerst: In VHDL programmiert man nicht, man modelliert. Und zwar >> digitale Schaltungen. > Wo hast du das den her????? Ich sage immer: man beschreibt Schaltungen mit einer Hardwarebeschreibungssprache. Und VHDL ist eine Hardware Description Language. Auf keinen Fall ist es eine Programmiersprache. Denn sonst hieße es ja VHPL....
:
Bearbeitet durch Moderator
Duke Scarring schrieb: > Der VHDL-Quelltext wir nunmal nicht von einem Prozessor > Schritt-für-Schritt abgearbeitet (=Programm). Doch, er wird von einem Prozessor Schritt für Schritt abgearbeitet, der aus dem Code eine Netzliste erstellt. VHDL-Code ist definitiv ein Program. Siehe "Programm" Wkipedia. Vor allem gilt: Programm heisst nicht automatisch "Computerprogramm" für Microcontroller oder PC-Prozessoen. Das ist lediglich eine Teilmenge.
VHDL-Neymar schrieb im Beitrag #3688358: > Duke Scarring schrieb: >> Der VHDL-Quelltext wir nunmal nicht von einem Prozessor >> Schritt-für-Schritt abgearbeitet (=Programm). > Doch, er wird von einem Prozessor Schritt für Schritt abgearbeitet, der > aus dem Code eine Netzliste erstellt. VHDL-Code ist definitiv ein > Program. Siehe "Programm" Wkipedia. Vor allem gilt: > > Programm heisst nicht automatisch "Computerprogramm" für Microcontroller > oder PC-Prozessoen. Das ist lediglich eine Teilmenge. Wer hat denn gerade die Ente? Ich brauche sie mal kurz.
Lothar Miller schrieb: > Und VHDL ist eine Hardware Description > Language. Auf keinen Fall ist es eine Programmiersprache. Denn sonst > hieße es ja VHPL.... Dies widerspricht nicht dem Umstand, dass VHDL-Code ein Programm ist. Es ist ein Script, dass eine Software "programmiert" nämlich die Generatorsoftware für den Code. Auch C ist ja keine Programmiersprache, denn auch die wird erstmal übersetzt. Ausserdem ist der Rückgriff auf die altertümliche Definition nicht zweckmässig, weil das passé ist. Im FPGA laufen heute komplexe Rechnungen und Statemachines und der Code, der sie steuert ist ein Programm. Klar und eindeutig.
VHDL-Neymar schrieb im Beitrag #3688380: > Im FPGA laufen heute komplexe > Rechnungen und Statemachines und der Code, der sie steuert ist ein > Programm. Klar und eindeutig. Bist du Verkäufer? So ein oberflächliches Gequatsche. Mit VHDL beschreibe ich Hardware, das was am Ende rauskommt, ist eine (parallele) Hardware, bestehend aus FlipFlops, Gattern, Speichern usw. (sythetisierbares) VHDL ist nur ein Schaltplan in Textform. Alles, was man nicht aus VHDL in einen Schaltplan übernehmen könnte, ist nicht synthetisierbar und höchstens in der Simulation verwendbar. Ganz anders Programmiersprachen wie C oder Assembler: Da entsteht ein Programm, also eine Schrittfolge die auf einer bereits bestehenden Hardware ausgeführt wird. Das ist doch was völlig anderes als ein FPGA-Design. Ob da nun dazwischen ein Compiler, Assember oder Synthesizer steckt, ist doch völlig unerheblich, das sind doch nur notwendige Zwischenschritte. Die Netzliste interessiert doch außer dem Mapper keine Sau. Genauso wie das Listing bei C als Zwischenschritt zum Maschinencode. Wenn man bei VHDL nicht immer im Hinterkopf hat, dass man einen Schaltplan aufschreibt, fliegt man früher oder später mächtig auf die Nase.
Aus dem Wikipediaartikel "Hardwarebeschreibungssprache" heißt es: "Im Gegensatz zu Software-Programmiersprachen beinhalten Syntax und Semantik der HDLs in ihrer Notation Möglichkeiten, zeitliche Abläufe und Gleichzeitigkeiten auszudrücken, wie es von Hardware verlangt wird." und in einem extra Absatz: "Regelmäßig (und fälschlicherweise) wird der Begriff Programmieren synonym für das Schreiben einer Hardwarebeschreibung benutzt. Dies resultiert daraus, dass HDLs eine ausführbare Spezifikation einer bestimmten Hardware darstellen. Ein Simulationsprogramm, das die grundlegende Semantik der Sprache und den Verlauf der Zeit bereitstellt, bietet dem Hardwaredesigner die Möglichkeit, ein Stück Hardware zu modellieren, bevor es physisch hergestellt wird. Diese Möglichkeit der Ausführung lässt es so aussehen, als würde diese Sprache dazu benutzt, etwas zu programmieren." Damit wäre das geklärt und man kann zum Thema zurück kommen. :-)
VHDL-Neymar schrieb im Beitrag #3688380: > Im FPGA laufen heute komplexe > Rechnungen und Statemachines und der Code, der sie steuert ist ein > Programm. Klar und eindeutig. Kannst Du das bitte fundiert erläutern? Mir ist es nämlich nicht klar und eindeutig. Bisher habe ich in VHDL "nur" state machines beschrieben, d.h. modelliert.
Eine state machine ist auch eine Software. Auch wenn Du sie indirekt definierst, indem Du ihre Inkorporation als HW hinschreibst, so definierst Du damit dennoch ihre Funktion. Dein Code enhält also Teile, die Okjekte definieren und Teile, die Abläufe definieren. Diese Abläufe sind Programm-Code. Was die Rechenpipelines angeht: Dort steht oft sowas wie: C_new <= A_old + B_old, also reine Mathematik. Das ist noch Abstrakter, weil keine Hardware definiert wird, sondern eine Funktion. Die HW baut dann eine Analyse-Software zusammen, die sich die Funktionen anschaut und was sie so im FPGA zur Verfügung hat um dann die entscheiden, weil zu tun ist. Im Grunde so, wie ein kleiner virtueller Hardwareingenieur. Die Hardwareexperten hören das nicht so gerne, dass sie Zug um Zug durch Software ersetzt werden, aber es ist so. Bis sie es gemerkt haben, sind sie längst arbeitslos.
VHDL-Neymar schrieb im Beitrag #3688416: > Eine state machine ist auch eine Software. Diese Aussage ist so nicht allgemeingültig. Eine state machine ist erstmal ein Modell, welches ein Verhalten beschreibt. Du kannst einen Zustandsautomaten in Software (wähle Deine beliebige *Programmier*sprache aus) implementieren oder in Hardware. Letzteres ist in der einfachsten Form boolsche Algebra. Das kannst Du aus logischen Gattern oder noch weiter atomar aus Transistoren aufbauen. VHDL-Neymar schrieb im Beitrag #3688416: > Was die Rechenpipelines angeht: Dort steht oft sowas wie: C_new <= A_old > + B_old, also reine Mathematik. Oje... C <= A + B; Erstens, was _new oder _old ist, ist für die Zuweisung irrelevant. Du implizierst eine zeitliche Abhängigheit, welche nur dann gegeben ist, wenn A_old und B_old durch z.B. getaktete Latche eine Synchronisierung erfahren. Das ist aber keinesfalls zwingend erforderlich. (Nicht alles braucht einen Takt) Zweitens ist der Plus-Operator auch nur eine Funktion, definiert in einer der Libraries, welcher auf Low-Level-Ebene wiederum als boolsche Algebra aufgebröselt wird. In VHDL beschreibst Du die Funktion eines Schaltplans in Textform. Was einem "echten" Programmieren am nächsten kommt, sind Prozesse, weil sie sequenziell abgearbeitet werden. In der VHDL ist es schnuppe, in welcher Reihenfolge die Zuweisungen (außerhalb der Prozesse) kommen. Das Model-Verhalten bleibt diesbezüglich trotzdem deterministisch. Bei den meisten Programmiersprachen ist es nicht der Fall, es sei denn Du baust explizit Barrieren (mutexe, etc.) ein. VHDL-Neymar schrieb im Beitrag #3688416: > Die Hardwareexperten hören das nicht so gerne, dass sie Zug um Zug durch > Software ersetzt werden, aber es ist so. Bis sie es gemerkt haben, sind > sie längst arbeitslos. Nun, egal wie Du es drehst, auf irgendeiner Hardware muß die Software ja ausgeführt werden. Und diese Hardware muß auch entwickelt werden. Und solange uns propagiert wird, daß man z.B. alle zwei Jahre die mobile Telefonzelle oder die Glotze verschrotten soll, nur weil die neue Generation soundsowiel MHz mehr und X zusätzliche Cores hat, mache ich mir um meinen Job keine Sorgen.
Julian Franz schrieb: > Ich bekomme ein PWM Signal als Input von einem Microcontroller und muss > dann zwei MOS Fets ansteuern... > Die müssen abwechselnd AN und AUS geschaltet werden.. Ist der FGA ander Stelle nicht ein wenig Overkill? Warum wird kann der Mikrocontroller nicht das richtige Signal ausgeben? Über welche Frequenzen geht es hier? (PWM-Frequenz, gewünschte Frequenz an den Gates der FETs)
Mir fällt da nur ein legendärer Film aus dem letzten Jahrtausend ein: Und täglich grüßt das Murmeltier." Es ist schnurzeinfach: VHDL ist keine Programmiersprache, weil sie sonst VHPL heissen würde. VHDL-Neymar schrieb im Beitrag #3688416: > Die Hardwareexperten hören das nicht so gerne, dass sie Zug um Zug durch > Software ersetzt werden Kommt diese System-C Epoche wieder, in der "billige" und in beliebiger Zahl verfügbare (weil nach dem Zusammenbruch der Internethype arbeitslose) Softwareentwickler Hardware machen sollten? Elektronenschubser schrieb: > Ist der FGA ander Stelle nicht ein wenig Overkill? Sehr wahrscheinlich schon... > Warum wird kann der > Mikrocontroller nicht das richtige Signal ausgeben? Könnte er sehr wahrscheinlich schon... > Über welche Frequenzen geht es hier? Uninteressant. Das ist eine praxisferne Schulaufgabe. Es ist aber eigentlich eine schöne kleine Übungsaufgabe...
VHDL-Neymar schrieb im Beitrag #3688416: > Eine state machine ist auch eine Software. Auch wenn Du sie indirekt > definierst, indem Du ihre Inkorporation als HW hinschreibst, so > definierst Du damit dennoch ihre Funktion. Dein Code enhält also Teile, > die Okjekte definieren und Teile, die Abläufe definieren. Diese Abläufe > sind Programm-Code. Schon diese Zeilen zeigen eine verwirrten Geist... Erinnert mich aber an ein paar Geschichten bei Stanislaw Lem mit Streitereien zwischen Materialisten (HW) und Idealisten (SW).
Naja, das ist halt typisches Gequatsche von Verkäufern und Projektleitern. Klingt bissl nach HLS von Xilinx. Zielt eigentlich nur darauf ab, dass man die "teuren" FPGA Designer durch billige Programmierer zu ersetzen versucht. Da werden dann auch auf Teufel komm raus SoftCores implementiert, die lassen sich notfalls auch von Programmierern im EDK zusammen klicken und dann wie gewohnt programmieren.
Christian R. schrieb: > Da werden dann auch auf Teufel komm > raus SoftCores implementiert, die lassen sich notfalls auch von > Programmierern im EDK zusammen klicken und dann wie gewohnt > programmieren. Das (ein SOC) ist ja auch erstmal eine Hardware. Das sagt noch nichts über Ablöufe. Da steckt noch keinerlei Programm im klassischen Sinne drin. Wenn aber einer eine schnöde FSM programmiert, muss er einen geplanten Vorgang im Kopf haben, der dort ablaufen soll. Er programmiert also einen Ablauf und zwar dadurch, dass er states und Sprünge hinschreibt. Lothar Miller schrieb: > Es ist schnurzeinfach: > VHDL ist keine Programmiersprache, weil sie sonst VHPL heissen würde. Nee so einfach ist das nicht. Dann wären ADA, COBOL und andere auch keine Programmiersprachen. VHDL lehnt sich bekanntlich stark an Pascal an und ist ursprünglich entwickelt worden, um die Schaltungen zu validieren und zu simulieren. Es war als von Anfang an eine Sprache für Simulatoren, sowas wie SPICE also. Erst später kamen die Synthesizer. > VHDL-Neymar schrieb im Beitrag #3688416: >> Die Hardwareexperten hören das nicht so gerne, dass sie Zug um Zug durch >> Software ersetzt werden > Kommt diese System-C Epoche wieder, Die ist ja schon da! Aber es lassen sich eben nur ganz bestimmte Dinge von C ins VHDL transferieren und zwar die, wo die Hardware mehr oder weniger zwangsläufig ist. In VHDL kann man z.:B schreiben: "wait on rising_edge" und der Synthesizer baut das als Flanken-FF auf. Das geht mit praktisch jedem C-Konstrukt, der statisch ist. C ist aber halt eine Sprache, die deshalb eingesetzt wird, weil man virtuelle Abläufe braucht mit dynamischen Konstrukten und Tiefen und die sind eben Software und lassen sich nie in HW abbilden, weil sie immer virtuell bleiben. Trotzdem kann C hergenommen werden, um es zu synthetisieren, warum nicht?
He...he...klasse: -------------------------------- Im FPGA laufen heute komplexe Rechnungen und Statemachines und der Code, der sie steuert ist ein Programm. Klar und eindeutig. -------------------------------- Juchhu es ist ein Programm...das war schon vor längerer Zeit mein Eindruck vom VHDL und FPGA. Man kann verkalkte Strukturen die es nicht wahrhaben wollen nur mit dem Bohrhammer zerstören... Immer feste drauf... Der sogenannte Designer für FPGA ist überbezahlt....Er lobt sich selber Hoch...ist er doch nur ein kleiner Programmierer für FPGA. Diese Designer sorgen seit mehreren Jahren schon immer dafür das der FPGA für einen Neuling als "das Unbekanntes Wesen" deklariert wird und nichts für Programmierer ist die "C" usw kennen. Gruss
-------------------------- > Eine state machine ist auch eine Software. Auch wenn Du sie indirekt > definierst, indem Du ihre Inkorporation als HW hinschreibst, so > definierst Du damit dennoch ihre Funktion. Dein Code enhält also Teile, > die Okjekte definieren und Teile, die Abläufe definieren. Diese Abläufe > sind Programm-Code. -------------------------- Der verwirrte Geist(oder Studentengeist) gehört demjenigen, der diesen Satz oben ignoriert. Gruss
Ich sehe das so: mit VHDL beschreibt man die Funktion einer Schaltung, aber nicht wie die Schaltung konkret aufgebaut ist. Daraus macht dann eine Software wie XST eine Schaltung die sich so verhält wie man es beschrieben hat. Und das wird dann auf die verfügbaren Ressourcen des FPGAs abgebildet. Ich meine wenn man a <= b or c; schreibt, würde man das mit TTL Bausteinen mit einem Oder-Gatter lösen. Und in der Sprache hat man auch genau ein solches beschrieben. Aber im FPGA wird das mit LUTs gelöst, also mit etwas was man nicht beschrieben hat, sich aber genau so verhält.
Peter Bierbach schrieb: > Diese Designer sorgen seit mehreren Jahren schon immer dafür das der > FPGA für einen Neuling als "das Unbekanntes Wesen" deklariert wird und > nichts für Programmierer ist die "C" usw kennen. Und genau diese Designer (Lothar z.B), mein lieber undankbarer Peter, haben Dir bei Deinen ersten Schritten geholfen. Du könntest ihnen vielleicht also zugestehen, dass sie von der Sache mehr verstehen.
Peter Bierbach schrieb: > Juchhu es ist ein Programm...das war schon vor längerer Zeit mein > Eindruck vom VHDL und FPGA. > > Man kann verkalkte Strukturen die es nicht wahrhaben wollen nur mit dem > Bohrhammer zerstören... Immer feste drauf... > > Der sogenannte Designer für FPGA ist überbezahlt....Er lobt sich selber > Hoch...ist er doch nur ein kleiner Programmierer für FPGA. Hach... Fast hätte ich darauf geantwortet. > Juchhu es ist ein Programm... Und worauf beruht nochmal diese Annahme? Experte schrieb: > VHDL lehnt sich bekanntlich stark an Pascal an und ist ursprünglich > entwickelt worden, um die Schaltungen zu validieren und zu simulieren. > Es war als von Anfang an eine Sprache für Simulatoren, sowas wie SPICE > also. VHDL ist eine Systembeschreibungssprache, die vom (oder eher fürs) Militär zur Schnittstellendefinition und -dokumentation ausgedacht wurde. Mit dem Simulator konnte dann überprüft werden, ob die eingekauften Module zusammen funktionieren. Da war weit&breit nichts zu programmieren...
Nee, ganz klar. Leute, die noch nicht mal drei ganze Seiten VHDL-Code selbst geschrieben haben, wissens besser als solche die das jahrelang für den Lebensunterhalt benutzt haben. Compilerbau, usw. das zählt alles nicht. Wir gehen nach der Delphi-Methode vor und die ist neuerdings, wenn es schwierig wird, dann machen wir es uns einfach und wer dagegen ist wird überschrien. Mein Teppich ist schon ganz abgeschubbert vom vor Lachen am Boden wälzen. Ihr habt ja nichtmal Argumente die zur Frage passen. Nie was von imperativ, deklarativ, funktional etc. gehört. Keine Ahnung was den Interpreter vom Compiler unterscheidet. Keine Ahnung was der Unterschied von Laufzeit und Compilezeit (bzw. hier Analyse- und Elaborationszeit) ist. Keine Ahnung was Semantik und Syntax ist. Und damit meine ich nicht die Fachworte sondern die "Begriffe". Habt ihr 'ne Ahnung was das ist? Nein! Definitiv nicht! UND IHR WOLLT HIER WAS ERZÄHLEN? Und dann noch andere belehren? Das ist absurd und lächerlich. Ihr solltet lieber mal ganz ruhig sein und zuhören.
Ach, solange solche "Experten" am Werk sind, mach ich mir keine Sorgen um meinen Job. Sollen sie mal "programmieren".
---field programmable gate array---- Programmierbar....also mit VHPL programmieren...ist doch einfach. Man hat aus unkenntnis VHDL gewählt. Man soll sich nicht auf die Ausländer verlassen, die uns was unterschieben wollen, geschweige dann von denen etwas übernehmen. Gruss
"Experten" die sind nur zu teuer in der freien Wirtschaft, ein Programmierer kann das gleiche für weniger Geld. Die Elekronikindustrie steuert da hin, wird auch Zeit, das die Billigprodukte nach Deutschland kommen. Gruss
--------------------------------------- ..die noch nicht mal drei ganze Seiten VHDL-Code selbst geschrieben haben, wissens besser als solche die das jahrelang für den Lebensunterhalt benutzt haben. --------------------------------------- Zu lange...hat das gedauert..es wurde durch diese sogenannten Gottesanbeter zuviel übernommen ohne groß nachzudenken. Man/Frau wollte sich mit Absicht eine andere Welt schaffen die ihre eigenen 10 Gebote hat. Es müssen verkalkte Strukturen aufgebrochen bzw eingerissen werden. Außenstehende urteilen Neutraler und auch besser. Das muss endlich erkannt werden. Ich hoffe auf einem Umbruch in dieser Branche durch die Ausländer die bei uns in Zukunft in der Elekronik arbeiten werden aber nach unseren Vorgaben. Gruss
---------------------------- Dank Spezialexperten wie dir wird das hoffentlich noch etwas dauern :-) --------------------------- Ich bin kein Experte, ich bin ein hochbezahlter Pensionär der Interesse hat und daran Freude hat diese Boards zu kaufen um damit zu spielen. Gruss
:
Bearbeitet durch User
Das finde ich auch durchaus begrüßenswert. Ich sehe nur, dass es hier Profis gibt die sich auskennen und eben auch vieles besser wissen/mehr Erfahrung haben. Das sollte man denen auch anrechnen und deren Aussagen erst wiedersprechen/sie kritisieren, wenn man selber besser oder gleich weit ist. Das ist aber vor allem im Gebiet der FPGAs ein langer und steiniger Weg.
Und worauf beruht nochmal diese Annahme: ---field programmable gate array---- Gruss
Das bedeutet nur, dass man den "im Feld" umprogrammieren kann, im Gegegnsatz zu ASICs oder nur einmal programmierbaren PLAs. Das Programmieren hier bezieht sich ausschließlich auf das laden eines neuen Designs, wird heutzutage meist Konfigurieren genannt, eben um solchen Mehrdeutigkeiten vorzubeugen. Und ich hab schon genug SW Entwickler gesehen die sich an VHDL versucht haben. Naja, eine For Schleife ist eben bei uns was völlig anderes, und den parallelen Ablauf trotz sequenzieller Schreibweise haben die auch nicht kapiert. Ratet mal wieso es trotz alle Versuche in dieser Richtung so wenige FPGA Designer gibt.
Programmieren ist eben eine sehr schwammige Definition. Üblich ist, dass man zwischen verschiedenen Dingen unterscheidet: - Computerprogramm, also etwas das ein Computer ausführt, eine Reihenfolge von Anweisungen. - Mechanische Abläufe. Es gibt auch mechanische Geräte an denen man Dinge einstellen kann und sich das Gerät dann danch verhält. Ein Wecker z.B. oder eine Alte Waschmaschine mit verschiedenen Waschprogrammen. - Generell Abläufe. Dinge die nacheinander schrittweise abgearbeitet werden. Wenn man z.B. eine Stadtbesichtigung geplant hat, dann nennt man das auch ein "Programm" oder das Kinoprogramm. Dinge die irgendwie nacheinander geschehen. - Und dann gibt es noch das Programmieren wie bei FPGAs. Aber auch bei Atmels und vielen weiteren Steinen gibt es solche Programmieradapter. Da wird aber dann nichtmehr Hardware mit einer Syntax irgendwie beschrieben oder programmiert, sondern da wird ein fertiges Bitfile in einen Speicher geschrieben. Das nennt man also auch programmieren. Ich vermute das FPGA, also das Wort kommt daher weil man eben durch einen Programmiervorgang die Funktionsweise des Gatter Arrays bestimmen kann. Damit ist also (so wie ich es verstehe) nicht das Beschreiben/Programmieren in VHDL gemeint sondern wirklich das Laden des FPGAs mit einem Bitstrom. VHDL ist für mich eine Syntax mit der man das Verhalten einer Schaltung beschreiben kann. Wie die Schaltung dann wirklich aussieht ist dabei noch mehr oder weniger unklar. Das macht dann die Synthesesoftware daraus und baut eine virtuelle Schaltung die sich so verhält wie die in VHDL beschriebene und die sich auf die Resourcen des FPGA abbilden lässt. Edit: - Das eingeben (tippen) von Syntax in einen Editor nennt man natürlich auch programmieren. Auch bei so Sprachen wie HTML und (LA)TEX die ja doch eher Seitenbeschreibungssprachen sind auch wenn noch mehr möglich ist.
:
Bearbeitet durch User
Peter Bierbach schrieb: > Und worauf beruht nochmal diese Annahme: > ---field programmable gate array---- Dass du dein FPGA nicht zuhause, sondern nur draussen auf dem Feld programmieren kannst. Genauso wie du einen uC nur im System oder in der Schaltung programmieren kannst (je nachdem ob er ISP oder ICP fähig ist). Es könnte natürlich auch einfach bedeuten, dass du das Wort "programmable" falsch verstehst... Gustl Buheitel schrieb: > - Das eingeben (tippen) von Syntax in einen Editor nennt man natürlich > auch programmieren. Ein Angelsachse "programmiert" übrigens nicht, er "codet", wenn er im Editor Codezeilen eintippt.
:
Bearbeitet durch Moderator
Lothar Miller schrieb: > Ein Angelsachse "programmiert" übrigens nicht, er "codet", wenn er im > Editor Codezeilen eintippt. Da mußt du aber arg aufpassen, daß du das auch immer richtig schreibst :-))
Peter Bierbauch schrub > Und worauf beruht nochmal diese Annahme: > ---field programmable gate array---- iss doch klar ey! Man(n) schreibt ein Programm und das laeuft dann auf dem FPGA! Sag' mal, hast du als neureicher Pensionaer soviel Langeweile, dass du alle hier gehoerig nerven musst?
berndl schrieb: > > Sag' mal, hast du als neureicher Pensionaer soviel Langeweile, dass du > alle hier gehoerig nerven musst? Ja hat er. Es ist ihm in den vergangenen Jahren meist egal gewesen, er hat einfach weiter stuss gelabert. https://www.youtube.com/watch?v=rq68A07CDcM
Bevor der Thread zugemacht wird, habe ich noch schnell ein paar Fragen: 1. Wie programmiere ich in VHDL eine IF-Schleife? 2. Kann man mit Programmierbarer Logik auch unlogische Programme synthetisieren? 3. Wo finde ich in der aktuelle ISE ein Write-Only-Memory-Core? 4. Warum hat Falk Brunner noch nichts zu dem Thema gesagt?
Anonymous schrieb: > 4. Warum hat Falk Brunner noch nichts zu dem Thema gesagt? Poste mal ein gut verrauschtes Bild mit 4MB... ;-)
Lothar Miller schrieb: > Anonymous schrieb: >> 4. Warum hat Falk Brunner noch nichts zu dem Thema gesagt? > Poste mal ein gut verrauschtes Bild mit 4MB... ;-) Da könnte man z.B. das hier nehmen: http://www.astrophot.de/Bilder/M45-IMG_0026.JPG
--------------------------- Ein Angelsachse "programmiert" übrigens nicht, er "codet", wenn er im Editor Codezeilen eintippt. --------------------------- Na dann code mal schön.....he..he.. Gruss
Sie bringen in die vielschichtige Diskussion interessante neue Aspekte ein, die die Problematik von einer völlig neuen Seite beleuchten. Ihre Ausführungen zeugen von hoher Sachkenntnis und überzeugen auch im Detail. Besonders im Mittelteil transportieren sie eine Fülle hochwertiger Informationen, die dem Kreis der betroffenen Nutzer nicht vorenthalten werden dürfen.
---------------------------------- Es ist ihm in den vergangenen Jahren meist egal gewesen, er hat einfach weiter stuss gelabert. ------------------------------- Als Pensionär kann man sich das erlauben.... da sind alle Türen offen... Ich bin so frei wenn andere das verdient haben. Dieses Forum schreit manchmal danach... Schau nur mal bei "Ausbildung & Beruf"....wieviel von denen die sich dort outen eine weiche Birne haben. Wenn ich sehe wie ihr den JosefG fertitg gemacht habt, bloß weil er eine Ausgefahrene CPU-Idee hat, stehe ich weit über Euch mit meinem Benehmen. Und der Moderator hat das alles in seinem stillen Kämmerlein geduldet... Gruss
:
Bearbeitet durch User
Peter Bierbach schrieb: > stehe ich weit über Euch mit meinem Benehmen. Ach komm, hör auf, das ist kindisch. > Und der Moderator hat das alles in seinem stillen Kämmerlein geduldet... Sagen wir es mal so: JosefG hat da durchaus etwas Beachtenswertes gemacht. Nur ist der VHDL Code für einen Aussenstehenden absolut unlesbar und deshalb das Konzept nicht nachvollziehbar. Und das kommt in diesem Thread zur Diskussion. Dass da einige ein dir ähnliches Verhalten an den Tag legen und fast schon unsachlich werden, wird ein Stück weit geduldet. Nur, wenn es persönlich wird, dann greifen wir als Moderatoren ein. Zudem ist mein Kämmerchen mitnichten still. Ich bin tagsüber damit beschäftigt, dir die Pension zu finanzieren. Klar soweit?
:
Bearbeitet durch Moderator
Peter Bierbach schrieb: > Dieses Forum schreit manchmal danach... > Schau nur mal bei "Ausbildung & Beruf"....wieviel von denen die sich > dort outen eine weiche Birne haben. Leider ja. Aber ich finde, dass sich gerade das VHDL&FPGA-Subforum wohltuend abhebt und recht sachlich ist, was wahrscheinlich an der Thematik liegt. Mir hat es beim FPGA-Einstieg wirklich viel geholfen und eben auch Details, wie den feinen Unterschied zwischen Beschreiben und Programmieren, mußte ich persönlich auch erstmal verinnerlichen.
Lothar Miller schrieb: >> Und der Moderator hat das alles in seinem stillen Kämmerlein geduldet... > Sagen wir es mal so: JosefG hat da durchaus etwas Beachtenswertes > gemacht. Nur ist der VHDL Code für einen Aussenstehenden absolut > unlesbar und deshalb das Konzept nicht nachvollziehbar. Und das kommt in > diesem Thread zur Diskussion. Nein IMHO ist der von Joseph genutzte Codierstil nicht die Ursache für die verbale Schulhofklopperei die hier abging und abgeht. Das war IMHO das leider nicht unübliche Bullying - das aggressive Dominiergehabe in das mensch verfällt wenn er intellektuell seinem Gegenüber nicht die Stirn bieten kann. Insofern ist die Kritik an die Moderatoren in diesem Fall meines Erachtens durchaus berechtigt. MfG,
Forscher schrieb: > Insofern ist die Kritik an die Moderatoren in diesem Fall meines > Erachtens durchaus berechtigt. Angekommen, aber ein Moderator kann nur was tun, wenn er von einem Fehlverhalten was erfährt. Ich kontrolliere nicht täglich sämtliche Threads, ob wieder mal einer aus der Reihe tanzt. Natürlich hat man so seine Kandidaten, die man im Auge behält, aber wenn mich ein Thema nicht interessiert, verlasse ich mich (bzw. wir uns) darauf, dass einer solche Beiträge meldet. Meistens funktioniert das auch ganz gut... Übrigens: wir schweifen deutlich vom Thema ab...
:
Bearbeitet durch Moderator
Anonymous schrieb: > 1. Wie programmiere ich in VHDL eine IF-Schleife? Gar nicht, so etwas gibt es nicht.
Mano Wee schrieb: > Anonymous schrieb: >> 1. Wie programmiere ich in VHDL eine IF-Schleife? > Gar nicht, so etwas gibt es nicht. Ist doch tatsächlich noch einer drauf reingefallen... :-o 3. gibt's übrigens auch nicht. Und 2. geht nicht und 4. wäre auch interessant... ;-)
Lothar Miller schrieb: > 3. gibt's übrigens auch nicht. Ja, leider, aber hat nicht der neue Virtex-7 eine proprietäre Hardware-Schnittstelle zum Sigentics Write Only Memory? http://www.repeater-builder.com/molotora/gontor/25120-bw.pdf
Cool, der fehlt eigentlich noch als Anhang zu den Sonderschaltungen für die Digitaltechnik. Kann man vielleicht mit ein paar NABER Gattern ansteuern.
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.