Friday, August 11, 2017

Hardware Design Flow

Hardware Design Flow:
       Hardware design is very crucial in Electronics Product Design, if we have any errors (Shorts or Open) in the design then it will lead to till the product end. So each and every step in hardware circuit design should be monitored for error free designs.
All the circuit hardware designs will get through the following process.
         Creating Block Diagram for the Product
Here, we will have all the blocks involved in the product say, Power supply, Processor, Memory, Interfacing connectors like USB and all other circuit blocks, by this way we can get the possibility to check what is missing, how they have been connected, where the signal is coming from whether its bi-directional or not. Block diagram also will help us to troubleshoot the circuit.
         Splitting up the big circuit design in to blocks
By this way, we can concentrate only on one section at a time and start creating circuit for that section alone, so we can get it done correctly without any errors.
         Merging all different block circuit and complete the whole circuit design.
         Checking the design for shorts and opens.
         Generating the output to be given to the next level process.

Schematics circuit design flow:
            All the circuits have been created only in PC by using design software and the company decides to choose the software to be used and all it is depend on customer and their country.
            The Major processes in both Schematics and PCB Layout design are similar, but under these there may be some sub process to complete the design.

Schematics design                                                 PCB design
         Library Creation                                              Footprint Creation
         Placing Symbols                                              Placement
         Wiring                                                            Routing
         DRC Check                                                     DRC  Check                                                
         Generating Outputs                                        Generating Outputs

Library Creation:
      This is the first very basic step in the schematics design, here we will create symbols or parts to be used in our design like ICs, connectors and all the required parts.
Tool might have some default parts in their Inbuilt Library like Resistors, Capacitors, Inductors, Diodes, Jumpers, Headers and some small pin count ICs and some large pin out ICs even, we can directly use those if that fits with our design, if not we have create it and use.









Symbol or part creation generally will be in two types.
         Homogeneous Parts
         Heterogeneous Parts

Homogeneous parts
Homogeneous parts are like small pin count ICs say 10pins, 20 pins and all pins can be grouped and accommodate it in a single diagram. And there is a general rule of thumb to group and create Homogeneous parts. We can create Homogeneous parts for maximum pin count IC of 100, if it contains more pins in Homogeneous part then we will lose that readability and the schematics circuit will look wired
The Homogeneous pins will be grouped in to four types and they will be placed at default location in the symbol diagram. Pin groups will be,
         Power Pins
         Ground Pins
         Input Pins
         Output Pins


By this way of creating symbols or parts for ICs, it will be easy to create schematic circuits and it will be easy to read or study the schematics and more over the schematics will look neat and clean. So by simply seeing any schematics designed by others, we can say Inputs are coming to the ICs from left side of it and Outputs are going to other ICs from the right side of it and power and grounds are connected to it at top and bottom sides.
There are more other types of pins and they are,
         Bidirectional
         Open collector
         Open Emitter
         3 state
         Passive
         Configuration Pins
         Clock Pins
         Control Pins
         Command Pins
         Data Pins
         Address Pins
         No Connect Pins (NC)
         Reserved Pins

Heterogeneous Parts
            These are parts which will be created for ICs have more pin count like 512 pins BGA, in this part creation we have to group the pins first as per the functionalities and have to create symbol diagram for each pin groups separately like one for Power pin group, one for Ground pin group, one for Data pin group and so on by splitting the whole IC symbol into many. So this will be also called as Split parts.
By using Heterogeneous parts, we can reduce the symbol size and so by reducing the complexity in reading of schematic circuits. We can place these split parts where ever required and make connection thereby we will have clean and neat readable schematics circuits.

Here, the single 512-BGA IC has been split into 3 parts and hence its called as Heterogeneous part. Lets say like, U1 has been split into U1-A, U1-B & U1-C.
We can have more split parts for an IC based on the pin groups and the pin counts. The split parts can be suffixed either by letter as like above U1-A, U1-B & U1-C.or by numbers U1-1, U1-2 & U1-3.
Notes on Library creation
         The symbol should be either Homogeneous or Heterogeneous.
         Each pin on every symbol should have unique name and number like
