All of the Common Pattern API can be used to target the V93K.
This page is used to document any additional V93K-specific APIs related to pattern generation, however the goal is to have as few of these as possible so that Origen pattern source code can re-target automatically to any supported platform.
The V93K has a very powerful waveform generator and it is common to use many more pin state codes than other platforms in order to select particular waveforms.
Say for example that we have various waveforms defined to drive a clock pin, where a ‘1’ on the pin will drive a single pulse and a code of ‘P’ will select a different waveform which will create 4 pulses per cycle.
The ‘P’ code (or any other letter) can be driven very easily as shown below:
# Example vectors pin(:clk).drive!(1) # 1 X XXXX 10100001 1.cycle # 1 X XXXX 10100001 pin(:clk).drive!('P') # P X XXXX 10100001 1.cycle # P X XXXX 10100001 pin(:clk).drive!(1) # 1 X XXXX 10100001
The above vectors would produce the following waveform per the earlier description of ‘P’:
_______ _______ _ _ _ _ _ _ _ _ _______ clk _______| |_______| |_| |_| |_| |_| |_| |_| |_| |_| |_______| |