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

Re: gEDA-user: DRC rule structure



On Sun, Aug 15, 2010 at 01:11:15PM -0500, John Griessen wrote:
> Andrew Poelstra wrote:
> 
> >So here is my proposal for structuring DRC rules.
> .
> .
> >Each rule is composed of a Filter, to choose which parts the rule applies to,
> >and a Rule, to specify the parameters these parts must conform to. Both the
> >Filter and the Rule will be the same data structure: let's call it a Range,
> >to choose a word at random.
> >
> >A Range:
> >  1. Can be composed of other ranges, by AND, OR and NOT operators, or
> >  2. Is composed of:
> >    o A textual attribute name that makes sense for the given components
> >    o An operator: <, <=, ==, >=, >, %, "matches", "is present" (unary)
> >    o An integer value for the integral operators
> >    o A string value for the "matches" operator
> >
> >The string value would support the wildcards ? and * for single- and multi-
> >character matching.
> 
> Sounds good.  Do you imagine constructing a set of objects, (a LISP list maybe),
> that belong to a range after the filters are done, and then doing operations
> on it such as sum up number values of capacitance?

Hmm. The only "persistent" use for ranges I was considering, was to build
views out of them in PCB. By default, we will create an "everything" view,
along with views for each functional block - since functional blocks will
be assigned by a simple functional-block attribute. There will be nothing
stopping the user from making views to filter on any attribute.

> If you maintain these ranges
> between times and only change them as an object is added or edited, you don't need
> to "run DRC on all" very often...  good for DRC as you go with low
> cost of computer power.
> 

For a real-time DRC, it would be very smart to keep ranges around and only
manipulate them when necessary, as you say. I think that will be enough to
keep a real-time DRC running cheaply - only starting up will be slow.


Andrew
 


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