文法

hyousi.jpg(2670 byte) L.jpg(2692 byte) kihonwaku.jpg(2765 byte) singou.jpg(2527 byte) jyousuu.jpg(2586 byte) enzannsitokigou.jpg(3088 byte) jyoukenbun.jpg(2754 byte) tetsuduki_m.jpg(3080 byte) inyou.jpg(2526 byte)

        目次

 手続き
 ライブラリへの登録
 ユーザ・ライブラリの作成
 ユーザ・ライブラリの読み出し

 

手続き

手続きは下のように書きます、出力はひとつだけです。

logicname sample

procedure add  {手続き名}
input  a[4];   {引数1}
input  b[4];   {引数2}
output c[4];   {出力}

   c=a+b;
endp

entity main
input  a[4],b[4];
output c[4];

           {↓引数1}
   c = add( a , b );
{出力} {}    {↑引数2}
       {手続き名}

ende
endlogic

modoru.jpg(1480 byte)  

ライブラリへの登録

ライブラリの手続きはコンパイル時にメモリに置かれ ています。 実効譜に書かれた手続きはメモリに置かれたライブラ リに追加されます。

LDC sample -lib

とするとライブラリに手続き譜を追加して new.lib に書き出します。 new.lib を std.lib に名前を変えると手続き譜を置 かなくても次から同手続きを引用できます。

modoru.jpg(1480 byte)  

ユーザ・ライブラリの作成

std.lib はコンパイラが参照する必須のライブラリです。 これに新たな手続きを上記の方法で追加していくこと もできますし、また新たなライブラリを作ることもで きます。
上の方法で new.lib を作るとファイルの最後に下の 手続きが追加されていますので、これを (name〜endequまで) エディタで新 しいファイルに保存して新規のライブラリにするか、 または既存のライブラリファイルに追加すなどして独 自のライブラリを構築していくことができます。

name     add
time     0g
input    a0,a1,a2,a3,b0,b1,b2,b3; 
infoin   2,4,4;
infoinc  2,0,0;
output   c0,c1,c2,c3;
infoout  1,4;
infointn  1,3;
intern   _n14,_n15,_n16;

equ

c0 = !a0 & b0
   | a0 & !b0 ;

_n14 = a0 & b0 ;

c1 = !a1 & !b1 & a0 & b0
   | !a1 & b1 & !_n14
   | a1 & !b1 & !_n14
   | a1 & b1 & a0 & b0 ;

_n15 = !a1 & b1 & a0 & b0
   | a1 & !b1 & a0 & b0
   | a1 & b1 ;

c2 = !a2 & !b2 & _n15
   | !a2 & b2 & !_n15
   | a2 & !b2 & !_n15
   | a2 & b2 & _n15 ;

_n16 = !a2 & b2 & _n15
   | a2 & !b2 & _n15
   | a2 & b2 ;

c3 = !a3 & !b3 & _n16
   | !a3 & b3 & !_n16
   | a3 & !b3 & !_n16
   | a3 & b3 & _n16 ;

endequ

modoru.jpg(1480 byte)  

ユーザ・ライブラリの読み出し

ユーザのライブラリを usr.lib に作って、その中の 手続きを使う場合は library で usr.lib を読み込ま せます。

logicname sample

library usr.lib   {←ユーザのライブラリを読み込みます。}

entity main
input  a[4],b[4];
output q[4];

   q = add(a,b);  {←ユーザの定義した手続きです。}

ende

entity sim
output a[4],b[4];
output q[4];
bitr   tc[8];

   part main(a,b,q)

   tc=tc+1;

   a=tc.0:3;
   b=tc.4:7;

ende

endlogic

modoru.jpg(1480 byte)