pcb-rnd knowledge pool
The Big Data Model Cleanup - midpoint summary
data3 by Tibor 'Igor2' Palinkas on 2017-10-01
Tags: insight, data, model, rewrite, cleanup, footprint, layer
Abstract: All the work with the layer rewrite, subcircuits and padstacks are not just random features. These are all parts of a bigger plan, an idea that has been floating on the geda-user mailing list for many years: a data model cleanup.
This idea had many manifestations from requests of footprint features that could not be fulfilled because of the limited data model to support of hierarchical netlists. Seemingly unrelated, random features that in turn lead to the fundamental limitations of the old data model.
After about a year of work, I decided to draw a full roadmap of the effort:
Green items are done, red items will be done during the next months.
By the number of items we are about halfway through the plan, but the first few items (new native file format, layer rewrite, layer compositing and subcircuits) needed much more work than some of the later items will. I'd say by the amount of work we are about 70..75% done.
What we'd have at the end:
- a layer model that supports compositing and can capture reality more closely (already done)
- unlimited footprints by subcircuits (already done)
- unlimited pad shapes (already done, with subcircuit "heavy model")
- pad stacks: much less limited vias/pins/light-model-pads with bbvia
- a much simpler, more orthogonal, easier to understand and extend data model
- more precise import/export from/to other EDA systems as our model will support most features other EDA systems do
- a lot of element-related special-case code removal -> smaller, cleaner code