The Cadence Academic Network helps build strong relationships between academia and industry, and promotes the proliferation of leading-edge technologies and methodologies at universities renowned for their engineering and design excellence.

A huge knowledge exchange platform for academia to network with industry. We are looking for academic speakers to talk about their research to the industry attendees at the Academic Track at CDNLive EMEA and Silicon Valley.

Custom IC Design Forums

very long bit pattern for vbit source

I want to test a mixed signal design in cadence virtuoso 6.1.5 with spectre.

To verify the functionallity of the digital part a very long input sequence, thousands of bits, is necessary.

I tried using the vbit source. What is very usefull about this is that it is possible to adjust the voltage levels as well as the length of one bit. This makes it superior over the vpwl at least for my application.

I found a helpful document that makes it possible to adjust the properties of vbit in a way that it is possible to insert a design variable for the data . Another document helped me to load a bitstream from a tex-file into this design variable inside ade-l.

The problem is that this is only possible for short bitstreams. At least my bitstream is too long for such a proceeding.

There are several ways to tackle this problem (that I can think of). One of the ways is to use spectre's ability to define patterns (see "spectre -h pattern"). If I create a file called (say) "patterns.scs" and include it in ADE as a model library:

Then on the vbit source (or vsource with type set to "bit"), I can set the pattern as (say) "p1,p2,p3" or "p1,p2,p2,p3,p1" - whatever you like - and it will then use the sequence of predefined patterns from the include file.

The alternative is to use the "vector" file input. Look at Setup->Simulation Files and there's a Vector Files tab. You can add the path to vector files. For more details on the syntax, look at "spectre -h vector". The precise details of the format are in the Ultrasim User Guide (<MMSIMinstDir>/doc/UltraSim_Use/UltraSim_User.pdf) - in the chapter entitled "Digital Vector File Format"). This allows you to take a file of vectors (in different radixes) and connect to one or more signals in your circuit - replacing the need for sources on the schematic.

Not sure what you mean about having the rise time and fall time information intact, but you can specify the rise and fall time (and various other signal characteristics) of the signals that are generated from the digital vectors. This is covered in the documentation that I mentioned earlier.

Copy the vbit source from analogLib into your own library, and call it vbitparam (make sure it's not called "vbit" as there is a check in the netlist procedure for being called vbit, which will defeat the next step)

Tools->CDF->Edit CDF and edit the "Base" CDF for the new vbitparam cell.

Go to the Simulation Information section, and select "spectre" as the simulator.

Remove "data" from the otherParameters section, and add it to the instParameters section

OK all the CDF editing forms

In your schematic, use the vbitparam component instead of vbit and set the "Pattern parameter data" parameter to be the name of the design variable you want.

In ADE or OCEAN, create a design variable with the same name as the design variable, and set the value to "p1,p2,p3" (with the quotes specified). In OCEAN this would be:desVar("myparam" "\"p1,p2,p3\"")

What the above is doing is getting the data parameter netlisted as a normal parameter (the netlist procedure that is usually used adds quotes around it, but in this case you don't want the quotes so that the value can be interpreted as a spectre parameter), and then you are ensuring the the netlist ends up with quotes around the parameter value. For example, here's my netlist:

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.