delorie.com/archives/browse.cgi   search  
Mail Archives: geda-user/2015/10/12/18:00:18

X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f
X-Recipient: geda-user AT delorie DOT com
X-Envelope-From: paubert AT iram DOT es
Date: Tue, 13 Oct 2015 00:00:05 +0200
From: "Gabriel Paubert (paubert AT iram DOT es) [via geda-user AT delorie DOT com]" <geda-user AT delorie DOT com>
To: geda-user AT delorie DOT com
Subject: Re: [geda-user] A lesson from gnet-makefile
Message-ID: <20151012220005.GC11989@visitor2.iram.es>
References: <1042003D-82E2-40F0-AB60-8186580C46AD AT noqsi DOT com>
MIME-Version: 1.0
In-Reply-To: <1042003D-82E2-40F0-AB60-8186580C46AD@noqsi.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Spamina-Bogosity: Unsure
X-Spamina-Spam-Score: -1.0 (-)
X-Spamina-Spam-Report: Content analysis details: (-1.0 points)
pts rule name description
---- ---------------------- --------------------------------------------------
-1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP
-0.0 BAYES_40 BODY: Bayes spam probability is 20 to 40%
[score: 0.3626]
Reply-To: geda-user AT delorie DOT com
Errors-To: nobody AT delorie DOT com
X-Mailing-List: geda-user AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

On Mon, Oct 12, 2015 at 12:25:40PM -0600, John Doty wrote:
> Folks,
> 
> I had thought that the lack of a way to access attributes other than netname= on a net via gnetlist was a serious barrier to the back end writer. However, for gnet-makefile.scm  I find myself using the attributes of the attached symbols as a rich source of information about the net. Is this perhaps the best approach anyway?
> 
> Nets in a schematic represent collapsed topology, not geometry or even the complete topology. The layout system is responsible for these things. A schematic doesn’t capture the relationships between the net segments. Some paths on a net may carry large currents, but others may not. Pairs of nets may represent balanced transmission lines.
> 
> But, suppose instead that we had a pin attribute that said “this pin may draw three amps”. The netlister could then deduce which paths on a net need extra conductor.

That's exactly what I was thinking. For currents at least, knowing
know how much current flows in and out of each pin. 

I believe that we have to make the value signed, to be able to
distinguish between providers (voltage regulators and similar) 
and consumers. 

Should the consumers be the ones with negative values? 
This does not sound very intuitive at first and they are the majority, 
but they are the current sinks. On the other hand, a power net typicaly
has only one source (I'm aware of current sharing schemes, they do exist
but they are not the common case).

Alternatively use the pintype attribute but split the power one into two
categories: pwrout and pwrin.

However there are often chips with multiple power pins connected to the
same supply and the only value of the datasheet is the sum of the currents 
sinked by all the pins. In some cases, you can estimate that the current
will be equally shared among the pins (LT8612 might be a good example),
but not in others. To be fair, I've only encountered the latter case when
the sum of the currents is low enough not to matter.

> 
> Suppose a resistor had an attribute that meant  “100 ohm shunt terminator”. Imagine a component with a pair of pins identified by an attribute as a differential input. Put them on the same pair of nets, and the netlister could deduce that the pair is a balanced transmission line and the the resistor needs to be close to the input.
> 
> Of course, we’d need a layout program that could accept this info.

Indeed, and while autorouters may help in some cases, the general
feeling among the few professional PCB designers I've met is that 
auto placement is typically poor, to put it mildly. The problem is 
much harder than autorouting, and it shows.

For the PCB designer who takes the netlists I produce for CadStar,
I did create special graphical symbols which define differential
pairs and adds the relevant attributes to the nets. The slightly
annoying part is that each differential pair symbol needs a "bus_name" 
atribute which has to be manually added, avoiding duplicates.

    Gabriel

- Raw text -


  webmaster     delorie software   privacy  
  Copyright 2019   by DJ Delorie     Updated Jul 2019