Requirements Definition and Design Process 

What constitutes a delivered design in the physical sense?  A design is a  documentation set consisting of analysis reports, simulation files, schematics, CAD drawings, layouts, wire lists, test plans and procedures and test data.  This includes everything needed by engineering to test and modify the design and everything needed by manufacturing to produce the design.   I also like to include a first article brass board as it provides real documentation of the products expected performance.

In a philosophical sense, a design can also be imagined as a pie consisting of three slices.  Each slice represents one of three competing aspects; performance, cost and implementation or delivery time (sometimes called “time to market”).  Someone must  decide how to divide this pie.  If an engineer allocates the slices, performance may get nearly all the pie and cost and delivery may only get token slices.  If an MBA or marketing professional decides, cost and time to market may get the lion’s share of the pie.  

In the world of electronics it is sometimes necessary to go back and reallocate the slices of the pie after the design process has begun.   The requirements  set the boundaries of the design.  They act as the binder to make the pie a cohesive whole and must be reviewed and revised at each step of the design iteration process.  It is critical for the lines of communication to remain open between engineering, marketing and management at all times, otherwise, you could to end up with an electronic Edsel.

 

Design Process Sequence  

The following steps can help establish an organized, efficient design process.  The list represents a typical analog, high speed or mixed signal design flow.  It is not meant to be all inclusive or representative of every design project such as ultra high speed mixed signal or sub-micron ASIC designs which present additional special problems and considerations.

Concept Definition

Technology Assessment and Research in Practice Art (Patent Search)

Top Level Interface Definition

Requirements Definition

Risk Assessment

Top Level Development Plan/Approach

Architecture Definition and System Partitioning

Functional/Behavioral Simulations

Hardware and Software Allocations

Mid-level Architecture and Interface Definition

Review/Revise Requirements

Mid-level Development Plan

Functional/Behavioral Analysis and Simulations

Hardware and Software Partitioning

Detail Design and Development Plan

Partitioning for Simulation and Design

Detailed Design (Hardware)

Concept

Functional Analysis and Simulation

Parts Selection and Procurement

Parts Sample Tests and Evaluation (optional)

Functional and Behavioral Simulations

Integrate Parts Parameters into Simulations

Worst Case/Monte Carlo Simulations with Vendor Macro Models

Selected Breadboard Fabrication and Test

Revisit Simulations (optional)

Design for Manufacturing and Test

Top Level Test Plans and Procedures

Procure/Design Special Test Equipment

Review/Revise Requirements (optional)

Schematic Capture/Netlist Generation

Overall Board Simulation/Test Vector Generation (optional)

Devise PWB Power/Signal/Ground Layers Stackup

PWB Manual Board Placement and Routing

PWB Placement and Auto-route

Back Annotation, Revise SPICE Simulation and Timing Analysis (optional)

Signal Integrity and EMC Simulation and Analysis (optional)

PWB Re-route (optional)

Manufacturing Design Rule and CAM Checks

PWB Procurement and Fabrication

Component Test Plans and Procedures

Integrate and Test PWBs

Integrate and Test Subsystem

Final Documentation Package

Breadboarding vs. Simulation

Some say that good engineering design is as much an art as a science, requiring a unique mix of both analytical and creative abilities. In electronics design, specialty areas relating to high performance, high speed and low distortion analog, such as amplifiers, filters, stable low noise oscillators, mixed signal, and high power, high speed analog and digital interface circuitry stand out as particularly problematic areas.  

Experts in these types of design, most notably Jim Williams and Robert Pease, extol the virtues of constructing and testing real physical breadboards.  Pease, in particular, has an unabashed disdain for SPICE simulations, arguing with convincing examples how SPICE simulations often have no basis in reality, and produce results which are nonsense. In the worst case, they give the designer a false sense of confidence, producing a ‘working’ circuit that later proves unreliable and unrepeatable when put into production.   It is our experience that lumped component filters operating above 100 Mhz must be physically constructed and tested against the simulation. 

There are instances where a breadboard can also give a designer false optimism. Sometimes a breadboard has significantly different parasitic elements and trace routing than the final CAD produced PWB.  The breadboard may represent a best (or worst) case layout scenario, and the production board the worst (or best) case, with the result that the circuit exhibits different operation in production systems.  On the other hand, there are cases when complex parasitic dynamic and thermal effects cannot be truly modeled or simulated, but must be studied by constructing a physical circuit. In some sense, these ‘breadboards’ are actually glorified test fixtures. We have found two or more iterations of the PCB are needed to optimize the design of particularly critical circuitry.  The PCB itself acts as the breadboard. 

There are also convincing examples of the virtues and benefits of simulation in designing complex systems.  Some systems, particularly high speed mixed signal ASIC’s, cannot be breadboarded and retain the same performance characteristics as the integrated circuit part.  SPICE is an integral part of the IC design process.  In recent years other high level functional simulation and analysis tools such as MATLAB and SIMULINK have evolved from tools for applied mathematics and scientists to workhorse engineering design and analysis tools.  

The bottom line that the argument for or against breadboards has to stand on its own merits on a case by case basis.   When in doubt, always build it and test it, and allow time in the schedule for redoing one or more PCBs!

The project we completed for NASA, an X band exciter (outlined on this site), went from initial concept to flight article without any breadboard or brassboard.  Granted, this is not the preferred way to go.  This system launched and is presently working as designed in space.  So it seems that simulations and high level analysis tools do have a place, and serve as an important tool in the designers toolbox, provided that they are used in a systematic way, and the designer is aware of their limitations.  The following constitute some of my rules of thumb in running functional analysis and design.  

Use high level, functional, or behavioral simulation and analysis tools throughout the design process. This allows you to simplify simulations, yet test and verify essential aspects of the design. I often run different simulations of the same circuit or system, with different behavioral models used to investigate the effects of particular parameter variations. This is especially helpful, for example, when designing high speed active filters using non-ideal components.

 

Use a hierarchical divide and conquer approach to simulation and analysis.  Rather than starting with the entire circuit, start with small pieces and build up the simulation incrementally.  

 

For SPICE simulations, never rely simply on the vendors IC macro-models.  Using the characteristics in the datasheets, build up a series of behavioral models yourself and incorporate them into your simulations.  Ideally, obtain actual sample parts, run selected tests, then use the test data with a suitable analysis program (MATAB) to obtain a functionally correct model for the part.  Vendor parts are useful for a quick look circuit study, as when trading off competing circuit architectures, or brainstorming, or for worst case or Monte Carlo simulations provided you have established consistency between your own behavioral model and the vendors macro model.

 

When a circuit piece is working as expected, try to ‘break’ it by introducing spurious effects, noise, and parameter variations to study the effects on operation.

 

Using the results from the earlier simulation studies, construct the entire circuit or subsystem simulation, and run a Monte Carlo simulation using worst case limits.  Use the results of these studies to address design for test and manufacturability issues.   

 

Attack a problem using different types of simulators and compare results.

 

Be wary when simulating circuitry utilizing high frequency transmission line transformers or Baluns as the have proven difficult to model accurately.