In this example, we simulate a pulse-amplitude modulation-4 (PAM4) transceiver in Cadence Virtuoso using photonic Verilog-A models. The frequency response spectrum and the transient eye diagram results are studied. Please visit the Tools and Licenses Requirements for Simulation with Verilog-A CMLs page for more information on the preparation of this example.
Note: To run this example Spectre201(ISR17) or later is required!
Overview
Understand the simulation workflow and key results
We simulate a PAM4 transceiver with the Verilog-A models. The models will be simulated in Spectre with their optical behaviors represented based on Verilog-A method.
The circuit is a PAM4 transceiver, composed of a continuous-wave laser, an optical ring modulator, a grating coupler, a couple of optical waveguides, a photodetector, and an electrical circuit for the modulator driving signals.
Note:
The Verilog-A models are provided in the libraries pam4_va_example_lib and pam4_va_example_primitive_lib. These libraries include the model symbols and
Component Description Format (CDF) setup. Please refer to
CML Compiler Product reference manual
page for more details on how to build and use the Verilog-A models.
|
Step 1: Set up library reference and schematic design
The Verilog-A libraries and Virtuoso built-in libraries are added to the Library Path in the Library Manager. Then the circuit schematic is designed in Cadence Virtuoso using the Verilog-A element libraries. The analogLib, basic and opticalLib libraries which are shipped with Cadence Virtuoso are also needed.
Step 2: Configure ADE Explorer
We define the Design variables, monitored output ports, and analyses arguments in the Analog Design Environment (ADE) Explorer window.
Step 3: Netlist, run simulation and visualize results
We then can generate the netlist and run the simulation. The transmission waveform and the eye diagram of the PAM4 received signal will be retrieved in the Results window with direct plotting at the end. The response spectrum will also be generated.
Step 4: Generate response spectrum (optional)
The circuit spectrum response can also be generated in the time domain transient simulation by sweeping the light source operating wavelength. In this step, we use this method to generate the spectrum plot of the circuit.
Run and results
Instructions for running the model and discussion of key results
Step 1: Load libraries and schematic design
- Launch Virtuoso and open the Virtuoso Library Mananger (…/Tools/Library Manager).
- Add the following libraries to the Library list (Edit/Library Path) “pam4_va_example”, "pam4_va_example_lib" and "pam4_va_example_primitive_lib" (available for download in this app gallery example); "basic", "opticalLib" and "analogLib", which are available in <virtuoso installation directory>/tools.lnx86/dfII/etc/cdslib and <virtuoso installation directory>/tools.lnx86/dfII/etc/cdslib/artist
- In the “pam4_va_example” library and “TestBench” cell, double click on the “schematic” view to visualize the schematic design.
The Library Manager should configure as below:
This example is a PAM4 transceiver with the following schematic design:
where the PAM4_transceiver component can be expanded to the following:
Step 2: Configure ADE Explorer
- In Library Manager, double click on the “pam4_va_example/TestBench/maestro” cell view to open up the ADE Explorer configuration session.
- Open the Model Library Setup window by going to Setup/Model Libraries. Use the file browser to select and add the "includeModels.scs" and "includeElements.scs" global model files. The files can be found in the "model" folder and the "veriloga" folder of this example package, respectively.
- Navigate to "Setup/Environment", and add "+optical" to the "User Command-Line Options" setup.
The ADE Explorer session should configure as below:
The Model Libraries window should configure as below, where <example_directory> is the directory where the user untars the downloaded package:
The Environment Options window should configure as below, where User Command-Line Options includes "+optical" setting.
Step 3: Netlist, run simulation and visualize results
- Generate the netlists by Simulation/Netlist/Create.
- Click the run button. The running status will be updated in the pop-up Parameter Storage Format (PSF) window.
- View the result by going to Result/Direct plot/Transient signal, then select the "voutn" result in the pop-up schematic and right-click to select Plot Voltage/Transient.
- In the Visualization window for the transient plot, plot the eye diagram by going to Measurements/Eye Diagram with the settings shown below.
The eye diagram settings is shown below:
The eye diagram result will be generated with the above settings. The eye diagram resulting from the time domain simulation is quite open and the 4-level signal can be clearly seen.
Step 4: Generate response spectrum (optional)
Circuit spectral response can be simulated by running a DC analysis that sweeps the CW laser wavelength. In this example, 'wavelength1' is the parameter for the CW laser wavelength.
- Open the "schematic" view. In the "Edit" select "Ignore Instances" and click on the PRBS generators to ignore them for the spectrum measurement simulation. Check and Save the schematic.
- In the ADE Explorer configuration session, disable the "tran" analysis and enable the pre-defined "dc" analysis.
- In the ADE Explorer configuration session, enable "save" and "plot" for "DC_spectrum" and disable them for "Voutn".
- Run the simulation. Once simulation completes, "DC_spectrum" plot will pop out.
The "DC" analysis is configured as below. The analysis sweeps CW laser parameter "wavelength1" for 1nm range that centers at 1551nm. "Save DC Operating Point" is checked to store the steady state results at each sweeping point. "Sweep Type" is set to "Automatic" in this case, but it can be customized by users.
The response spectrum generated is shown below. The transmission peak of the ring modulator is at 1550.9 nm.
Important model settings
Description of important objects and settings used in this model
Model reference library
The Model reference libraries are defined in Step 2 of the above section. Note that we choose 2-channel models since the top-level model reference files were constructed for two channels for this application example. A foundry may choose to construct their models for supporting up to eight channels.
Updating the model with your parameters
Instructions for updating the model based on your device parameters
Electrical circuit design
The electrical circuit is defined by Verilog A models in this example. Users can update the electrical circuit with CML models.
Optical circuit design
User can update the time domain simulation with the following parameters:
- Set the wavelength of interest in the Laser Source.
- Set the bit rate.
Additional resources
Additional documentation, examples, and training material