Update wiki pages
[geda-gaf.git] / docs / wiki / geda-systemc_netlister_readme.html
blobe9b835ea51822df284edd7960d6957f308c07da0
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3 <html>
4 <head>
5 <link rel="stylesheet" media="screen" type="text/css" href="./style.css" />
6 <link rel="stylesheet" media="screen" type="text/css" href="./design.css" />
7 <link rel="stylesheet" media="print" type="text/css" href="./print.css" />
9 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
10 </head>
11 <body>
13 <h1 class="sectionedit1" id="systemc_netlister_readme">SystemC netlister README</h1>
14 <div class="level1">
15 <pre class="code">TITLE:
17 Gnetlist SystemC Backend
19 OBJECTIVE:
21 Transform a geda schematic into a transaction based structural systemc module.
23 LIMITATIONS:
25 1.- Only transaction based wires are considered (wire_name&lt;user_type&gt;).
26 2.- Unnamed wires are eliminated.
27 3.- In/out ports have to be inserted manually in the sysc code.
28 4.- Duplicated include headers are not eliminated by the backend.
29 5.- The maximum number of object constructor parameters is 31 (attr1-&gt;attr31).
31 LINKS:
33 GPL Electronic Design Automation (geda-gnetlist): http://www.geda-project.org
34 SystemC: http://www.systemc.org
36 ACK:
38 Based on gnet-verilog.scm by Mike Jarabek.
40 EXAMPLE:
42 Schematic:
44 src1 alg1 snk1
45 ______________ _______________ _______________
46 | source | a&lt;user_type&gt; | algorithm | b&lt;float&gt; | sink |
47 | OUT|__ _________ __|IN OUT|__ _____ __|IN |
48 | | | | | |
49 | infile.data| | | | outfile.data|
50 |____________| |_____________| |_____________|
53 Attributes:
55 Schematic:
56 module_name=test_sch2sysc
58 Wires:
59 netname=a&lt;user_type&gt;
60 netname=b&lt;float&gt;
61 Symbols:
62 refdes=src1 attr1=infile.data
63 refdes=alg1
64 refdes=snk1 attr1=outfile.data
65 refdes=pina
66 refdes=pinb
68 SystemC:
70 #include &quot;systemc.h&quot;
71 #include &quot;sink.h&quot;
72 #include &quot;source.h&quot;
73 #include &quot;algorithm.h&quot;
75 SC_MODULE (test_sch2sysc)
77 /* Port directions begin here */
79 /* Wires from the design */
80 sc_signal&lt;float&gt; b;
81 sc_signal&lt;packet_type&gt; a;
83 /* Package instantiations */
84 sink snk1;
85 source src1;
86 algorithm alg1;
88 SC_CTOR(test_sch2sysc):
89 snk1(&quot;snk1&quot;,&quot;outfile.data&quot;),
90 src1(&quot;src1&quot;,&quot;infile.data&quot;),
91 alg1(&quot;alg1&quot;)
93 snk1.IN(b);
94 src1.OUT(a);
95 alg1.IN(a);
96 alg1.OUT(b);
99 </pre>
101 </div>
102 </body>
103 </html>