VCC1 – 1
VCC2 – 2
CLK – 3
DATA – 4
IO – 5
It should not have same name and number for two or more pins
VCC – 1                           CLK – 3
VCC – 2                           DATA – 3
         It should have Reference Designator (Ref Des) like U, R, C, J, D
         It should have PCB Footprint name like DIP20, SOIC-32, R0603
         It should contain name or part number or value to represent.
         Important thing is, GRID should be enabled in the TOOL while creating parts, otherwise the created symbol could not sit on the GRID in the schematic page and its pin will not get connected with the wire to make connection. This should be checked always.
Library Creation Flow:
         Add rectangle
         Place Pins (Either by single or by Array)
         Name and number the pins
         Assign Pin Type
         Save the Library
If we assign pin type as POWER then the name of the pin will be act as net name and it get connected automatically in schematic design when we use this symbol or part.
Let’s say, if we assign type for the pin VCC1 – 1 as power then pin 1 will connect to pins of other ICs directly which have the same name as VCC1. And if we connect the same pin with other signal or net say 3.3V then we will get an error of saying that VCC1 & 3.3V got shorted.

Schematic Page Order:
Once all the required Library Symbols or parts have been created, it has to bring in to the schematics circuit design tool and place it as per the Block say if it is Memory block and their symbols have to be placed and wiring (Connection) should be done.
All our schematics circuits will be created on more number of pages based on the blocks being used, so we have to follow some sort of ordering format to arrange these pages. This arranging format will give clear understanding of the Whole Product design by seeing itself.
         Title Page
         Block Diagram
         System Power Supplies
         FPGA Power Supplies
         FPGA Configuration Circuits
         FPGA Bank IO 0-1
         FPGA Bank IO 2-3
         Memory Power Supplies
         Memory Data Bank
         Memory Address Control Circuits
          
          
          
         Interfacing Connectors


Schematic Design Terms:


Net:
This is referred to the connections between two or more pins. Example, U5.5, U5.7 & U10.3 got connected
Net Name:
This is referred to the name of the NET. Example “Data1”
Net Alias:
We can connect two or more pins by assigning name to it. Refer “Data1” in the following. It will connect with the same name within a page. And it is mainly used to avoid confusing connection by using wires and directly connecting, refer connections U5.2 & U10.1

If we didn’t assign any Net name then system will assign it automatically by start with N series number like N0000343.
BUS:
Bus means a group of signals named under a common name. The some examples of bus are,
         Address Bus
         Data Bus
         Control Bus
“Data{0..7}” means contains 8 different signals in one common name.
         Data0
         Data1
         Data2
         Data3
         Data4
         Data5
         Data6
         Data7
Either we can use “Data{0..7}” or “Data{0:7}” to denote bus name.
Netlist:
This is list containing information of all available nets and all available parts in that particular schematic design.
U2       DIP-08
U5       SO-08
U10     SOIC-08
Data1
U2.4, U10.5
N0000343
U5.5, U5.7, U10.3
.
It is very important to remember “ALWAYS GRID SHOULD BE ENABLED” before starting circuit design or even work on the Library and schematics.
In order to make connection between two or more pins on two or more schematic pages, we have to use “off page” to make connection, it will also work like” Net Alias” but connect between different pages. Refer U10.7 “Data2”. Net Alias will only work within the page.
Power and Ground connection will be made only by using the appropriate GLOBAL symbols, by using this; we can make connection between two or more pins on same the page and also between different pages. Refer the connections at U2.5 & U10.8
Intersheet Reference is used to provide the information on the schematics at the side of the off page connector that, this connection goes to these many pages, refer the U10.7 connection”Data2” number 5 9 means that, Data2 net goes to page 5 and page 9 of the schematic as well. Before providing Intersheet reference, we must make sure that, we have correctly given the pages numbers and ordered it in correct sequence. Otherwise, it may create error when we generate.
Reference Designator, it will be referred as  (Ref Des) as short form and it is used to name the device uniquely by providing a letter with a number combination, for example U1, U2…
Some of the REF DES used in schematic circuit design are,
BT –Battery
C – Capacitor
D – Diode
E – Antenna
F – Fuse
J – Connector, Jack, female
K – Relay
L – Inductor
P – Connector Plug male
Q – Transistors, FET
R – Resistor
S, SW – Switch
T – Transformer
U – IC
Some letters should be avoided say I, O, V and H, since it may used to denote the units of some values like Current, Voltage. If we assign it may produce confusions.
And each device should have unique ref des, since ref des is also used to identify the faulty part while troubleshooting the PCB, if we have all resistors as named as R1 then it will be very difficult to identify which resistor got shorted but if we have unique name then we can say yeah R5, R1 got error and it can be looked in schematics circuit design and get it replaced.
Annotate, its an option to update the ref des number in sequential manner by tool, it will start renumbering from Top left corner of the schematics page and increments its number all the way to right and down to the bottom right corner. So we will have all consecutive numbers and we will not have any random numbers like R1, R5, R10, if we have only three resistors in the design, then by doing annotation, we will have R1, R2 & R3.
Before doing annotation, we have to reset all previous existing ref des numbers to ?,  example for above we have to make all Resistors to R?, R?, R? so that, tool will increment it to R1, R2 & R3.
Back Annotation, It is the process of doing annotation in PCB first,  get that report and importing it in to schematics to make the same changes that have been done on PCB, so that schematics and PCB will be in sync. On PCB also, it will start renumbering from Top left corner of the PCB and increments its number all the way to right and down to the bottom right corner of PCB.

