guten tag da ich zur zeit VHDL lernen will, habe ich paar fragen die ich nicht so verstehe. was ist der unterschied zwischen VHDL und fpga?? Programmiere ich über fpga den cpu?oder umgekehrt?? was will man mit VHDL oder FPGA erreichen?? wer weiss villeicht denkt ihr: ,,wie kann man so dumm fragen. würd mich freuen wenn ihr mir dabei hilft danke voraus
Schau dir doch mal http://www.mikrocontroller.net/articles/Programmierbare_Logik an, da sollte schnell klar werden was VHDL und FPGA ist. Wenn doch nicht, dann findest Du sicher auch was bei Wikipedia....
VHDL, ist eine Hardwarebeschreibungssprache, vergleichbar mit einer Programmiersprache, mit der es einfach möglich ist, komplizierte digitale Systeme zu beschreiben. Ein FPGA ist ein programmierbarer Integrierter Schaltkreis (IC) der Digitaltechnik. Die englische Abkürzung steht für Field Programmable Gate Array und kann als „Vor Ort modifizierbarer Logikbaustein“ übersetzt werden. Also ist VHDL die Sprache, mit der Du den FPGA programmierst. Alles klar?
http://de.wikipedia.org/wiki/FPGA http://de.wikipedia.org/wiki/Very_High_Speed_Integrated_Circuit_Hardware_Description_Language
Patrick wrote: ... > Also ist VHDL die Sprache, mit der Du den FPGA programmierst. Alles > klar? Das mag jetzt etwas penibel klingen, aber ich finde die Wortwahl nicht sehr sinnvoll. Gerade für einen Anfänger sollte der Unterschied zwischen der Programmierung einer CPU und der Entwicklung von digitaler Logik für einen FPGA klar gemacht werden. VHDL ist eine Hardwarebeschreibungssprache, mit der, wie der Name es sagt, Hardware beschrieben wird. Es ist keine Programmierung im Sinne einer Programmiersprache. Das Synthesetool übersetzt dann die Hardwarebeschreibung in eine Netzliste, die z.B. für einen speziellen FPGA implementiert werden kann. Programmiert wird dann der FPGA mit dem Bitstrom, der aus der Implementierung resultierte. Die unterschiedliche Sichtweise halte ich für wichtig, damit man bei der Hardwarebeschreibung nicht anfängt die Sprachkonstrukte von VHDL wie eine Programmiersprache zu nutzen.
Ich bedanke an allen die mir eine schnelle Anwort geschrieben haben Dankeschön... warum ich unbedingt den unterschied wissen wollte liegt es darum, weil ich ein Projekt bekommen habe. Es geht um Digitale In und Out mein Arbeitskollege hat mir dabei geholfen um den einstieg zu bekommen, hat mir das hier geschieben. Meine aufgabe ist ich soll die Daten schreiben und lesen und simulieren können, weil mir viel wiessen über VHDL fehlt krieg ich es nicht ihn LIBRARY ieee; USE ieee.std_logic_1164.ALL; USE ieee.std_logic_unsigned.all; USE ieee.numeric_std.ALL; ENTITY Cpu_testben IS END Cpu_testben; ARCHITECTURE behavior OF Cpu_testben IS -- Component Declaration for the Unit Under Test (UUT) COMPONENT CPU PORT( Data : INOUT std_logic_vector(15 downto 0); Addr : IN std_logic_vector(3 downto 0); SDRAM_Clock1 : IN std_logic; SDRAM_Clock2 : IN std_logic; Reset_n : IN std_logic; CS_n : IN std_logic; RD_n : IN std_logic; WR_n : IN std_logic; WAIT_n : IN std_logic; DIN : IN std_logic_vector(16 downto 1); DOUT : OUT std_logic_vector(16 downto 1) ); END COMPONENT; --Inputs signal Addr : std_logic_vector(3 downto 0) := (others => '0'); signal SDRAM_Clock1 : std_logic := '0'; signal SDRAM_Clock2 : std_logic := '0'; signal Reset_n : std_logic := '0'; signal CS_n : std_logic := '1'; signal RD_n : std_logic := '1'; signal WR_n : std_logic := '1'; signal WAIT_n : std_logic := '1'; signal DIN : std_logic_vector(16 downto 1) := (others => '0'); --BiDirs signal Data : std_logic_vector(15 downto 0); --Outputs signal DOUT : std_logic_vector(16 downto 1); CONSTANT clock_period : Time := 10 ns; signal clock: std_logic; BEGIN -- Instantiate the Unit Under Test (UUT) uut: CPU PORT MAP ( Data => Data, Addr => Addr, SDRAM_Clock1 => SDRAM_Clock1, SDRAM_Clock2 => SDRAM_Clock2, Reset_n => Reset_n, CS_n => CS_n, RD_n => RD_n, WR_n => WR_n, WAIT_n => WAIT_n, DIN => DIN, DOUT => DOUT ); -- No clocks detected in port list. Replace <clock> below with -- appropriate port name clock_process :process begin -- Schreib vorgang wait for 10 ns; -- 10ns lang LOW Reset_n <= '1'; wait for 5 ns; -- ab 15ns CS_n nach low ziehen Addr <= "0000"; -- Daten auf adres 0000 settings schreiben wait for 5 ns; -- ab 25ns Addr,Data,WR_n nach high ziehen CS_n <= '0'; wait for 5 ns; WR_n <= '0'; wait for 5 ns; Data <= "0000000001000000"; -- in 40hexideziml zahl wait for 5 ns; WR_n <= '1'; wait for 5 ns; CS_n <= '1'; wait; end process; Lesen_process :process begin wait for 10 ns; Addr <= "0000"; -- wait for 5 ns; CS_n <= '0'; wait for 15 ns; RD_n <= '0'; wait for 15 ns; RD_n <= '1'; -- wait for 20 ns; -- CS_n <= '0'; -- wait for 10 ns; -- 25ns lang LOW -- CS_n <= '1'; wait; end process; end;
Am besten ist wirklich, wenn Du Dir erstmal ein wenig Literatur zum Thema VHDL durchliest. Dann wird das ganze wesentlich verständlicher für Dich werden. Was Du da gepostet hast ist ein sogenannter Testbench. Das ist im Prinzip eine Simulation, wo nach deinen Vorgaben Signalpegel und Timing bestimmt und getestet werden können. In deinem Beispiel wird eine CPU getestet. Nachdem sie virtuell "verdrahtet" wurde ( -- Instantiate the Unit Under Test (UUT) ) kann man die Signale am Eingang festlegen und schauen was am Ausgang wieder raus kommt ;) Es gibt sehr viel leicht verständliche Literatur dazu, also einfach mal Onkel Google fragen :) http://www.google.de/search?q=VHDL+Tutorial
@Günter -.. [Schlaumeiermodus=on] VHDL ist keine Hardwarebeschreibungssprache sondern eine Systembeschreibungssprache. VHDL kann nämlich viel mehr, als Hardware je können wird. VHDL kann absolut und ganz ohne Probleme komplexe mathematische Probleme in beliebigen Zeitdimensionen beschreiben, für die es sicher keine Hardware gibt. [Schlaumeiermodus=off] ;-)
@ lkmiller: VHSIC HDL = VHDL da steckt der Begriff Hardwarebeschreibungssprache nun mal drin. Wenn Du das anders siehst solltest Du auch gleich sämtliche Wiki-Seiten zum Thema VHDL im Web updaten. Natürlich kann VHDL mehr, deshalb ist es auch eine faszinierende Sprache. Aber wofür setzt man sie praktisch ein? Um FPGAs oder ASICs zu entwickeln. Zur Simulation von Systemen geht z.B. MATLAB oder SystemC sicher besser. Also passt der Begriff schon.
@ lkmiller : Du hasst natürlich recht das sich die Sprache weiterentwickelt. Wenn du Funktionen ansprichst die nicht für die Hardwareimplementierung verwendet werden darfst du aber auch nicht vergessen das die Sprache ursprünglich zum modellieren verwendet wurde. Die synthesierbare Untermenge der Sprache wurde erst später festgelegt. Auch wird für die Verifikation eine wesentlich komplexerer Modellierung genutzt. So komplex, dass teilweise sich eigene Sprachen wie OpenVera oder e dafür entwickelt haben.
> VHDL ist dem Ursprung nach eine Simulationsprache! 2 Geschichte von VHDL VHDL wurde Usprünglich vom amerikanischen Verteidigungsministerium (Department of Defense) entwickelt. Man hat eine Sprache zur Hardwareentwicklung gebraucht, die maschinen- und menschenlesbar ist und den Entwickler dazu zwingt strukturiert und "leserlich" zu schreiben. Anfang der 70er Jahre wurde zum ersten mal über eine solche Hardwarebeschreibungssprache diskutiert. Zum ersten mal wurde VHDL dann 1987 standardisiert und 1993 aktualisiert. 1999 entstand VHDL-AMS, was eine Erweiterung von VHDL um analoge und mixed-signal Sprachelemente ist. VHDL-AMS ist damit eine Obermenge zu VHDL. Allerdings ist die Analogsynthese ein zu komplexes Feld und wird von VHDL-AMS ausgespart.[1] Quelle: http://www.uni-koblenz.de/~beckert/Lehre/Seminar-Formal-Methods/ko-seminarSS05-vhdl.pdf -> Siemers, Christian - Hardwaremodellierung, Hanser,2001 MfG Holger
Die Abkürzung bedeudet V HDL ... VLSI - Hardware Description Language also Hardware Beschreibungs Sprache. VHDL wurde für die Verifikation und Dokumentation eingeführt, Verifikation bedeudete damals Simulator. Später hat man die automat. Generierung einer Netzliste (Synthese) aus VHDL "erfunden", wobei man aber in VHDL so schreiben muss, dass es die Synthese vesteht. Hat den Vorteil das man mit den selben Quellen verfizieren und (PLD-) Schaltkreis basteln kann. Noch Fragen?
Very high speed integrated circuit Hardware Description Language Bodenseedamfschifffahrtsgesellschaftskapitänskajütentürklinkenputzer Noch Fragen?
Und damit ist es dem Wesen nach eine Simualtionssprache! Erst wurde gedacht, dann simuliert ,um zu verfizieren. Die Synthese ist ein neuerer Aspekt, der eine eingeschränkte Untermenge von VHDL nutzt. Daß HDL = Hardwarebeschreibungssprache heisst, steht dem nicht entgegen. Auch SPICE.net ist eine Simulationssprache, die faktisch Hardware bechreibt.
> was will man mit VHDL oder FPGA erreichen?? Man kann auf einer Platine sehr viel Platz sparren ;) Anstatt 5000 Gatter-Bausteine für eine Schaltung zu benutzen, reicht ein FPGA. Das FPGA wird mit VHDL programmiert und stellt somit die ganze Gatter-Verdrahtung intern dar. Ein FPGA kann außerdem jederzeit umprogrammiert werden, was gewissermaßen das Risiko eines Fehldesigns sinkt.
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.