aboutsummaryrefslogtreecommitdiff
path: root/VHDL.wiki
diff options
context:
space:
mode:
authorHugo Hörnquist <hugo@lysator.liu.se>2019-02-19 11:02:38 +0100
committerHugo Hörnquist <hugo@lysator.liu.se>2019-02-19 11:02:38 +0100
commit07d0bbb46c68c9343874c698d97521826d88e201 (patch)
treefb74a86c8455b0f5eefa75b1b809796baa4754ab /VHDL.wiki
parentTue, 19 Feb 2019 10:50:17 +0100 (diff)
downloadwiki-public-07d0bbb46c68c9343874c698d97521826d88e201.tar.gz
wiki-public-07d0bbb46c68c9343874c698d97521826d88e201.tar.xz
Tue, 19 Feb 2019 11:02:38 +0100
Diffstat (limited to 'VHDL.wiki')
-rw-r--r--VHDL.wiki52
1 files changed, 39 insertions, 13 deletions
diff --git a/VHDL.wiki b/VHDL.wiki
index b9f29f2..cbe64a2 100644
--- a/VHDL.wiki
+++ b/VHDL.wiki
@@ -1,28 +1,32 @@
= Contents =
- [[#VHDL|VHDL]]
- - [[#VHDL#"Kod"|"Kod"]]
+ - [[#VHDL#Generell struktur|Generell struktur]]
- [[#VHDL#Exempelkrets|Exempelkrets]]
- [[#VHDL#Datatytper|Datatytper]]
- [[#VHDL#Datatytper#std_logic|std_logic]]
- [[#VHDL#Datatytper#std_logic_vector|std_logic_vector]]
+ - [[#VHDL#Typer av satser|Typer av satser]]
+ - [[#VHDL#Typer av satser#process|process]]
+ - [[#VHDL#Annat trevligt|Annat trevligt]]
+ - [[#VHDL#Annat trevligt#`with-select-when`|`with-select-when`]]
+ - [[#VHDL#Annat trevligt#`when-else`|`when-else`]]
= VHDL =
-VHDL = VHSIC HDL
-VHSIC = Very High Speed Integrated Circuits
-HDL = Hardware Description Language
+- VHDL :: VHSIC HDL
+- VHSIC :: Very High Speed Integrated Circuits
+- HDL :: Hardware Description Language
-Verilog mer hacker-vänligt
-Vanligare i USA
+Verilog mer hacker-vänligt, vanligare i USA
VHDL vanligare i Europa
-== "Kod" ==
+== Generell struktur ==
-Gränssnitt mot omvänden
+Gränssnitt mot omvärlden
{{{vhdl
entity namen1 is
- -- beskrivningav in och utgångar
+ -- Beskrivning av in och utgångar
end entity namn1;
}}}
@@ -31,7 +35,7 @@ Intern implementation.
architecture namn2 of namn1 is
-- beskrivning av interna signaler
begin
- -- beskrvining av funktion
+ -- Beskrivning av funktion
end architecture namn2;
}}}
@@ -41,9 +45,9 @@ Uttrycket
{{$
\begin{aligned}
-\text{låt } x &= a \wedge b \\
- y &= a \vee b \\
-\text{i } c &= \neg (x \vee y)
+c &= \neg (x \vee y) \\
+\text{där } x &= a \wedge b \\
+ y &= a \vee b
\end{aligned}
}}$
@@ -103,3 +107,25 @@ std_logic_vector (0 to 2);
std_logic_vector (5 downto 2);
}}}
+== Typer av satser ==
+
+Allting i VHDL är paralellt by default, dock finns:
+
+=== process ===
+`process` låter ett block köra i sekventiell ordning. Dock kör alla
+`process`-block paralellt gämte varandra.
+
+== Annat trevligt ==
+
+=== `with-select-when` ===
+
+=== `when-else` ===
+Tillåter "krångliga" uttryck i högerledet.
+
+Första sanna villkoret bestämmer. Allting körs parallellt?
+
+{{{VHDL
+y <= d(0) when s = "00" else
+ d(1) when s = "01" else
+ d(2);
+}}}