組み込まれたエンジニア

我輩は石である。名前はまだ無い。

NSL:論理演算

2009-10-31 08:29:18 | Weblog
C言語では、ブール演算と、論理演算(条件判定などに使う)を分けている。
これはCの「真」「偽」の判定が、「0以外」「0」となっていて、偽の反転は真だけれど、真の反転は偽にはならないという事情から必須。

でも、論理回路だったら、論理演算とブール演算、どちらも1ビットの信号で行なえるので、分ける必然性はほとんどないので、SFLでは分けていない。

一方、Verilogユーザから、論理演算をサポートして欲しいという要望があり、それ自体は大した手間ではないので、NSLで「!」「&&」「||」をサポートした。

これらの演算はC言語互換にしている。つまり、0が偽で、0以外が真の扱い。