• 回复
  • 收藏
  • 点赞
  • 分享
  • 发新帖

saber怎么用C语言来解决循环的问题

各位大侠 怎么解决saber中用mast语言来实现循环啊,我想用C语言但是不知怎么才能连到Mast里面去。
全部回复(1)
正序查看
倒序查看
2011-07-19 11:33

有办法,用schedule_event。下面是我写的一个取模的模块,就是实现很简单的mod(7/2)=1这样的功能,但是MAST没有循环,还蛮难搞。

template mod_cal  num div modresult samp
input nu num
input nu div
state nu modresult
state nu samp
{
state nu flag,out,done
when (event_on(samp)) {
if(done==1){
if(flag==0){
schedule_event(time,flag,1)
}
else{
schedule_event(time,flag,0)
}
schedule_event(time,out,num)
}
}
when(event_on(flag)){
 if(out>div){
  schedule_event(time,out,out-div)
  if(flag==1){  #assign the flag a new value
  schedule_event(time,flag,0)
  }
  if(flag==0){
  schedule_event(time,flag,1)
  }
  }
 schedule_event(time,done,1)
 schedule_event(time,modresult,out)
 }
when (time_init) {
schedule_event(time,done,1)
}
}

0
回复