feature article
Subscribe Now

Analog at 20

Cadence’s Virtuoso for Advanced Nodes

Analog designers bear a heavier burden than many other designers. If you’re a digital guy, someone is out there creating cells for you, abstracting away the nasty bits so that you can operate unsullied in a land of make-believe that, magically, seems to work.

No such luck for the analog engineer. He or she has to do a lot of heavy lifting on his/her own. And this is largely of their choosing, since “trust” is not easy for analog folks: it’s too easy for someone else to make their design look bad.

This has significant implications when major change happens. Like what’s happening in the move to 20nm and beyond. We’ve got new transistors, we’ve got double patterning, and we’ve got new rules. OK, I guess that last one isn’t new; we get new rules every node, but you put all of these together, and it can be a mess. Digital designers have lots of people scurrying around to clean up that mess before they get involved; analog engineers less so.

Three topics in particular affect analog engineers, and they are areas of focus in Cadence’s latest Virtuoso release. We’ll address two of the topics here, while reserving the third – local interconnect – for its own discussion in the future.

An evolutionary change is the increased importance of proximity effects. You’ve probably dealt with them before, since this isn’t the first node requiring their consideration. “Well proximity” and “length of diffusion” effects have been known for a long time; poly spacing and active area spacing started becoming important at the 40nm node, according to Cadence.

If you haven’t dealt with proximity effects before, they affect layout spacing. Actually – that’s not true: it’s the reverse, because these aren’t DRC rules. DRC rules affect layout spacing: if you violate the rule, you have to change the spacing. With proximity effects, however, the spacing affects the design.

The idea is that, with certain items, placing them in proximity – even if they’re unrelated in any functional way – will have an impact on performance. They won’t necessarily cause things to fail outright, but you might notice that gain or speed or something isn’t what you expected it to be. In other words, proximity has to be figured into the simulation in order to correctly model the circuit.

This can be a problem, since most circuit simulation is done prior to layout. You tune your circuit, simulating conscientiously, before handing it to the layout guy. The layout guy then does things that can now change the results of that simulation, creating an extra design loop.

But, even for the layout guy, the design isn’t completed all at once – it might not even be done entirely by the same person. Given that layout can affect design performance, it helps to get an early read on portions of the layout rather than waiting until the entire thing is done. So Cadence has enabled what they call “partial layout” simulation.

Rather than functional simulation – which is run from the schematic – or post-layout simulation – which uses a layout description of the design, partial layout simulation allows a netlist that contains both schematic and layout elements. This means you can lay out a particular chunk of the circuit and then re-simulate to identify any effects caused by the layout and address them early (either in the design or by changing the layout).

Why is this an analog issue? Well, it’s more accurately a custom issue. Cell designers will run into this too, but they’re filling out a library. An analog designer is creating a final circuit and, unlike his digital counterpart, will need to take this into account.

The other bit that’s new and important is coloring. At 20nm, double patterning is now a reality for Metal 1 at least. This creates a couple of issues. The first is the ability to decompose a single layer into two partial layers. This has to be done in a way that resolves all of the critical spacing that can’t be handled in a single layer.

We’ve talked about coloring before (although I haven’t seen stitches involved in any of the more current solutions). Early on, the foundries wanted control of the coloring. So they would take your single metal mask and decompose it into two. But for analog designs, you might want to have some input, since it makes a difference for matching, for example. Likewise, cell designers will do much of their own coloring, which will be incorporated into digital circuits.

The idea is that you only constrain as much color information as necessary and then let the foundry do the rest. That might mean coloring specific nets a specific color, or it might be simply stating that two nets should be of the same color (but it doesn’t matter which color). The latter might be useful in cells to ensure that the cell can be decomposed properly, but to provide flexibility for placement next to other cells; that placement might create color conflicts, and swapping all of the colors in one of the cells may fix it.

The practical issue with this is where cycles (or loops) are created. These are unresolvable coloring problems (which in theory could be fixed by stitching but are realistically handled by tweaking the layout to remove the problem). The challenge is that, when coloring a particular net, you may end up inadvertently creating a cycle that you would never have suspected – and it can be pretty long. So real-time checks ensure that you can see such cycles right when you create them.

Of course, when a cycle is present, the tool can’t tell you what to fix. A cycle is a collection of coloring conflicts; fix any one of them and the problem goes away. So if you create a new cycle with a new layout change, it doesn’t mean that the new change is the problem: you may elect to leave that in place and change some other part of the layout to eliminate the cycle.

The other problem that double patterning creates is that it makes it harder to account for variation. Let’s say you have double patterning for Metal 1. Ordinarily, you’d have to account for the variations in single metal layers and the single exposures used when printing them. But now Metal 1 has two exposures and two chances to introduce errors (or variation). So you have variation within Metal 1 and then from each of the Metal 1 exposures to Metal 2. It gets worse if Metal 2 is also double-patterned. And if you’re letting the foundry do the coloring, you don’t know what’s going to be on each color, so you can’t explicitly account for the variation.

Cadence takes a conservative approach to this, which more or less means assuming that you could have the full double-patterning error anywhere. The more you know about where the colors will be, the more you can tighten things down without over-designing. Here, the burden of doing it yourself as an analog designer works in your favor: you know more accurately how things will work, and so you can dial things in better.

 

More info:

Cadence’s Virtuoso release

Cadence Virtuoso

One thought on “Analog at 20”

  1. We looked at a couple of the advanced-node issues Cadence is addressing in their latest Virtuoso version; are there other issues you’re concerned about at these nodes?

Leave a Reply

featured blogs
Jan 18, 2021
The DIY electronics portion AliExpress website can be a time-sink for the unwary because one tempting project leads to another....
Jan 17, 2021
https://youtu.be/mKoW8ji9_g8 Made in my kitchen (camera Ziyue Zhang) Monday: Young People Program at DATE 2021 Tuesday: IEDM Opening Keynote Wednesday: Cadence/Arm Event on Optimizing High-End Arm... [[ Click on the title to access the full blog on the Cadence Community site...
Jan 14, 2021
Learn how electronic design automation (EDA) tools & silicon-proven IP enable today's most influential smart tech, including ADAS, 5G, IoT, and Cloud services. The post 5 Key Innovations that Are Making Everything Smarter appeared first on From Silicon To Software....
Jan 13, 2021
Testing is the final step of any manufacturing process, and arguably the most important, and yet it can often be overlooked.  Releasing a poorly tested product onto the market has destroyed more than one reputation for quality, and this is even more important in an age when ...

featured paper

Overcoming Signal Integrity Challenges of 112G Connections on PCB

Sponsored by Cadence Design Systems

One big challenge with 112G SerDes is handling signal integrity (SI) issues. By the time the signal winds its way from the transmitter on one chip to packages, across traces on PCBs, through connectors or cables, and arrives at the receiver, the signal is very distorted, making it a challenge to recover the clock and data-bits of the information being transferred. Learn how to handle SI issues and ensure that data is faithfully transmitted with a very low bit error rate (BER).

Click here to download the whitepaper

Featured Chalk Talk

SLX FPGA: Accelerate the Journey from C/C++ to FPGA

Sponsored by Silexica

High-level synthesis (HLS) brings incredible power to FPGA design. But harnessing the full power of HLS with FPGAs can be difficult even for the most experienced engineering teams. In this episode of Chalk Talk, Amelia Dalton chats with Jordon Inkeles of Silexica about using the SLX FPGA tool to truly harness the power of HLS with FPGAs, getting better results faster - regardless of whether you are approaching from the hardware or software domain.

More information about SLX FPGA