← Back to team overview

kicad-developers team mailing list archive

Re: IPC-2581

 

This might be a good time to discuss industry standards and how they are
currently undergoing a massive change that the Kicad team could help  with.



Standards have in the past been created by large formal organizations like
the IEEE for the entire industry.They were written in a very strict and
formal language
and had to be complete and unambiguous. They were written by professionals
who did that for a living.

If there was a error or omission in a standard then correcting it, getting
all the reviews and approvals, re-releasing a revised standard, changing
all the EDA tools
using it and getting the end user to change all of their accumulated IP
could easily take 10 years.

The verilog standard was revised in 1995 to allow for port creation in one
line instead of two. It was 2005 before the design team that I was on
allowed us to use
 the new standard in our coding. It took us that long  to prove that all of
our tools were correct and we could trust our tool flow with production
code.


I'm sorry IEEE but I have a problem and I need a a working solution by
Friday. You are fired. You can no longer control the standards that I use.

This has already happened. Nobody goes to the verilog standard for answers
about the language. The official solution is to write a test case and run
it under verilogXL
 to see what it does. EDA  tool smiths are no longer implementing
standards, they are creating them. Gerber created the PCB standard. Kicad 5
will create its own standard
and all the standard committee can do is to document it.


We need to work with these groups not to ask them what we should support
but to tell them what we are doing and let them follow us. We can also pick
up some good ideas as
to what other groups are doing.

We don't argue in a committee but rather release everything and let the
market decide. Open source can win in that arena. If we get it wrong then
theres always the next revision.


So what can the Kicad team do? If any new release breaks designs created
under the old release then provide tools and instructions for converting
the end users IP to run under the new release.
 Otherwise its a huge mess. Icarus verilog did a new release for version 10
that fixed an "off-by-one" error in its LOG function. Now its a complete
mess because old code has to be rewritten before
 it can be used with any new code. When you make a change you must also
come up with a plan for all the old IP. Make it easy for the end user to
use your tool.



John Eaton

Follow ups

References