Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 917b12189aa1c35ab526605d1d1ac12b > files > 280

geda-docs-1.4.3-1mdv2010.0.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"
 lang="en" dir="ltr">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>geda:systemc_netlister_readme</title>
<meta name="generator" content="DokuWiki Release rc2007-05-24" />
<meta name="robots" content="index,follow" />
<meta name="date" content="2007-05-24T22:27:24-0400" />
<meta name="keywords" content="geda,systemc_netlister_readme" />
<link rel="search" type="application/opensearchdescription+xml" href="http://geda.seul.org/wiki/lib/exe/opensearch.php" title="geda Wiki" />
<link rel="start" href="http://geda.seul.org/wiki/" />
<link rel="contents" href="http://geda.seul.org/wiki/geda:systemc_netlister_readme?do=index" title="Index" />
<link rel="alternate" type="application/rss+xml" title="Recent Changes" href="http://geda.seul.org/wiki/feed.php" />
<link rel="alternate" type="application/rss+xml" title="Current Namespace" href="http://geda.seul.org/wiki/feed.php?mode=list&ns=geda" />
<link rel="alternate" type="text/html" title="Plain HTML" href="http://geda.seul.org/wiki/_export/xhtml/geda:systemc_netlister_readme" />
<link rel="alternate" type="text/plain" title="Wiki Markup" href="http://geda.seul.org/wiki/_export/raw/geda:systemc_netlister_readme" />
<link rel="stylesheet" media="all" type="text/css" href="lib/exe/css" />
<link rel="stylesheet" media="screen" type="text/css" href="lib/exe/001css" />
<link rel="stylesheet" media="print" type="text/css" href="lib/exe/002css" />
</head>
<body>
<div class="dokuwiki export">



<h1><a name="systemc_netlister_readme" id="systemc_netlister_readme">SystemC netlister README</a></h1>
<div class="level1">
<pre class="code">TITLE:

     Gnetlist SystemC Backend

OBJECTIVE:

     Transform a geda schematic into a transaction based structural systemc module.

LIMITATIONS:

     1.- Only transaction based wires are considered (wire_name&lt;user_type&gt;).
     2.- Unnamed wires are eliminated.
     3.- In/out ports have to be inserted manually in the sysc code.
     4.- Duplicated include headers are not eliminated by the backend.
     5.- The maximum number of object constructor parameters is 31 (attr1-&gt;attr31).

LINKS:

     GPL Electronic Design Automation (geda-gnetlist): http://www.geda.seul.org
     SystemC: http://www.systemc.org

ACK:

     Based on gnet-verilog.scm by Mike Jarabek.

EXAMPLE:

     Schematic:

     src1                         alg1                      snk1
     ______________               _______________           _______________
     | source     |  a&lt;user_type&gt; |  algorithm  |  b&lt;float&gt; |        sink |
     |         OUT|__ _________ __|IN        OUT|__ _____ __|IN           |
     |            |               |             |           |             |
     | infile.data|               |             |           | outfile.data|
     |____________|               |_____________|           |_____________|


     Attributes:

            Schematic:
                     module_name=test_sch2sysc
     
            Wires:
                     netname=a&lt;user_type&gt;
                     netname=b&lt;float&gt;
            Symbols:
                     refdes=src1 attr1=infile.data
                     refdes=alg1
                     refdes=snk1 attr1=outfile.data
                     refdes=pina
                     refdes=pinb

     SystemC:

		#include &quot;systemc.h&quot;
		#include &quot;sink.h&quot;
		#include &quot;source.h&quot;
		#include &quot;algorithm.h&quot;

		SC_MODULE (test_sch2sysc)
		{
			/* Port directions begin here */

		 	/* Wires from the design */
			sc_signal&lt;float&gt; b;
			sc_signal&lt;packet_type&gt; a;
	
			/* Package instantiations */
			sink snk1;
			source src1;
			algorithm alg1;

			SC_CTOR(test_sch2sysc):
				snk1(&quot;snk1&quot;,&quot;outfile.data&quot;),
				src1(&quot;src1&quot;,&quot;infile.data&quot;),
				alg1(&quot;alg1&quot;)
			{
				snk1.IN(b);
			  	src1.OUT(a);
			  	alg1.IN(a);
			  	alg1.OUT(b);
			}
		};

</pre>

</div>
</div>
</body>
</html>