- Most ECAD tools do not allow opening, checking and editing of multiple designs simultaneously.
- We need real hierarchic and modular designs.
- We need a text based, machine and human readable format for design files.
- Design checks provided by common ECAD tools are way too superficial and trivial.
- Style guides must be checked against.
- The tool must be highly scripting capable (Everything that can be done via the GUI must also be possible via commandline or script.).
- We want to do agile hardware develpment which requires the features mentioned above.
- The tool must be open sourced.
- Currently the GUI is under construction.
- Your feedback and collaboration is highly welcome !
- native Linux support
- ASCII / text based design and device model files - optimized for version control with GIT
- human readable and editable design and model files
- multi-schematic/board/layout support
- true hierarchic and modular design with interfaces at the module boundaries
- submodules instantiated in parent module by reference
- extensive design rule checking (device prefixes, purpose of user-interactive devices, partcodes, pinout of board-to-board connections ...)
- interfacing with system modeling tools
- A module file (containing schematic and layout stuff) looks like this https://github.com/Blunk-electronic/ET_training/blob/master/demo/heater_driver.mod
- An example script file can be seen here https://github.com/Blunk-electronic/ET_training/blob/master/demo/test_device_commands.scr
- There is a strict separation between symbol, package/footprint and device:
- Device model https://github.com/Blunk-electronic/ET_component_library/blob/master/devices/active/logic/7400_ext.dev
- Symbol model https://github.com/Blunk-electronic/ET_component_library/blob/master/symbols/logic/NAND.sym
- Package model https://github.com/Blunk-electronic/ET_component_library/blob/master/packages/S_SO14.pac
- A so called rig-configuration that describes module instances and board-to-board connections https://github.com/Blunk-electronic/ET_training/blob/master/demo/demo.rig
A dummy project to test the code and to show features can be found in the repository at https://github.com/Blunk-electronic/ET_training. You should clone it in a test directory like:
cd tmp
git clone git@github.com:Blunk-electronic/ET_training.gitParallel to to the demo project you need the component libraries:
git clone git@github.com:Blunk-electronic/ET_component_library.gitFinally you shuld have these two directories:
ls
ET_component_library ET_trainingNow change in to the demo project:
cd ET_trainingStart ET along with the demo project:
et --open-project demoThe directory you are currently in contains some other test projects which are currently not used.
Now you should see the schematic editor and the layout editor window with a useless dummy project.
For debugging the log level can be specified:
et --open-project demo --log-level 5The debug and messages log can be found in file ET/reports/messages.log. The greater the log level, the more messages will the log file contain.
Useful for testing is the feature to execute a script right away on opening the project:
et --open-project demo --log-level 4 --script demo/test_schematic_group.scr User Manual http://www.blunk-electronic.de/ET/pdf/caesystemet.pdf
Documentation uses Sphinx. The required Python dependencies can be installed using uv:
uv syncand built with:
cd doc
uv run make htmlFor those interested in the basic mechanisms of the canvas engine, a textbook is available at http://www.blunk-electronic.de/en/index.html.
-
Currently there is no proper install script.
-
Install the following packages:
- the GNAT Ada compiler (version 9 or later). It should come along with major linux distros.
- make
- gprbuild
- gtkada
-
Find a installation howto for gtkada and gprbuild here https://github.com/Blunk-electronic/ada_training
-
Change into src/et and follow the instructions in readme.txt.
- The only programming language that provides a robust and strong typing system is Ada.
- Objects and structures within a schematic, library and board layout are very very complex things and require sound modeling.
- If saftey/mission critical and military applications use Ada, then is must be good for an advanced ECAD system as well.
- Ada is defined by ISO/IEC 8652:2012 and MIL-STD-1815
- Ada is beautiful :-)
Your help is appreciated and is highly welcome ! For most of the issues below a separate issue exists on the GitHub page. All code must be written in Ada for the reasons mentioned above.
- graphical editors for symbol, package/footprint and device models
- CAM processor
- export PDF, PNG, ...
- import and append native ET modules to current active module
- import EAGLE and KiCad projects and component libraries
- realization of true hierarchical design
- net converter checks connector pinouts of modules
- zero-Ohms resistors
- accessories of components (screws, washers, clamps, ...)
- web browser support so that ET can be operated on every operating system
- a nice web site for the project

