-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
96 lines (78 loc) · 3.84 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
<html>
<head><title>GHDL interfaces and extensions</title></head>
<body>
<pre><i><font size="-1">index.html : created by Yann Guidon / ygdes.com
The files in this subdirectory are released in the hope that they are helpful or entertaining, no warranty yada yada...
You use a high level language so you're a grown up now.
version 2011/05/08</font></i></pre>
<br>
<h2>GHDL interfaces and extensions</h2>
<p>I own the copyright on these files and they are distributed under the terms of the <a href="gpl-3.0.txt">GNU GPLv3</a>.
They support articles that have been published to spread the knowledge and use of <a href="http://ghdl.free.fr">GHDL</a>
but they are not officially part of this simulator.
</p>
<p>
They provide and demonstrate interesting and useful features
for interactive simulations. They also show advanced and special coding
techniques that could give you other ideas to extend GHDL for your own projects.
</p>
<p>You can download the whole directory with this archive : <a href="ghdl_extra.tgz">ghdl_extra.tgz</a>.
</p>
<p><a href="clk">GHDL/clk/</a><br>
<i>Article : published in <a href="http://www.ed-diamond.com/produit.php?ref=lmag128">GNU/Linux Magazine France #128</a>, june2010</i><br>
Generates a "real time clock", which helps slowing
down a simulation. The clock period is given as a
generic in milliseconds, though the system calls
will usually round up this if you're not careful.
It's quite useful if you want to synchronise a
testbench at a few Hz.
</p>
<p><a href="fb">GHDL/fb/</a><br>
<i>Article : published in <a href="http://www.ed-diamond.com/produit.php?ref=lmag130">GNU/Linux Magazine France #130</a>, september 2010</i><br>
adds a simple and nicely working interface
to the Linux framebuffer in 32-bit mode (RGBA).
It needs to be enhanced in the future but it's
powerful enough for doing nice pictures...
</p>
<p><a href="ghdl_env/">GHDL/ghdl_env/</a><br>
<i>Article : published in <a href="http://www.ed-diamond.com/produit.php?ref=lmag131">GNU/Linux Magazine France #131</a></i><br>
Adds a "getenv" function that reads
the requested environment variable and returns an integer or a string.
</p>
<p><a href="7segments">GHDL/7segments/</a><br>
<i>Article : published in <a href="http://www.ed-diamond.com/produit.php?ref=lmhs51">GNU/Linux Magazine France #HS51</a>, november 2010</i><br>
creates a 7-segment display, using the /fb/ and /clk/ package.
</p>
<p><a href="lfsr4">GHDL/lfsr4/</a><br>
<i>Article : published in <a href="http://www.ed-diamond.com/produit.php?ref=os1">OpenSilicium #1</a>, december 2010</i><br>
it's a scalable 4-xor LFSR, from 5 taps to 786, very handy !
</p>
<p><a href="io_port">GHDL/io_port/</a><br>
<i>Article : published in <a href="http://www.ed-diamond.com/produit.php?ref=lmag133">GNU/Linux Magazine France #133</a>, december 2010</i><br>
read the parallel printer port's status signals
and turn them into VHDL signals. A really primitive
sketching application is shown as example
(using /fb/ and /clk/).
</p>
<p><a href="int_bool">GHDL/int_bool/</a><br>
<i>Article : published in <a href="http://www.ed-diamond.com/produit.php?ref=lmag136">GNU/Linux Magazine France #136</a>, march 2011</i><br>
int_ops.c and int_ops.vhdl provide boolean/logic operations to VHDL's
integer type. An intermediate type is provided by 4 packages with
different properties and a microbenchmark implements the SHA1
algorithm to demonstrate the speedup that behavioural simulation can benefit from.
</p>
<p><a href="access_c">GHDL/access_c/</a><br>
This shows how GHDL can access variables located in a C module, using the <i>access</i> type (sort of pointer).
</p>
<p><a href="direct_c">GHDL/direct_c/</a><br>
This shows how a C module can access a shared variable in a VHDL package, using the <i>extern</i> keyword.
However it is a more brittle method than the previous one.
</p>
<pre>
...
</pre>
<p>
More to come in the future...
</p>
</body>
</html>