Product Documentation
Virtuoso Photonics Solution Guide
Product Version IC23.1, August 2023

1


Introduction to the EPDA Framework

Photonics, the science and technology of generating, controlling, and detecting light, is quickly moving into mainstream electronic designs. This is particularly true for communications hardware, where bandwidth demands are so high that only Photonic Integrated Circuits (PICs) offer a viable solution. Other key application areas include data centers, antenna and RF systems, biophotonics, and environmental sensing systems.

To address the challenges of designing PICs, Cadence® has developed an integrated Electronic-Photonic Design Automation (EPDA) environment in collaboration with Lumerical®.

EPDA for Photonics Integrated Circuits

Built on the Cadence® Virtuoso® custom IC Design platform, the EPDA environment supports both the monolithic and hybrid design approaches. In monolithic approach, a single chip carries both traditional electronic and photonic design elements. In hybrid approach, a 3D-IC stack is used with a traditional electronics chip on top of a photonics chip, providing schematic and layout-driven design flows that support:

Prerequisites for Designing Photonics Intergrated Circuits

As a developer and designer of Photonic Integrated Circuits (PIC) using Cadence technology, you should be familiar with:

About the CurvyCore Technology

To support the development of complex curvilinear shapes for photonic designs, which are based on complicated mathematical equations, Cadence natively supports the CurvyCore® technology in Virtuoso® Layout Suite EXL. Integration of the CurvyCore technology in the Virtuoso custom IC design platform makes it possible for designers to work on complex technologies and designs in a familiar design environment. In addition, the collaboration makes it possible for designers to factor in both the electronic- and opto-electronic effects into the design much earlier in the cycle and put together a full electronic-photonic solution within the same design environment. For more information on the CurvyCore technology and how integration in Virtuoso makes it advantageous for a photonics designer, see CurvyCore.

Setting Environment Variables

Environment variables control the Photonics design environment. For a list of all the environment variables supported by the Virtuoso Photonics Solution and the default and supported values of these environment variables, see List of Photonics Solution Environment Variables.

There are two ways in which you can set environment variables:

Setting Environment Variables in a .cdsenv or .cdsinit File

To have your environment variables set automatically when you start the Virtuoso Photonics design environment, do one of the following:

For more information on the  .cdsenv and .cdsinit files, see Environment Variables in the Virtuoso Layout Suite XL: Basic Editing User Guide.

Setting Environment Variables in the CIW

If you use any environment variable values consistently and do not want to set these values each time you use a command, you can set the variables to the value you normally use in the CIW and it will remain valid for the duration of the current session.

To set environment variables for a single session, do one of the following.

For example, to set the phoAbutNonPcells variable, type the following in the CIW or include it in a setup file.

envSetVal("layoutXL" "phoAbutNonPcells" 'boolean t)

To determine the current value of any environment variable, type the following in the CIW.

envGetVal("layoutXL" "phoAbutNonPcells)
Use the appropriate tool partition for the environment variable you want to set or look up the value for. For information about the tool partition—layoutXL, graphic, or schematic—associated with a specific environment variable supported for the Virtuoso Photonics Solution, see the related environment variable documentation.

Related Information


Return to top
 ⠀
X