User Tools

Site Tools


geda:systemc_netlister_readme

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
geda:systemc_netlister_readme [2009/02/07 19:52]
ales Changed all geda.seul.org links to www.gpleda.org
geda:systemc_netlister_readme [2012/02/22 18:20]
kokr gpleda -> geda-project
Line 1: Line 1:
 +====== SystemC netlister README ======
 +<​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-project.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);​
 + }
 + };
 +
 +</​code>​
geda/systemc_netlister_readme.txt ยท Last modified: 2012/02/22 18:20 by kokr