Schematic DRC:
            DRC – Design Rule Check, it is the process of checking designed schematics to find out any issues or errors and then correcting it. And this is automated process and so we can find any possible human errors. It should be done each and every time before generating the outputs from the schematics. If we miss this process then there may be chance of getting errors and lead the product to scrap.
Basically this check is used to identify shorts and opens in the schematic circuits and this is being checked by different forms of checking like,
         Checking for Single Node Net
         Checking for no driving source
         Checking for matching off page connector
         Checking for unconnected and disconnected pins
         Checking for missing connections on BUS
         Checking for same net alias name on different pages
         Checking for two more net names assignment on single wire
         Checking for PCB Footprint names
         Checking for same Ref Des repetition
         Checking for extra and missing pins on symbol
         Checking for Illegal characters }{ ) (, / : ; ‘ “ \ * & ^ % $ # @ !
By only checking all the above will not make sure our circuit is free of shorts and opens and we have to use our intellectual thinking to check further to find if anything missed by tool.
Generally, we have to be more concern on the power supplies, this is back bone of all designs and products, if we miss any open and short in the power supply in the design stage itself then it will be like waste of time and energy to proceed further and complete the design and product. So we have to check all power supplies like where it is getting generated (Source) and where and all it’s going. We have to check all power pins of IC with the datasheet, how much the voltage should be connected to this pin and have to check in our design as well, it was connected as per the datasheets recommendation or not.

Schematic Outputs:
            Two types of outputs will be generated from the schematics and they are,
         BOM (Bill Of Material)
         Netlist
The first one BOM, will contain all parts information which have been used in the design and it is used to procure (Buy) the parts. Once its generated it will be given to Component Engineers (Procurement Team), so they will order these parts and will suggest the Hardware Engineer, if it’s not available and all other difficulties if anything.
The BOM should contain the following information,
         Item
         Quantity
         Reference
         Part / Value
         PCB Footprint
         Description
         Manufacturer  Part Number 
         Manufacturer
         Voltage
         Tolerance
         Package
         RoHS Status

The BOM output will be mostly in excel format and example of such BOM is in the following page. The headers in the BOM will be discussed in the Component Engineering Section.
The Second output from the schematic circuit design is Netlist, as we discussed Earlier the Netlist is the list of Net and Component Information. Along with the Netlist, the schematics, the BOM also will be given to PCB Layout Engineers to proceed with PCB design process.
If we miss to assign any PCB Footprint name in the part properties then we will not able to generate the Netlist. It will be popped by a error flag both in DRC check and also in Netlist generation process.
This PCB Design is the Next level Electronics Product Design Process; we will discuss this in detail in later section of this book.


Hardware Design Flow

Hardware Design Flow:        Hardware design is very crucial in Electronics Product Design, if we have any errors (Shorts or Open) in th...