Our Goal is to push the application capability to design and develop a complete end hardware product. I am pleased to announce that with each design created with circuit tree the design would bundle layout footprints along with the schematics. The footprints are currently in eagle format and porting to other EDA cad format is ongoing.
In addition the application is able to provide intelligent placement of component based on the required board outline. Option is given for the User to select a dxf file from a menu option or can provide his/her dxf file. The component auto-placement algorithm looks at following parameters:
1. Board outline
2. Holes position
3. Placement restriction, top and bottom side
4. Components type and component footprints
5. Netlist relation of the component.
6. Plenty of other secret sauce.
The end results of auto-placement algorithm are interesting. Some of the interesting insights we see here
1. Most of the decoupling capacitors are placed close to the IC pins. [Check the present tool Limitation covered in the blog post]
2. The components such as crystal, clocks osscilator are placed close to the receiver.
3. Most of the Connectors are placed close to the edges with correct orientation for easy plug in of cables.
4. Unlike other EDA components placement power components are placed to allow planes or thick traces to connect the components from far off positions. Circuit Tree does not try to minimise the power distances. It would try to keep linear power regulators close the components which needs it and would keep switching regulator far off.
5. Ethernet transceivers and ethernet magnetics are placed close by as needed.
6. Irrespective of the shape of the board the component placement is correct for the all use cases tested.
7. Components were not placed in the holes or placement restricted areas.
8. Component placement is done on top and bottom layer and emphasis is to have sufficient separation so that components don’t overlap.
Circuit tree application results delight us as we are usually not prepared to see a machine able to achieve quite human like performance. Some of the auto-placement examples which we captured during our testing are shown below:
Ongoing further work in this area:
1.Currently DXF import is restricted to certain design formats. We would like to make it universal to allow all dxf files.
2. We would like to offer option to allow user to generate smallest size board placement. Here circuit Tree would suggest the board outline which can recommend smallest size board based on the component present.
3. Option for user to move components on the board as per his requirement and use the auto-placement algorithm to regenerate the board placement based. Other option would be to allow users to select placement on top/bottom or both sides, define placement boundaries etc.
The goal of this new feature is to offer component footprints and auto-placement of components such that auto router can be used to route the board. This will reduce the turnaround time of design and provide quick prototype testing with minimal effort.