[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

gEDA-user: verilog-ams netlisting from gschem so gnucap can run it



I've gotten the gnetlist scheme backend from Mike Jarabek, gnet-verilog.scm, changed some so statements come out
in one line for readability, and have read up on verilog-ams.   It seems to put the usual values
we have on a schematic, value=1K, for instance into a simulation, you use a feature of verilog-ams
that is not generated now by gnet-verilog.scm.  You have a verilog statement that instantiates a verilog module,
creating a level of hierarchy, where the placed module can be more wiring and placements inside, or a behavioral model (called 
signal flow system in verilog-ams), or a structural model, (called conservative system in verilog-ams).  If the placed
module is a model, you can override its parameter values, and that's where we want to put in the value=1000 data from our schematics.

Here's a placed resistor statement, (inside of the top module of a verilog netlist -- see the whole thing below)

res R1 ( .n(B), .p(A));

It has no value associated.

What I am thinking is to take value from schematic placements as meaning "the main parameter",
like r = resistance, c = capacitance, etc. and apply that with what is called "parameter value assignment by order" in 
verilog-ams.  Then the above statement instantiating a resistor model would look like:

res #(1000) R1 ( .n(B), .p(A));

This gets the data, 1000, from an attrib on R1 of the schematic, value=1000 without knowing it replaces parameter
r = 0, the default r value for the resistor model, with r = 1000.  There's no need to know the first parameter name, and
we can generate netlists from plain ordinary schematics or sections of schematics originally aimed at pcb production.

John Griessen







==========================================================
module verilog_io (    GND ,    C ,    A  );

/* Port directions begin here */
inout GND ;
inout C ;
inout A ;


/* Wires from the design */
electrical B ;
electrical GND ;
electrical C ;
electrical A ;

/* continuous assignments */

/* Package instantiations */
cap C1 ( .p(B), .n(GND));

ind L1 ( .n(C), .p(B));

res R1 ( .n(B), .p(A));

endmodule


-- 
Ecosensory   Austin TX


_______________________________________________
geda-user mailing list
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user