アダルト・ヴァイオリン May the force be with you..

2009年9月22日

NSL: seqブロックにおけるproc呼び出し

Filed under: Weblog — い~ぐる @ 5:42 PM

sfl2vlでは、seqブロックは、何が何でも 🙂 1クロックずつ進む構文としていたが、NSLでは、procを呼び出した場合には、procが終了するまで次に進まないようにしようとしている。

現在、20090922版(アルファ版)でのみサポートしているが、こうすることで、手続き的な記述がシンプルになる(はず)。

たとえば、下のコードで、ackが帰るまで、p1は終わらないので、p2の起動はそれまで待たせる。

もちろん、proc中にseqを使うこともできるけれど、procは、終了条件が発生するまでは、動作し続けるので、seqが何度も起動されることを防ぐ工夫が必要なので、使い方に注意がいる。

module seqtest {
func_in ex,ack;
output f[8];
proc_name p1;
proc_name p2;
function ex seq {
p1();
p2();
}
proc p1 { f=0x01; if(ack) finish;}
proc p2 { f=0x02; finish;}
}

コメントはまだありません »

No comments yet.

RSS feed for comments on this post. TrackBack URL

Leave a comment

Powered by WordPress