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

Re: gEDA-user: Schematic Level DRC DIscussion



On Nov 7, 2007, at 5:17 PM, Chris Albertson wrote:

> On 11/6/07, Dave N6NZ <n6nz@xxxxxxxx> wrote:
>>
>> Steve Meier wrote:
>>
>>> What do we expect the schematic DRC to catch?
>>
>> The problems that apply to *my* situation and *my* technology.  Also,
>> violations of the in-house design style guides that only I use -- for
>> instance, require a partnum attribute whose value exists in the
>> purchasing database.
>>
>> In other words, generic DRC is largely pointless.  DRC should be
>> implemented as a DRC engine and a rules database.  Of course, one  
>> hopes
>> that a (or two or three) good, reasonably generic rule sets can ship
>> with the release.  End users can start with that and tweak to  
>> their own
>> needs.
>>
>> The trick, it seems to me, is to come up with a clean and readable
>> syntax for the rule set.  The language needs to be declarative at its
>> core, and allow user plug-ins written in C (so that I can run SQL
>> queries against my parts database, for instance.)
>
> Have you looked at Prolog?  It is an interesting language.   A Prolog
> program is a set of patterns and actions.  For example to write a  
> sortting
> program you could give as a pattern "x[i] >x[i+1]" and the action  
> would
> be the exchange x[i] and x[i+1].  In Prolog data and program have the
> same syntax

Yes. Like Lisp. And our DRC back ends are already written in Guile, a  
Lisp dialect.

>
> For DRC in Prolog, one way would be to first "facts" about the  
> devices and
> the pins.  These "facts could be written in Prolog and stored with  
> the symbol.
> Rules would be patterns. These are declaritive and would say things  
> like
> Power inputs must by connected to power sources.  Source must be able
> to drive loads,....
>
> One of the nice things about adopting an existing language is that  
> there
> are existing interpreters and impotently books and tutorials.

Yes. We already have such a language, Guile. It makes little sense to  
me to create an additional dependency on another similar language.

>
> People have written very complex programs in Prolog, several so called
> "expert systems" and it would be agood way to implement features like
> autoplacement and autorouting.
> -- 
> =====
> Chris Albertson
> Redondo Beach, California
>
>
> _______________________________________________
> 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