<!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<user_type>). 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->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<user_type> | algorithm | b<float> | sink | | OUT|__ _________ __|IN OUT|__ _____ __|IN | | | | | | | | infile.data| | | | outfile.data| |____________| |_____________| |_____________| Attributes: Schematic: module_name=test_sch2sysc Wires: netname=a<user_type> netname=b<float> Symbols: refdes=src1 attr1=infile.data refdes=alg1 refdes=snk1 attr1=outfile.data refdes=pina refdes=pinb SystemC: #include "systemc.h" #include "sink.h" #include "source.h" #include "algorithm.h" SC_MODULE (test_sch2sysc) { /* Port directions begin here */ /* Wires from the design */ sc_signal<float> b; sc_signal<packet_type> a; /* Package instantiations */ sink snk1; source src1; algorithm alg1; SC_CTOR(test_sch2sysc): snk1("snk1","outfile.data"), src1("src1","infile.data"), alg1("alg1") { snk1.IN(b); src1.OUT(a); alg1.IN(a); alg1.OUT(b); } }; </pre> </div> </div> </body> </html>