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

Re: gEDA-user: Missing the printable docs for gschem




On Nov 29, 2007, at 6:49 AM, Ben Jackson wrote:

On Thu, Nov 29, 2007 at 06:46:02AM +0900, John Doty wrote:

Make a symbol representing the subcircuit. Include the attribute
source=whatever.sch, where whatever.sch is the schematic of the
subcircuit. In whatever.sch, attach input and output symbols from the
"io" symbol library.

I was thinking gschem could use a 'make symbol' wizard for that.  It'd
be nice if you could draw a subcircuit and just have the IO pins turn
into a simple boxsym automatically.  It would make it much easier to
build hierarchical schematics that have a nice, clear toplevel block
diagram as the first sheet.

How would it know how to arrange the pins?

The example symbol I posted started as a tragesym description:

# This is the template file for creating symbols with tragesym
# every line starting with '#' is a comment line.

[options]
# wordswap swaps labels if the pin is on the right side an looks like this:
#   "PB1 (CLK)". That's useful for micro controller port labels
# rotate_labels rotates the pintext of top and bottom pins
#   this is useful for large symbols like FPGAs with more than 100 pins
# sort_labels will sort the pins by it's labels
#   useful for address ports, busses, ...
wordswap=yes
rotate_labels=yes
sort_labels=no
generate_pinseq=yes
sym_width=1400
pinwidthvertical=300
pinwidthhorizontal=300

[geda_attr]
# name will be printed in the top of the symbol
# name is only some graphical text, not an attribute
# version specifies a gschem version.
# if you have a device with slots, you'll have to use slot= and slotdef=
# use comment= if there are special information you want to add
version=20071026
name=SeqCell
device=SeqCell
refdes=X?
footprint=unknown
description=Sequencer building block
documentation=
author=jpd
dist-license=Creative Commons Share Alike
use-license=Creative Commons Share Alike
numslots=0
#slot=1
#slotdef=1:
#slotdef=2:
#slotdef=3:
#slotdef=4:
#comment=
#comment=
#comment=

[pins]
# tabseparated list of pin descriptions
# ----------------------------------------
# pinnr is the physical number of the pin
# seq is the pinseq= attribute, leave it blank if it doesn't matter
# type can be (in, out, io, oc, oe, pas, tp, tri, clk, pwr)
# style can be (line,dot,clk,dotclk,none). none if only want to add a net
# posit. can be (l,r,t,b) or empty for nets
# net specifies the name of the net. Vcc or GND for example.
# label represents the pinlabel.
#	negation lines can be added with "\_" example: \_enable\_ 
#	if you want to write a "\" use "\\" as escape sequence
#-----------------------------------------------------
#pinnr	seq	type	style	posit.	net	label	
#-----------------------------------------------------
1	1	in	dot	l		\_J1A\_
2	2	in	dot	l		\_J1B\_
3	3	in	dot	l		\_K1A\_
4	4	in	dot	l		\_K1B\_
5	5	in	dotclk	l		\_CLK\_
6	6	in	dot	l		\_J2A\_
7	7	in	dot	l		\_J2B\_
8	8	in	dot	l		\_K2A\_
9	9	in	dot	l		\_K2B\_
10	10	out	line	r		Q1
11	11	out	line	r		Q2
12	12	pwr	line	t		+3.3D
13	13	pwr	line	b		Gnd
		



I note that another interesting use of this gschem/gnetlist feature is to keep all of those hidden power and ground nets organized, since nets in a subcircuit instance are separate from others of the same name unless you connect them explicitly (as I did in this example).


--
Ben Jackson AD7GD
<ben@xxxxxxx>
http://www.ben.com/


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

John Doty              Noqsi Aerospace, Ltd.
http://www.noqsi.com/
jpd@xxxxxxxxx



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