template clockph1 ckout =freq,a,ft
state logic_4 ckout
number freq=0,
number a=0,
number ft=0,
{
state nu tick,
state nu ton,
state nu toff,
number d=0.5
when (dc_init)
{
Schedule_event(time,ckout,l4_0)
}
when (time_init)
{
if (freq >0) schedule_event(time,tick,1)
}
when (event_on(tick))
{
if (driven (ckout)==l4_0)
{
ton=1/freq*(d+0.5*1.0*sin(6.28*ft*time+a*3.14/180))
toff=1/freq-ton schedule_event(time,ckout,l4_1)
Schedule_event(time+ton,tick,1)
}
else
Schedule_event(time,ckout,l4_0)
Schedule_event(time+toff,tick,l4_1)
}
}