ポート入出力をラッチする

ポート入出力は、それが書かれた場所のタイミングで直接、入出力される。latch アトリビュートを付けると、入力の場合は、1クロック前の値がラッチされて入力され、出力の場合は、ラッチされて1クロック後に出力される。入出力する値がバタついたら困る場合などは、ラッチするといい。


process process1(clkin uint#1 clk, rstin uint#1 rst, out uint#8 latch x)
{
        ....
	x = 100;
	while (1) ;
}

トライステート出力


process process1(clkin uint#1 clk, rstin uint#1 rst, out uint#8 tristate x)
{
        ....
	x = 100;
	while (1) ;
}

出力をトライステートにしたい場合は、tristate アトリビュートを付けよう。その出力が発生したタイミングで値が出力され、その他のタイミングでは、ハイ・インピーダンスになる。トライステート出力でもラッチ出力でもない場合、その他のタイミングでの出力値は未定(でたらめな値)となる。

プルアップ、プルダウン


process process1(clkin uint#1 clk, rstin uint#1 rst, in uint#8 pulldown x)
{
	... = x;
	while (1) ;
}

入力をプルアップ、プルダウンした場合、pullup、 pulldown アトリビュートを付けよう。

それでは皆さん、ごきげんよう!