The Designer's Guide Community
Forum
Welcome, Guest. Please Login or Register. Please follow the Forum guidelines.
Mar 29th, 2024, 12:03am
Pages: 1
Send Topic Print
Measuring average current in spectre (Read 5424 times)
Dushyant Juneja
Junior Member
**
Offline



Posts: 19
Bangalore, India
Measuring average current in spectre
Aug 07th, 2013, 3:02am
 
Hi,

Possibly this goes a bit trivial, but I am having trouble measuring average current from spectre netlist. Its all hand written and command line based, so I am not using ADE calculator and stuff. Here's what I mention in my options file:
Code:
tranExpt1 tran stop=300n errpreset=conservative

save dut:vdd
save dut:pwr

// Now measure average currents
simulator lang=spice
.measure tran pwr_mem1 avg i(dut:vdd) from=0.3ns to=32ns
.measure tran pwr_mem2 avg i(dut:vdd) from=32.3ns to=64ns
 



However, this spits out an error during spectre simulation like this:
Code:
Warning from spectre during transient analysis `transient1', during task
	  `MDLControl'.
    WARNING:  Probe 'I( dut:vdd:1 )' is invalid or argument dut:vdd:1 is
	  unknown.
Error found by spectre during transient analysis `transient1', during task
	  `MDLControl'.
    ERROR: line `6': Unable to validate access function 'I( dut:vdd:1 )' with
	  specified parameters
    ERROR: line `6': Operand 'I' of function 'avg' contains an error.
    ERROR: line `6': The function 'avg' contains no arguments
 



Now, the point is:
1. My analysis name is *not* transient1, but tranExpt1. Why does it keep warning about something else? I have no analysis named transient1 in my netlist/options file. Shocked
2. How do I measure average currents for the experiment? I basically intend to measure power consumed by DUT during some time window through this. Undecided

Would be grateful if you can kindly help. I am not open to going through the ADE GUI because I need to do numerous such experiments and am biased to scripting them out, eventually. Hence am looking for text based alternative.

Dushyant.
Back to top
 
 
View Profile   IP Logged
Dushyant Juneja
Junior Member
**
Offline



Posts: 19
Bangalore, India
Re: Measuring average current in spectre
Reply #1 - Aug 14th, 2013, 5:02am
 
A prospective, equivalent MDL script obtained using the spectre's spp utility gave the following output for the .measure statements:

Code:
alias measurement transient {
	export real pwr_mem1, pwr_mem2
	run tran( step=1n, stop=300n )
	pwr_mem1=avg(trim(sig=I(dut\:vdd:1), from=0.3n, to=32n ))
	pwr_mem2=avg(trim(sig=I(dut\:vdd:1), from=32.3n, to=64n ))
}

run transient as transient1 



So, that clarifies why my analysis is being called transient1 in the log file errors. Its spp playing a part to give a proper analysis name for MDL. One thing cleared!!!  ;D

Am still doing experiments to get things going!

Dushyant
Back to top
 
 
View Profile   IP Logged
Pages: 1
Send Topic Print
Copyright 2002-2024 Designer’s Guide Consulting, Inc. Designer’s Guide® is a registered trademark of Designer’s Guide Consulting, Inc. All rights reserved. Send comments or questions to editor@designers-guide.org. Consider submitting a paper or model.