Index: trunk/doc/examples/non-graphical/index.html =================================================================== --- trunk/doc/examples/non-graphical/index.html (revision 7098) +++ trunk/doc/examples/non-graphical/index.html (revision 7099) @@ -3,7 +3,8 @@
- This is a proposal at this stage - any detail may change any time + This is a proposal at this stage - any detail may change any time. This +feature is not yet implemented.
Sometimes a design is easier specified by text than drawing. Typical examples:
+In some cases parts of the design can be specified using repetitive patterns. +An easy way to handle this is to write a script that generates a graphical +sheet or a non-graphical sheet using a declarative sytnax. +
+If that script is written in fawk, sch-rnd can run it without having to +generate and parse the declarative intermediate. This feature is limited +to fawk because: +
+A simple example script, r2r.fawk generates +5 bits of the classic R2R DAC. It can be configured by changing the values +in main(). +
+The script doesn't emit a netlist or declarative tEDAx non-graphical sheet. +The result can be observed in sch-rnd by loading only the fakw script +as a sheet and using the abstract model dialog. +
+(An alternative is implementing the cschem functions locally, as vararg +fawk funcitons and make them print to stdout using fawk_print(). Then the +script can be ran and debugged independently of cschem, using the example +libfawk command line interpreter.) +
+Functions provided by sch-rnd: +
function | description + |
---|---|
acomp_attr(name, key, val, ...); + | create a component by name, or add to existing component by that name; + add key=val pairs of attributes; this is a vararg function. + |
anet_attr(name, key, val, ...); + | create a network by name, or add to existing network by that name; + add key=val pairs of attributes; this is a vararg function. + + |
aconn(netname, compname, termname, ...); + | create a network by netname, or extend existing network by that name; + connect terminal(s) addressed by (compname-termname); this is a vararg function. + + |