文法

hyousi.jpg(2670 byte) L.jpg(2692 byte) kihonwaku.jpg(2765 byte) singou_m.jpg(2865 byte) jyousuu.jpg(2586 byte) enzannsitokigou.jpg(3088 byte) jyoukenbun.jpg(2754 byte) tetsuduki.jpg(2732 byte) inyou.jpg(2526 byte)

        目次

 信号
 属性
 input 文
 output 文
 inout 文
 bitn 文
 bitr 文
 信号数
 多桁信号の参照
 双方向信号

 

信号

枠間のやり取りや端子に使う接続信号と内部信号の2 種類あります。

modoru.jpg(1480 byte)  

属性

信号定義文は信号名に属性を割り当てます。

modoru.jpg(1480 byte)  

input 文

input 文は枠の入力を表します、枠の先頭から置いて 下さい。
機能実行譜は自己完結の論理なので外からの入力はで きませんから原則として input 文 は使いません。 例外としてテストベンチに初期化を入れたいときに simres と言う決められた名前の入力だけが有効です。

modoru.jpg(1480 byte)  

output 文

output 文は枠の出力を表します、input 文があれば その次から置いて下さい。

modoru.jpg(1480 byte)  

inout 文

inout 文は手続き譜では使えません、実効譜でも他の 実効譜から引用されることのない最上位にある実効譜 で双方向の入出力端子を表します。 enable 文と伴に使います。

modoru.jpg(1480 byte)  

bitn 文

bitn 文は枠内で使われる、非記憶の信号です。 input/output 文の次に置いて下さい。

modoru.jpg(1480 byte)  

bitr 文

bitr 文は枠内で使われる、記憶の信号です。 input/output 文の次に置いて下さい。

modoru.jpg(1480 byte)  

信号数

input 文で示しますが上に挙げた4種類に共通します。

logicname sample

entity main
input  a;     {一桁の場合}
input  b[4];  {多桁の場合}

ende
endlogic

modoru.jpg(1480 byte)  

多桁信号の参照

多桁信号の参照は信号名だけで全桁参照になります。 . (ドット)を付けて1桁か連続する複数桁の参照がで きます。 下の b から f への a の代入はすべて同じ代入にな ります。

logicname sample

entity main
input  a[4];
output b[4],c[4],d[4],e[4],f[4],g[4];

   b=a;

   c=a.0:3;

   d.0=a.0;
   d.1=a.1;
   d.2=a.2;
   d.3=a.3;

   e.0:3=a;

   f.0:1=a.0:1;
   f.2:3=a.2:3;

   g=a.3:0;   {上位・下位を逆にして代入}
ende
endlogic

modoru.jpg(1480 byte)  

双方向信号

双方向の信号は enable 文で内部信号との関係付けを定義して使います。

enable( 双方向信号 , 入力が代入される内部信号 , 出力が代入される内部信号 , 方向を決める内部信号 )

方向は1で出力に0で入力になります。 入力に結びつけられた内部信号は確定信号が0になっており制御が可能です。 確定信号は信号の最上位ビットの上にあります。 確定信号はその信号が条件文で有効か無効かを決定します、確定信号が0の ときその信号を使った条件文は真になりません。 確定信号をとくに制御しない場合は下記のように1に固定するとよいでしょ う。

logicname sample

entity main
inout  a;

bitn   ina,outa,cnta;

   enable(a,ina,outa,cnta)

   ina.1=1;   { 確定信号を1にする }
   
   〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
      省略
   〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
ende
endlogic

modoru.jpg(1480 byte)