1. How will the web application actually create a embedded hardware design?
A user will use have a requirement editor where the left menu will contain the component menu containing processors/microcontrollers, commonly used peripherals such as ethernet, usb , displays, different type of memories , GPIO's, ADC's, connectors etc. A user will drag and drop components to the canvas and describe the power requirement for the board. The power input can be have values from 3V to 26V assuming one power input only.
The web application will send the data to the backend engine which then parses the board requirements for the design looking at the peripheral connected, processor requirements, clock , resets, power sequencing requirements etc to choose parts and then automatically create a fresh embedded design drawing which would be visible on the schematic viewer. The design generated by the application can then be exported to a PCB design tool such as eagle and altium.
Here is the feature list that the application can support at the moment:
- Selects processor multiplexed pins which can be used for the interface
- Finds components which are compatible with the processor interfaces
- Creates dynamic circuits and connections for the components selected
- Locates power, clock, reset, and power supply requirements for the circuit
- Optimizes and selects lowest power voltages for the circuit
- Produces switching or linear power circuit, based on the circuit requirement
- Parses clock requirements and finds the connectivity solution for single, differential, crystal and more
- Determines reset distribution on board
- Calculates power sequencing solution for all selected components on board
- Generates dynamic symbols for website and connectivity
- Constructs custom headers for different circuits
- Builds Bill of Material and Netlist
- Validates the design created by the website by checking connections
2. What is the backend engine?
Backend engine is a brains of the application. In simple terms
1. It contains hardware knowledge of all the components in the database. It parses the requirements and selects components which are best suited and decides when to change circuit connections based on different component conditions.
2. It generates files which help the web application to create dynamic viewable symbols, with connections which helps in producing easy to understand drawings.
3. How will the application help to simplify hardware embedded designs?
Designing with complex processors such as Nvdia tegra, TI TMS320DM8148 is difficult. The semiconductors vendors offer plenty of pages of design documentation and errata which needs to be read in fine print. In addition plenty of other component datasheets need to be read and selected to see if the interface compatibility and the functionality can be met. All this takes design time and additional time is again needed for verification. Time between the design release to product testing is quite large and not easily changeable.
The application has large component and connection knowledge bank which helps in reducing time to market. In the requirement editor the components, processors, connections routing etc can help to quickly modify the design and help in saving 4-6 weeks of design effort in creating designs.
We also plan to create options to generated designs based on different board form factors in upcoming months. This would help meet any board requirements.
4. Reference designs are provided by semiconductor vendors. Why someone should not use them as reference?
Sure the designs are already proven. However picking a existing design and modifying it is not always straightforward. Try adding /changing components in the design to see the effort it takes.
5. How open will the design be?
Use of web application to create designs and view the designs would remain open to everyone.
6. Challenges with the project:
1. Components: Each component file is custom created which is the data we scrap through the datasheets, reference manuals...Read more »