<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://www.mikrocontroller.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=92.75.86.196</id>
	<title>Mikrocontroller.net - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://www.mikrocontroller.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=92.75.86.196"/>
	<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/articles/Spezial:Beitr%C3%A4ge/92.75.86.196"/>
	<updated>2026-04-09T22:28:45Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.39.7</generator>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Hardwarebeschreibungssprachen&amp;diff=63721</id>
		<title>Hardwarebeschreibungssprachen</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Hardwarebeschreibungssprachen&amp;diff=63721"/>
		<updated>2012-02-02T23:40:01Z</updated>

		<summary type="html">&lt;p&gt;92.75.86.196: fehler&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mit einer Hardwarebeschreibungssprache lässt sich das Verhalten von digitalen Schaltkreisen in Textform beschreiben. Aus dem Quelltext können dann z.&amp;amp;nbsp;B. Daten für die Programmierung von Logikbausteinen ([[FPGA]], [[CPLD]], [[GAL]]) gewonnen werden (Synthese), oder es lassen sich Simulationen durchführen.&lt;br /&gt;
Dabei muss man beachten, dass Hardwarebeschreibungssprachen zwar wie &amp;quot;normale&amp;quot; Programmiersprachen aussehen, es aber nicht sind! Sie beschreiben im wesentlichen eine parallel arbeitende Hardwarestruktur, im Gegensatz zu sequenziellen Ablauf einer Programmiersprache. Natürlich kann man auch sequentielle Abläufe in einer Hardwarebeschreibungssprache ausdrücken. Dazu verwendet man endliche Zustandsautomaten (engl. Finite State Machines).&lt;br /&gt;
&lt;br /&gt;
== ABEL ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;A&#039;&#039;&#039;dvanced &#039;&#039;&#039;B&#039;&#039;&#039;oolean &#039;&#039;&#039;E&#039;&#039;&#039;quation &#039;&#039;&#039;L&#039;&#039;&#039;anguage&lt;br /&gt;
&lt;br /&gt;
ABEL wird hauptsächlich für kleinere Aufgaben wie die Programmierung von [[GAL]]s und [[ISP]]s verwendet. Xilinx unterstützt ABEL als Beschreibungssprache für CPLDs (CoolRunner-Familie, XC95xxx-Familie)&lt;br /&gt;
&lt;br /&gt;
* [http://www.seas.upenn.edu/~ese201/abel/abel_primer.html ABEL-HDL Primer] - englischsprachige ABEL-Einführung von der University of Pennsylvania&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Advanced_Boolean_Equation_Language Eintrag deutsche Wikipedia] - Geschichte und Beispiel&lt;br /&gt;
&lt;br /&gt;
== AHDL == &lt;br /&gt;
Die &#039;&#039;&#039;A&#039;&#039;&#039;ltera &#039;&#039;&#039;H&#039;&#039;&#039;ardware &#039;&#039;&#039;D&#039;&#039;&#039;escription &#039;&#039;&#039;L&#039;&#039;&#039;anguage AHDL ist eine Weiterentwicklung von ABEL. Sie wird heute noch zur direkten Instanziierung von Altera Primitiven verwendet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GHDL == &lt;br /&gt;
Die &#039;&#039;&#039;Ge&#039;&#039;&#039;nrad &#039;&#039;&#039;H&#039;&#039;&#039;ardware &#039;&#039;&#039;D&#039;&#039;&#039;escription &#039;&#039;&#039;L&#039;&#039;&#039;anguage ist eine frühe Beschreibungssprache für GALs, PALs und PLDs von der Firma Genrad. Sie wird heute praktisch nicht mehr verwendet.&lt;br /&gt;
&lt;br /&gt;
== Verilog ==&lt;br /&gt;
[[Verilog]] wurde 1983 von der Firma Gateway Design Automation entwickelt. Zu diesem Zeitpunkt diente sie der Simulation/Verifikation, aber nicht der Synthese digitaler Schaltungen. Das gab dieser Sprache auch den Namen: &#039;&#039;Verifying Logic - Veri Log&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[Verilog]] ist vornehmlich auf dem amerikanischen Kontinent verbreitet.&lt;br /&gt;
&lt;br /&gt;
* [http://www.eg.bucknell.edu/~cs320/1995-fall/verilog-manual.html Verilog Handbook] nicht mehr online, als HTML und PDF noch hier zu finden:&lt;br /&gt;
http://web.archive.org/web/20060805053107/http://www.eg.bucknell.edu/~cs320/1995-fall/verilog-manual.html&lt;br /&gt;
http://web.archive.org/web/20060805053107/http://www.eg.bucknell.edu/~cs320/1995-fall/manual.pdf&lt;br /&gt;
* [http://www.stanford.edu/class/ee183/handouts_win2003/VerilogQuickRef.pdf Verilog Quick Reference]&lt;br /&gt;
* [http://www.fpga4fun.com/VerilogTips.html Verilog Tips and Tricks]&lt;br /&gt;
* [http://www.mikrocontroller.net/forum/read-9-398050.html Websites für Lernende]&lt;br /&gt;
* [http://www.pyroelectro.com/tutorials/verilog_intro/index.html An Introduction To Verilog] bei www.pyroelectro.com&lt;br /&gt;
&lt;br /&gt;
== VHDL ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;V&#039;&#039;&#039;ery High Speed Integrated Circuit &#039;&#039;&#039;H&#039;&#039;&#039;ardware &#039;&#039;&#039;D&#039;&#039;&#039;escription &#039;&#039;&#039;L&#039;&#039;&#039;anguage&lt;br /&gt;
&lt;br /&gt;
[[VHDL]] ist die in Europa vorwiegend verwendete Beschreibungssprache für digitale Schaltungen.&lt;br /&gt;
&lt;br /&gt;
* [[VHDL|FAQ, Kurzreferenzen, weitere Links]]&lt;br /&gt;
* [[VHDL_Schnipsel|kurze Beispiele]]&lt;br /&gt;
* [[Rechnen in VHDL]]&lt;br /&gt;
&lt;br /&gt;
== SystemC ==&lt;br /&gt;
[[SystemC]] ist im Gegensatz zu VHDL oder Verilog keine eigene Hardware-Beschreibungssprache sondern eine Klassenbibliothek für C++.&lt;br /&gt;
Mit SystemC ist es möglich Hardware abstrakt und auf der Register Transfer Ebene (RTL) zu beschreiben. Für eine Beschreibung auf RTL wurde ein VHDL ähnlicher Dialekt gebildet. Für SystemC gibt es zahlreiche Erweiterung wie zB. das Transaction-Level Modeling ([[TLM]]) mit dem es möglich ist komplette Protokolle nachzubilden, ohne sich Gedanken über die unteren Abstraktions Ebenen zu machen. Bisher ist es jedoch so, dass SystemC nicht ohne weiteres synthesefähig ist, dieses wird sich jedoch mittelfristig ändern. Schon jetzt ist es möglich mit highlevel Synthesen, C oder auch C++ Programme zu synthetisieren und diese auf einen FPGA zu programmieren.&lt;br /&gt;
&lt;br /&gt;
== VHDL-AMS ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;VHDL&#039;&#039;&#039; mit Erweiterungen für die &#039;&#039;&#039;A&#039;&#039;&#039;nalog/&#039;&#039;&#039;M&#039;&#039;&#039;ixed &#039;&#039;&#039;S&#039;&#039;&#039;ignal - Simulation. Diese Beschreibungssprache wird z.&amp;amp;nbsp;B. benutzt, um elektrodynamische und mechanische Modelle wie Bremsen, Motoren und Ähnliches in elektrische Schaltungssimulationen zu integrieren.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Weblinks ===&lt;br /&gt;
* Hiesiger thread: http://www.mikrocontroller.net/forum/read-9-358956.html&lt;br /&gt;
* http://www.syssim.ecs.soton.ac.uk/&lt;br /&gt;
* http://www.vhdl-ams.org/Tools/tools.html&lt;br /&gt;
* VHDL-AMS simulator (SEAMS), Version 1.1c (23 March 99): http://www.ececs.uc.edu/~dpl/distribution/packages/packages.html&lt;br /&gt;
* SMASH: http://www.dolphin-integration.com/medal/smash/smash_overview.html&lt;br /&gt;
* Simplorer oder hAMSter: http://www.ansoft.com/about/academics/simplorer_sv/index.cfm&lt;br /&gt;
* Linkliste: http://www.vlsi.informatik.tu-darmstadt.de/staff/klupsch/steffen-vhdlams_links.html&lt;br /&gt;
&lt;br /&gt;
=== Bücher ===&lt;br /&gt;
* VHDL-AMS. Mit CD. Anwendungen und industrieller Einsatz (Broschiert) von Yannick Herve, ISBN: 3486577875, 34,80 EUR, März 2006&lt;br /&gt;
&lt;br /&gt;
== Sonstige ==&lt;br /&gt;
* CUPL: Zu ABEL verwandte Sprache, wird von Atmel noch als WinCUPL für Atmel-CPLDs kostenlos bereitgestellt, aber nicht mehr gepflegt. (Der Texteditor stürzt beim Speichern ab und beendet das Programm - Abhilfe: Wordpad o.ä. benutzen)&lt;br /&gt;
* GHDL: Genrad&#039;s hardware description langugage, eine boolsche Sprache zur Beschreibung von [[GAL]]s und [[PAL]]s.&lt;br /&gt;
&lt;br /&gt;
[[Category:FPGA und Co| ]]&lt;br /&gt;
[[Kategorie:Programmiersprachen]]&lt;/div&gt;</summary>
		<author><name>92.75.86.196</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Reset_f%C3%BCr_FPGA/CPLD&amp;diff=63720</id>
		<title>Reset für FPGA/CPLD</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Reset_f%C3%BCr_FPGA/CPLD&amp;diff=63720"/>
		<updated>2012-02-02T23:38:56Z</updated>

		<summary type="html">&lt;p&gt;92.75.86.196: /* Siehe auch */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Wie jede digitale Schaltung mit FF benötigt auch ein FPGA-Design einen definierten Anfangszustand, den Resetzustand. Nach Art, Verteilung und Auslöser kann der Reset unterschieden werden zu:&lt;br /&gt;
&lt;br /&gt;
*synchroner, asynchroner Reset (FF mit synchronen oder asynchronen Set/Reset Eingängen)&lt;br /&gt;
*High oder Low-aktiver Reset (Der Resetzustand wird mit einer &#039;1&#039; oder &#039;0&#039; eingeleitet. Der Reset ist nie Flankengesteuert (?).&lt;br /&gt;
*Reset nach PowerUp, Abschluss FPGA-Laden, stabiles Taktsignal, externer Resetquelle oder Nutzer (Software) Auslösung.&lt;br /&gt;
* Verteilt über allgemeine Routing-Ressourcen oder globales Set/Reset-Netzwerk&lt;br /&gt;
&lt;br /&gt;
== Implementierung von FlipFlops/Registern mit verschiedenen Resetmöglichkeiten ==&lt;br /&gt;
&lt;br /&gt;
=== Kein Reset ===&lt;br /&gt;
&lt;br /&gt;
Nach dem Laden befindet sich der FPGA immer in einem definierten Zustand, alle Speicherelemente (FF, Schiebeketten, RAM) sind fest geladen. Es bedarf also keiner zusätzlichen Resetschaltung. Die Resetwerte bei Xilinx (VHDL, XST) werden durch den Initwert bei der Signal-Deklaration festgelegt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;vhdl&amp;gt;&lt;br /&gt;
signal is_0_after_FPGA_config: std_logic := &#039;0&#039;;&lt;br /&gt;
signal is_1_after_FPGA_config: std_logic := &#039;1&#039;;&lt;br /&gt;
&amp;lt;/vhdl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Manche Logikelemente (bei Xilinx: shift register SR16E) sind nicht mit einem Reset einsetzbar, die Synthese muss also mehr Aufwand betreiben (siehe [http://www.mikrocontroller.net/topic/74068 Beitrag im Forum]).&lt;br /&gt;
&lt;br /&gt;
Der Resetwert für Speicher kann in VHDL, im ucf oder durch Konfigurationsfiles (Coregen, EDK) definiert werden.&lt;br /&gt;
&lt;br /&gt;
=== Asynchroner Reset ===&lt;br /&gt;
&lt;br /&gt;
Traditionell am meisten eingesetzt wird der asynchrone Reset:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;vhdl&amp;gt;&lt;br /&gt;
process(clk, reset)&lt;br /&gt;
begin&lt;br /&gt;
  if reset = &#039;1&#039; then&lt;br /&gt;
    -- Initialisierung der Register&lt;br /&gt;
  elsif rising_edge(clk) then&lt;br /&gt;
    -- Kombinatorik&lt;br /&gt;
  end if;&lt;br /&gt;
end process;&lt;br /&gt;
&amp;lt;/vhdl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei ASICs ist er i.d.R. unverzichtbar, da diese nicht standardmäßig mit einem Initialwert geladen werden. Bei FPGA-Design wird er nur benötigt, wenn diese in einen ASIC überführt werden wollen. Bei reinen FPGA-Designs wird er meistens nicht verwendet. Er kann sogar zu Problemen führen, wenn die fallenden Flanke des Resetsignals zu einem ungünstigen Zeitpunkt kommt (Siehe [http://www.xilinx.com/support/documentation/white_papers/wp272.pdf Witepaper 272 bei Xilinx]). Je nach Logikdesign und der dadurch bedingten Auswirkung der Resetrücknahme, ist damit u.U. eine Verlängerung des Resetsignales so durchzuführen, daß das Löschen des Signals in jedem Falle ausserhalb des Bereiches möglicher Flankenwechsel des Systemtaktes erfolgen.&lt;br /&gt;
&lt;br /&gt;
Im Regelfall geschieht dies durch eine externe Synchronisation, z.B. einen Prozesssor oder einen anderen FPGA, der auf derselben Frequenz bzw einer Frequenz mit stes bekannter Phase läuft.&lt;br /&gt;
&lt;br /&gt;
Für [[FPGA]]s und [[PLD]]s ist es daher oftmals sinnvoller, einen synchronen Reset zu benutzen. Dabei ist darauf zu achten, daß das synchrone Resetsignal eine genügend lange Periode besitzt, um erfasst zu werden.&lt;br /&gt;
&lt;br /&gt;
=== Synchroner Reset ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;vhdl&amp;gt;&lt;br /&gt;
process(clk, reset)&lt;br /&gt;
begin&lt;br /&gt;
  if rising_edge(clk) then&lt;br /&gt;
    if reset = &#039;1&#039; then&lt;br /&gt;
      -- Initialisierung der Register&lt;br /&gt;
    else&lt;br /&gt;
      -- Kombinatorik&lt;br /&gt;
    end if;&lt;br /&gt;
  end if;&lt;br /&gt;
end process;&lt;br /&gt;
&amp;lt;/vhdl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Nutzung eines synchronen Resets, erfolgt durch das Eintakten / Einsynchronisieren des externen Resetsignals unbekannter Phasenlage und Länge, sodaß sichergestellt ist, daß der Resetimpuls überall innerhalb der verarbeitenden clock domain gleichzeitg anliegt und eine passende Länge hat.  Wird dies unterlassen, so kann aufgrund der Laufzeiten des Resetsignals und des Taktes im FPGA der Flankenwechsel des Resets von einem FF gerade erkannt und von einem anderen FF gerade verpasst werden, sodaß der Reset von unterschiedlichen Schaltungsteilen in zwei verschiedenen Taktperioden verarbeitet wird und die Schaltungsteile so &amp;quot;auseinanderlaufen&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Die Verwendung eines synchronen Resets erfordert u.U. mehr Resourcen. In Einzelfällen können die sich ergebenden Strukturen jedoch auch druch die Synthese mit anderen Schaltungsteilen und Anforderungen zusammengefasst werden.&lt;br /&gt;
&lt;br /&gt;
== Resetgenerierung ==&lt;br /&gt;
&lt;br /&gt;
Folgend ein Beispiel einer internen Resetschaltung (auch wenn dergleichen heute im FPGA-Bereich kaum noch nötig ist), die einen 16 Takte langen Reset-Impuls erzeugt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;vhdl&amp;gt;&lt;br /&gt;
--xilinx spartan3&lt;br /&gt;
--reset  using a 16bit shift register&lt;br /&gt;
&lt;br /&gt;
gen_dcm_srl : SRL16E&lt;br /&gt;
&lt;br /&gt;
 GENERIC MAP (INIT =&amp;gt; X&amp;quot;FFFF&amp;quot;)   -- a  16 clk long &#039;1&#039; -pulse&lt;br /&gt;
 PORT MAP (&lt;br /&gt;
 Q =&amp;gt; rst_dcm_geseco,    --the reset signal for the rest of the design        &lt;br /&gt;
 A0 =&amp;gt; &#039;1&#039;,              --determines length Shiftreg (15+1 bit)  &lt;br /&gt;
 A1 =&amp;gt; &#039;1&#039;,&lt;br /&gt;
 A2 =&amp;gt; &#039;1&#039;,&lt;br /&gt;
 A3 =&amp;gt; &#039;1&#039;,&lt;br /&gt;
 CE =&amp;gt; Locked_DCM_MBSYS, --release reset pulse (here when clock is stable) &lt;br /&gt;
 CLK =&amp;gt; CLK96,           --its a synchronous reset   &lt;br /&gt;
 D =&amp;gt; &#039;0&#039;);              -- non-reset is &#039;0&#039; (high active reset)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/vhdl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Logische Resets ==&lt;br /&gt;
Neben dem physikalischen Reset, der meist alle FFs gleichzeitig in einen Startzustand versetzt, benötigen viele Applikationen einen logisch neutralen Zustand mit z.&amp;amp;nbsp;B. inaktiven Ausgängen, wodurch teilweise weitere Resetzustände definiert werden müssen. Meist wird hier eine Art Warmstart-Zustand definiert. Auch ist es oft wünschenswert, dass nur Schaltungsteile neu gestartet werden, wenn Fehlfunktionen detektiert wurden, oder die Schaltung in Bereitschaft gesetzt werden soll, während andere essenzielle Funktionen aufrechterhalten werden sollen. Pipelines, algorithmische Rechenblöcke und untergeordnete state machines sind z.&amp;amp;nbsp;B. solche Schaltungsteile.&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
&lt;br /&gt;
http://www.mikrocontroller.net/articles/VHDL#Synchroner_oder_asynchroner_Reset&lt;br /&gt;
&lt;br /&gt;
* Beiträge zum Thema im Forum: http://www.mikrocontroller.net/forum/9?filter=reset*&lt;br /&gt;
&lt;br /&gt;
[[Kategorie: FPGA und Co]]&lt;/div&gt;</summary>
		<author><name>92.75.86.196</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Hardwarebeschreibungssprachen&amp;diff=63719</id>
		<title>Hardwarebeschreibungssprachen</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Hardwarebeschreibungssprachen&amp;diff=63719"/>
		<updated>2012-02-02T23:35:38Z</updated>

		<summary type="html">&lt;p&gt;92.75.86.196: /* Sonstige */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mit einer Hardwarebeschreibungssprache lässt sich das Verhalten von digitalen Schaltkreisen in Textform beschreiben. Aus dem Quelltext können dann z.&amp;amp;nbsp;B. Daten für die Programmierung von Logikbausteinen ([[FPGA]], [[CPLD]], [[GAL]]) gewonnen werden (Synthese), oder es lassen sich Simulationen durchführen.&lt;br /&gt;
Dabei muss man beachten, dass Hardwarebeschreibungssprachen zwar wie &amp;quot;normale&amp;quot; Programmiersprachen aussehen, es aber nicht sind! Sie beschreiben im wesentlichen eine parallel arbeitende Hardwarestruktur, im Gegensatz zu sequenziellen Ablauf einer Programmiersprache. Natürlich kann man auch sequentielle Abläufe in einer Hardwarebeschreibungssprache ausdrücken. Dazu verwendet man endliche Zustandsautomaten (engl. Finite State Machines).&lt;br /&gt;
&lt;br /&gt;
== ABEL ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;A&#039;&#039;&#039;dvanced &#039;&#039;&#039;B&#039;&#039;&#039;oolean &#039;&#039;&#039;E&#039;&#039;&#039;quation &#039;&#039;&#039;L&#039;&#039;&#039;anguage&lt;br /&gt;
&lt;br /&gt;
ABEL wird hauptsächlich für kleinere Aufgaben wie die Programmierung von [[GAL]]s und [[ISP]]s verwendet. Xilinx unterstützt ABEL als Beschreibungssprache für CPLDs (CoolRunner-Familie, XC95xxx-Familie)&lt;br /&gt;
&lt;br /&gt;
* [http://www.seas.upenn.edu/~ese201/abel/abel_primer.html ABEL-HDL Primer] - englischsprachige ABEL-Einführung von der University of Pennsylvania&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Advanced_Boolean_Equation_Language Eintrag deutsche Wikipedia] - Geschichte und Beispiel&lt;br /&gt;
&lt;br /&gt;
== AHDL == &lt;br /&gt;
Die &#039;&#039;&#039;A&#039;&#039;&#039;ltera &#039;&#039;&#039;H&#039;&#039;&#039;ardware &#039;&#039;&#039;D&#039;&#039;&#039;escription &#039;&#039;&#039;L&#039;&#039;&#039;anguage AHDL ist eine Weiterentwicklung von ABEL. Sie wird heute noch zur direkten Instanziierung von Altera Primitiven verwendet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GHDL == &lt;br /&gt;
Die &#039;&#039;&#039;Ge&#039;&#039;&#039;nrad &#039;&#039;&#039;H&#039;&#039;&#039;ardware &#039;&#039;&#039;D&#039;&#039;&#039;escription &#039;&#039;&#039;L&#039;&#039;&#039;anguage ist eine frühe Beschreibungssprache für GALs, PALs und PLDs von der Firma Genrad. Sie wird heute praktisch nicht mehr verwendet.&lt;br /&gt;
&lt;br /&gt;
== Verilog ==&lt;br /&gt;
[[Verilog]] wurde 1983 von der Firma Gateway Design Automation entwickelt. Zu diesem Zeitpunkt diente sie der Simulation/Verifikation, aber nicht der Synthese digitaler Schaltungen. Das gab dieser Sprache auch den Namen: &#039;&#039;Verifying Logic - Veri Log&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[Verilog]] ist vornehmlich auf dem amerikanischen Kontinent verbreitet.&lt;br /&gt;
&lt;br /&gt;
* [http://www.eg.bucknell.edu/~cs320/1995-fall/verilog-manual.html Verilog Handbook] nicht mehr online, als HTML und PDF noch hier zu finden:&lt;br /&gt;
http://web.archive.org/web/20060805053107/http://www.eg.bucknell.edu/~cs320/1995-fall/verilog-manual.html&lt;br /&gt;
http://web.archive.org/web/20060805053107/http://www.eg.bucknell.edu/~cs320/1995-fall/manual.pdf&lt;br /&gt;
* [http://www.stanford.edu/class/ee183/handouts_win2003/VerilogQuickRef.pdf Verilog Quick Reference]&lt;br /&gt;
* [http://www.fpga4fun.com/VerilogTips.html Verilog Tips and Tricks]&lt;br /&gt;
* [http://www.mikrocontroller.net/forum/read-9-398050.html Websites für Lernende]&lt;br /&gt;
* [http://www.pyroelectro.com/tutorials/verilog_intro/index.html An Introduction To Verilog] bei www.pyroelectro.com&lt;br /&gt;
&lt;br /&gt;
== VHDL ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;V&#039;&#039;&#039;ery High Speed Integrated Circuit &#039;&#039;&#039;H&#039;&#039;&#039;ardware &#039;&#039;&#039;D&#039;&#039;&#039;escription &#039;&#039;&#039;L&#039;&#039;&#039;anguage&lt;br /&gt;
&lt;br /&gt;
[[VHDL]] ist die in Europa vorwiegend verwendete Beschreibungssprache für digitale Schaltungen.&lt;br /&gt;
&lt;br /&gt;
* [[VHDL|FAQ, Kurzreferenzen, weitere Links]]&lt;br /&gt;
* [[VHDL_Schnipsel|kurze Beispiele]]&lt;br /&gt;
* [[Rechnen in VHDL]]&lt;br /&gt;
&lt;br /&gt;
== SystemC ==&lt;br /&gt;
[[SystemC]] ist im Gegensatz zu VHDL oder Verilog keine eigene Hardware-Beschreibungssprache sondern eine Klassenbibliothek für C++.&lt;br /&gt;
Mit SystemC ist es möglich Hardware abstrakt und auf der Register Transfer Ebene (RTL) zu beschreiben. Für eine Beschreibung auf RTL wurde ein VHDL ähnlicher Dialekt gebildet. Für SystemC gibt es zahlreiche Erweiterung wie zB. das Transaction-Level Modeling ([[TLM]]) mit dem es möglich ist komplette Protokolle nachzubilden, ohne sich Gedanken über die unteren Abstraktions Ebenen zu machen. Bisher ist es jedoch so, dass SystemC nicht ohne weiteres synthesefähig ist, dieses wird sich jedoch mittelfristig ändern. Schon jetzt ist es möglich mit highlevel Synthesen, C oder auch C++ Programme zu synthetisieren und diese auf einen FPGA zu programmieren.&lt;br /&gt;
&lt;br /&gt;
== VHDL-AMS ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;VHDL&#039;&#039;&#039; mit Erweiterungen für die &#039;&#039;&#039;A&#039;&#039;&#039;nalog/&#039;&#039;&#039;M&#039;&#039;&#039;ixed &#039;&#039;&#039;S&#039;&#039;&#039;ignal - Simulation. Diese Beschreibungssprache wird z.&amp;amp;nbsp;B. benutzt, um elektrodynamische und mechanische Modelle wie Bremsen, Motoren und Ähnliches in elektrische Schaltungssimulationen zu integrieren.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Weblinks ===&lt;br /&gt;
* Hiesiger thread: http://www.mikrocontroller.net/forum/read-9-358956.html&lt;br /&gt;
* http://www.syssim.ecs.soton.ac.uk/&lt;br /&gt;
* http://www.vhdl-ams.org/Tools/tools.html&lt;br /&gt;
* VHDL-AMS simulator (SEAMS), Version 1.1c (23 March 99): http://www.ececs.uc.edu/~dpl/distribution/packages/packages.html&lt;br /&gt;
* SMASH: http://www.dolphin-integration.com/medal/smash/smash_overview.html&lt;br /&gt;
* Simplorer oder hAMSter: http://www.ansoft.com/about/academics/simplorer_sv/index.cfm&lt;br /&gt;
* Linkliste: http://www.vlsi.informatik.tu-darmstadt.de/staff/klupsch/steffen-vhdlams_links.html&lt;br /&gt;
&lt;br /&gt;
=== Bücher ===&lt;br /&gt;
* VHDL-AMS. Mit CD. Anwendungen und industrieller Einsatz (Broschiert) von Yannick Herve, ISBN: 3486577875, 34,80 EUR, März 2006&lt;br /&gt;
&lt;br /&gt;
== Sonstige ==&lt;br /&gt;
* CUPL: Zu ABEL verwandte Sprache, wird von Atmel noch als WinCUPL für Atmel-CPLDs kostenlos bereitgestellt, aber nicht mehr gepflegt. (Der Texteditor stürzt beim Speichern ab und beendet das Programm - Abhilfe: Wordpad o.ä. benutzen)&lt;br /&gt;
* GHDL: Genrad&#039;s hardware description langugage, eine boolsche Sprache zur Beschreibung von [[GAL]]s und [[PAL]]s.&lt;br /&gt;
&lt;br /&gt;
[[Category:FPGA und Co| ]]&lt;br /&gt;
[[Kategorie:FPGA]]&lt;br /&gt;
[[Kategorie:Programmiersprachen]]&lt;/div&gt;</summary>
		<author><name>92.75.86.196</name></author>
	</entry>
</feed>