HW Design
What
Designing the HW.
How
The dish
Designing the HW.
Ingredients
- Exact Requirements (HW timing, etc.)
- Class Diagram and a short description
- State Machine Diagrams
- Use Cases
- Sequence Diagrams expressing the dynamics of the system
- Results from the Function Analysis
- Results from the User Interface Analysis
- Results from the System Interface Analysis
- Component diagram
- Design Criteria
- Block Diagram
Process
Use the block diagram design to develop the HW.
Each block must be divided into smaller parts. Specify each part considering all input and output. What is the function of the specific part?
Throughout the entire process it is important to consider the design criteria and the exact requirements.
The demands in the design criteria and the exact requirements are the most important demands in the development of the system-to-be. Do not ever compromise these demands. Always ensure that these demands are included in the design of the construction right from the start. It is unethically, seen from a constructional point of view, to postpone e.g. the EMC demands until the very end.
When you develop HW, you should always investigate the design other developers have made. The other developers have most likely been considering more or less the same that you do. If possible, talk to other developers! If they can help, you will save time. It is also possible that the part you have to develop already exists, or that only small changes are needed to make it suit your project.
Every developer has tried to make mistakes in a development project. It is part of the process. These mistakes are, in larger companies, often collected and stored. If you can get hold of these, it is worth reading. It is an easy (cheap) way to learn. It is also a good idea to make your own collection of mistakes. Write them down and store them for later use.
Why
In order to make the best HW design, it is important to collect the necessary information. This information is taken from the design criteria etc. which have been identified earlier in the project. It is also important to get information from others because it is rare that the part that is to be developed has not previously been developed.
Continue to Implementation.