Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

how to calculate 10000 successive periods of pll output

Status
Not open for further replies.

gargoyle

Junior Member level 3
Junior Member level 3
Joined
Oct 10, 2004
Messages
30
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,286
Activity points
233
hello all:

how can i use hspice to calculate 10000 successive periods of pll output ?

thank s
 

use .measure command
 

i can use .measure command to find out one perid time(below), but how can i
measure successive 10000 periods and do not have to write following command
10000 times. thanks


.MEAS tran t1 trig v(2) val=0.7 td=100ns rise=1
+ targ v(2) val=0.7 td=100ns rise=2
 

Generate 10000 measure statement by program. But the netlist will be very large.
 

leo_o2 said:
CROSS=10000

could you please make it more clearly? i only need to add it to the measure
command? but there is no effect
thanks
 

'CROSS=10000' only gives one point, not 10000 points.
 

Is there any 'for' or 'while' loop statements in hpsice? [/quote]
 

cirand said:
Is there any 'for' or 'while' loop statements in hpsice?
No loop statements in hspice.
gargoyle said:
how can i use hspice to calculate 10000 successive periods of pll output ?
Another method: Write a program to analysis the '.tr0' file directly. If only one output variable is selected, the data format of the '.tr0' file can be simple.
 

It could be like that:
.MEAS tran t1 trig v(2) val=0.7 td=100ns rise=1 cross=1
+ targ v(2) val=0.7 td=100ns rise=2 cross=10001

I have used it successfully. But now I can't remember exactly, please refer HSPICE manual for details.
gargoyle said:
leo_o2 said:
CROSS=10000

could you please make it more clearly? i only need to add it to the measure
command? but there is no effect
thanks
 

leo_o2 said:
It could be like that:
.MEAS tran t1 trig v(2) val=0.7 td=100ns rise=1 cross=1
+ targ v(2) val=0.7 td=100ns rise=2 cross=10001
It will give a value equal to 1000 periods, but not 1000 values.
 

Use perl to generate the .measure statement, measure from 1 to 10000 rise/fall. That's the normally to do it. if you have cosmoscope, it will be easy to do analysis. You don need to generate the data, instaed you can do statistically analysis right away.
 

Using Awk also possible under Unix environment. It is simple and easy to design such a program to calculate the period.
 

Since I use spectre I ususaly solve this by a simple VerilogA code.....
 

Use Cosmos Scope to see the waveform, it has a function in measurement to measure this
 

I think he is asking for the time of 1000 cycles. I can't figure out what use for 1000 values.
Hughes said:
leo_o2 said:
It could be like that:
.MEAS tran t1 trig v(2) val=0.7 td=100ns rise=1 cross=1
+ targ v(2) val=0.7 td=100ns rise=2 cross=10001
It will give a value equal to 1000 periods, but not 1000 values.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top