Jacob Bokor


Embedded software engineer, hardware hobbyist, building things enjoyer


Cadence Virtuoso Tips

These are my personal notes from taking EECS119 and using Cadence Virtuoso. The way most tutorials show you how to do it is bizarre, and not at all how the software is supposed to be used. I had to figure a lot of this out by trial and error, and wanted to save others the trouble for the future. This obviously doesn't cover everything and I'm still very much a beginner when it comes to using Cadence, but should be helpful for those in EECS119 or just starting out with VLSI.


General

  • Push v for vertical cursor in ADE visualization window
  • Directory for loading techfile on the EECS servers for EECS119 & EECS170C labs
    • How to find the path of your home directory: cd ~/ && pwd
[YOUR HOME DIRECTORY]/eecs119/ncsu-cdk-1.6.0.beta/techfile

Schematic

  • Connect outputs of circut testbench to the noConn component from the basic library. Eliminates DRC error about unconnected node.

Layout

Most importantly: Do DRC Regularly and NEVER do layout before testing your schematic in simulation

  • Use wires (Not Rectangles) to connect components/instances: ctrl+shift+w
  • Insert your custom components like normal components into the layout, and connect them by drawing onto their metal traces. As such, when you draw your inner components leave space at the end of the trace the pins are on to connect to.
  • To view location of errors in Layout DRC: Verify -> Markers -> Find Markers
  • LAYOUT EZ MODE
    • From schematic, open LayoutXL
    • In layout XL, go to bottom of screen and click on "generate all from source"
    • LayoutXL will autogen pins, instances of nmos/cmos, and all you have to do is line them up
    • To the right of that button, "Show/Hide incomplete nets" button. Select everything, and then click that to generate lines that go between the things you need to connect.
    • See screenshots below for more information.
  • One issue with generating from source is it sometimes won't recognize that certain nodes on the circuit are connected, and will keep the lines between them alive even though they're connected.
  • LVS help - "Check against source"
    • Bottom row - green checkmark button. Extracts and checks against schematic, but highlights and tells you what's wrong. Doesn't get all errors, and can be tempermental.

Screenshots

All of the below Software screenshots were taken in LayoutXL.

Create wire

Generate all from source

Place components as in schematic

Show/hide selected incomplete nets

  • This is one of the most useful options in LayoutXL. It creates a ratsnest between your traces similar to how PCB layout works, making connecting your components much easier.

Layout showing NAND gates placed as components in a standard cell layout, with wires going between them.

3 input JK Flip-flop (used in EECS119 HW3)

fish

Recent

Making LEDs React to Music: Configuring LEDFx and Spotifyd on the Raspberry Pi

Setting up LEDFx and Spotifyd to build a Spotify Connect speaker that drives music-reactive LED strips.…

BlogLEDsRaspberryPi Read