The Circuit Design Blog

Spice – HDL – MCU co-simulation

TINA includes a very powerful mixed mode circuit simulator engine. It is based on the XSPICE mixed mode algorithm, extended with MCU and HDL (VHDL, Verilog, Verilog A & AMS) components. In your circuits you may freely mix any analog or digital components of TINA, including microcontrollers (MCUs) and macros with Spice or HDL content. You can modify these components on the fly along with the code in the MCUs. TINA will analyze the analog parts in analog, the digital parts in digital, and will automatically create the interfaces among the components. This ensures synchronization and fast convergence.

Let’s explore some of the uses of this mode through a few examples.

1. Waveform generation with VHDL and Spice subcircuits

The following circuit generates an analog sine or sawtooth signal depending on the status of the left SW-MODE switch:

Click the picture to run this circuit online with TINACloud

The Digital Wave box on the left of the circuit includes VHDL code with a lookup table (Sine_LUT ) for the sine wave and a counter for the sawtooth signal. The essential part of the VHDL code is:

The digital output of the counter is converted into an analog signal in the 5 bit DA converter of TINA shown in the middle of the circuit. The DAC sine wave output needs to be cleaned up with a low pass filter. We will use a Spice opamp model of the TL081 in a Sallen and Key low pass filter configuration. Press the Enter Macro button on the property dialog and TINA will open the macro. You can review and, if necessary, modify the Spice code inside the macro.

Here are the final waveforms of the full circuit, including the five counter output waveforms. SW_MODE is in the High state, selecting the sawtooth signal:

If we change the SW-MODE switch to Low and run Transient analysis again, the waveforms are:

To see the effect of the analog filter, delete curves d0 to d4 from the diagram by clicking the curves and pressing the Del key:

2. MCU controlled SMPS circuit

The mixed mode simulator of TINA not only allows MCUs, but also any linear or nonlinear parts in TINA’s libraries. As an example, let’s study the following circuit, which realizes a DC-DC converter, converting 5V DC to 13V DC, and operating in boost mode:

Boost Converter with PIC control

Click the picture to run this circuit online with TINACloud

The waveforms below demonstrate how the analog parts and the MCU interact in TINA.