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.
Is there any other approach to solve this problem?
A stimulus file would also be very long/large...
Do you need a specific bit pattern, or would a psudeo random bit pattern be OK?
I created a verilog-A module which generates a PRBS 2^15 - 1 bit pattern.
Bit period can be set via a clock input signal, or with a verilog-a "timer" event generator.
Output amplitude can be set by a parameter, or by pwr/gnd input pins.
Hope this is helpfull.
I need a specific bit pattern to test the digital part of my design.
Verilog-A is a good idea but the code would become very large...
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:
// my patternsp1 pattern data="10111011011"p2 pattern data="001100100101011"p3 pattern data="1111100001110001100"
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.
Can the waveform generated from your second method have the rise time and fall time information intact ?
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.