WARNING: the gEDA project is not actively developed anymore. You may want to switch to the Ringdove EDA project which is similar in spirit but is active.

User Tools

Site Tools

search

geda:systemc_netlister_readme

SystemC netlister README

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): httphttp://www.repo.hu/projects/geda-archive/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);
			}
		};
geda/systemc_netlister_readme.txt · Last modified: 2012/02/22 18:20 by kokr