Agile Development and Testing: The Role of Simulations
Simulations can help you avoid repeated prototyping and testing
Design, build, test; whether you are a hardware designer or a software engineer, you’ll go through multiple iterations when developing complex systems. The build and test portions are the moment of truth—when you find out whether your hard work will pay off. An important part of design, build, and test iterations concerns narrowly defining test cases and functionality requirements for your new product.
Electrical testing will likely consume a significant amount of time as this can require manual probing of the board itself or any peripherals it must interface. When it comes to Agile development and testing of the board itself, you can identify potential design problems earlier in the design process and even save yourself a failed prototyping run when you take advantage of simulation features in your design software.
Design, Test, Build, Repeat in Agile
As much as we would like to hope that every new product will work exactly as it was designed in a schematic, it can be difficult to anticipate every power and signal integrity problem in your PCB. Design, build, and test cycles are intended to continuously create a new baseline for an upcoming design. Prototypes get produced, they make it back to the test bench, problems are diagnosed, and they are (hopefully) fixed before the next prototyping run.
Unfortunately, budgets are finite, and prototyping runs cost time, which translates into lost money and slower time to market. More complex products tend to carry higher production costs and require more testing time, and in some cases, the product can never be tested in its intended environment. This is where design teams need to identify signal integrity, power integrity, and thermal problems earlier in the design process.
Catching these problems and prescribing changes to a design at multiple points in the design phase are central in Agile development and testing. Any Agile workflow will require revisiting and triaging required changes to a design at multiple points in the design process. Simulations are invaluable tools to bring into an Agile development and testing process as they allow designers to validate portions of a complex system earlier in the design process and devise changes before prototyping.
Simulations in an Agile Development and Testing Workflow
Agile development stresses adaptability and accommodation of change. If you can identify required changes to a product’s design, functionality, or feature set earlier in the design process, you can decrease the extent of any redesigns. Simulations within an Agile development and testing workflow for PCB design should focus on identifying problems in the following areas:
Signal integrity. This should be an obvious area for analysis. Problems like ringing, crosstalk, excessive reflections, intersymbol interference, and signal resonance can be problematic in high speed/high frequency designs. Simulations are excellent for identifying these problems during the design phase and can inform any required layout changes.
Power integrity. Investigating power integrity with simulation tools requires examining problems like ground bounce, ringing on your PDN, self-resonance in bypass/decoupling capacitors, and IR drop across your PDN. A good PDN Analyzer can help you examine power distribution in your board, while basic circuit simulation tools can help you examine the remaining aspects of your power distribution network when digital ICs switch.
Filtration/amplification. Although usually discussed in terms of some basic circuits, more advanced linear filter/amplifier designs can have complicated transfer functions and transient response, especially with high frequency or high speed signals. Frequency sweeps and time-domain simulations, respectively, are standard tools for validating design choices in this area.
Nonlinear effects. Problems like intermodulation, impedance matching with nonlinear components, and nonlinear stability can be rather difficult to simulate without some custom simulation tools. A great simulation tool will provide circuit models that account for the nonlinear nature of some components, allowing you to examine more advanced aspects of signal integrity in complex systems.
If you can identify signal problems in these and other areas earlier in the design process, you might be able to save yourself a prototyping run or two and devise more innovative designs. Developing test cases early and frequently based on customer requirements and functionality requirements is central to any Agile development and testing workflow.
Design for Testing in Agile Hardware Development
As signal integrity is such an important part of any high speed or high frequency design, you will need to test certain aspects of a finished board in its intended environment. Simulations are invaluable in this regard during the design phase, but you’ll still need to test a real board when you eventually complete a prototyping run. Thankfully, there are some simple validation structures you can include in your board to help you directly examine signal integrity with a number of standard instruments.
Simulation results can help you create test cases, and vice versa
Developing these types of hardware test cases is an important part of Agile hardware design and development, both during the design and testing phases. Including such test structures allows you to easily gather measurements from critical interconnects and compare the results with your simulations. Including these test structures can help you address two important points.
First, it helps you validate which assumptions in your simulation are not realistic, whether your original analysis of the simulation results was incorrect, and how certain aspects of your layout (e.g., parasitics) are affecting your interconnects. Second, this can help you zero in on a portion of the board for further inspection and simulation. An inspection of the layout and direct comparison with your layout may reveal the cause of the problems you see in your board. Once you have identified the specific portion of the board that is causing problems, you can determine a potential course of action with your design and simulation tools. This is the scientific method in action.
Altium Designer® provides you with the simulation tools you need to expedite several important analyses during the design phase. These tools provide a baseline for the functionality you expect to see in your board. When combined with the component and data management tools in Altium Concord Pro™, you’ll have all the features you need to implement an Agile development and testing workflow in a single PCB design application.
Contact us or download a free trial of Altium Designer and Altium Concord Pro. You’ll have access to the industry’s best routing, layout, simulation, and MCAD collaboration tools in a single program. Talk to an Altium expert today to learn more.