Beginning their design flow with MATLAB® and Simulink®, Broadcom engineers implemented a WCDMA-based chip that handset manufacturers could integrate with their 2G chips.
After reviewing and interpreting the WCDMA specification, Broadcom engineers used MATLAB to develop a rake receiver algorithm, as well as algorithms for filter transmission and reception, multipath searching, and forward error-control coding. They used the visualization capabilities of MATLAB to review the algorithms and signals before performing spectral analysis to validate that the signals met the specification.
“The analysis, visualization, and data handling capabilities of MATLAB made validating the functionality and performance much easier,” says Francis Swarts, systems engineer. “I just don’t know how you would do this kind of work in anything but MATLAB.”
Working in Simulink, engineers then modeled and validated the specifications against their requirements. After algorithm development and validation, they wrote custom blocks in procedural code using Simulink S-functions. They used MATLAB and Simulink to model various subsystems, including the base station, a wireless channel model, and the handset. Each subsystem served as a unit test harness for the others. With Simulink, they quickly partitioned the behavior into architectural subsystems to enable the hardware designers to implement each piece more easily.
They then generated test vectors from custom Simulink blocks and verified them against the vectors that the hardware designers had written in VHDL. “Our hardware engineers use Simulink blocks as the basis for what they need to write in VHDL,” explains Swarts. “These provide great guidance to our hardware engineers.”
Using Simulink, Broadcom engineers encapsulated their handwritten C code for easier management, reuse, and incorporation into the model. At the implementation level, they used MATLAB to perform further analysis on the simulation data.
“Designing the entire infrastructure of the simulation in raw C would have been a near impossibility,” says Swarts. “With MATLAB, you can build vectors of signals and perform partitioning within a couple of lines of statements, then use Simulink to determine a hardware-efficient way of performing the processing.”
Broadcom implemented the hardware using downstream ASIC design and implementation tools.
With the release of SPINNERchip1.1, Broadcom became one of the first companies to release a coprocessor solution. Infineon Semiconductor adopted SPINNERchip (WCDMA) within its 2G platform (GSM, GPRS, EDGE) to enable manufacturers to develop handsets quickly and more cost-effectively.