Quantcast
Channel: Cadence Technology Forums
Viewing all articles
Browse latest Browse all 62623

Forum Post: Issues with vector stimulus and spectre

$
0
0
Hi, Yesterday a friend told me about the VEC file option for spectre. It looks great! But now I spent many hours to get a simple shift register to work but I get unreliable results. Sometimes it works, sometimes not and by just making minor changes (e.g. adding a flip flop to the register) makes completely unpredctable results. This is one of my stimulus files: radix 1 1 4 4 4 4 4 4 1 io i i i o vname RST LOAD D D D D D OUT tfall 0.01 trise 0.01 vih 1.0 vil 0.0 voh 1.0 vol 0.0 tunit 1ns ; t RST LOAD D1 D2 D3 D4 D5 D6 OUT 0 1 0 F 0 0 0 0 0 x 10 0 0 F 0 0 0 0 0 x 30 1 1 F 0 0 0 0 0 x 50 1 0 F 0 0 0 0 0 x First and most importantly, do I understand correctly that an ideal voltage source with source resistance 10mOhm is connected to all the listed nodes (e.g. D0, D1, D2, ..., D23) and are either made 1V or 0V? How can it then come that there are nodes (D4, D5) which go into a transistor gate and are 550mV?? I tried making "outz 0.000000001" (basically zero), so no matter what the circuit does (even if it's not a gate) there is no way this node can ever be 550mV. All lines D0 - D23 go into eactly the same cell (a 1:2 MUX) and two of them are just 550mV. This makes zero sense to me! Furthermore I get unpredictable results when I use radix 8, 16, 21, 32. So I ended up splitting them into D D D D D . Not nice. The manual says "alid vector sizes include 1 (binary), 2, 3 (octal), or 4 (hexadecimal)." which implies to me 16 or 32 or 21 would also be valid. For example, radix 1 1 16 1 io i i i o vname RST LOAD D OUT gives the error Error found by spectre during Digital Vector read-in. ERROR (USIMPRS-17704): The number of names do not match the number of vectors. Change the number of names to match the number of vectors and run the simulation again. **** Statement details for above warning or error **** Statement: vname RST LOAD D OUT File Name: test1.vec Line Number: 3 **** End of Statement details **** But radix 8 works (which is not explicitely listed in the manual either). I would not see why 8 would work but not 16, 24 or 32. On the other hand, radix 1 1 111111111111111111111 1 io i i i o vname RST LOAD D OUT tfall 0.01 trise 0.01 vih 1.0 vil 0.0 voh 1.0 vol 0.0 tunit 1ns 0 0 0 111111111111111111111 0 gives no error but the results make no sense (see above - 550mV although pin is only connected to a MOS gate). Since the whole thing is so unpredicable I would like to know if this syntac is definitely valid or if it just results in unpredicted behavior without explicitely raising an error. Any help would be greatly appreciated! (Spectre 16.1.0.187.isr1 64bit -- 8 Dec 2016) (a complete example that fails is hard to provide because first it includes proprietory standard cells and second it works perfectly with - say 4 flip flops - but just adding 5 messes up all results in a weird way ...) (Using vdc and vpulse seems to work as well)

Viewing all articles
Browse latest Browse all 62623

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>