[an error occurred while processing this directive]
|
Что-то вроди этого:
%**********count*********************************************%
include "……………….";
subdesign count
(
….. dataIN[7..0],load_L,load_H,………..:input;
………… :output;
)
VARIABLE
…
DataIN_L[7..0] :latch;
DataIN_H[7..0] :latch;
….
BEGIN
…..
DataIN_H[].d =dataIN[7..0];
DataIN_L[].d = dataIN[7..0];
IF load_L THEN %Загрузка в защелку из dataIN%
DataIN_L[].ena = VCC;
DataIN_H[].ena = GND;
ELSIF load_H THEN
DataIN_H[].ena = VCC;
DataIN_L[].ena = GND;
ELSE
DataIN_L[].ena = GND;
DataIN_H[].ena = GND;
END IF;
……
END;
%************************************************************%
%**********decod*********************************************%
include "……………..";
include "lpm_bustri";
subdesign decod
(
………….
data_i[7..0] :input;
data_o[7..0] :output;
DATA_IO[7..0] :bidir;
………….
)
VARIABLE
…………..
bus : lpm_bustri WITH (LPM_WIDTH=8);
………….
Begin
………
%Двунаправленная шина данных%
bus.data[] = data_i[7..0];
data_o[7..0] = bus.result[];
DATA_IO[7..0] = bus.tridata[];
…….
End;
%************************************************************%
Затем делаем inc файлы:
%********** counter ********************************************%
include "decod";
include "count";
subdesign counter
(
………….:input;
………..
DATA[7..0] :bidir;
)
VARIABLE
…………..
decod_com :decod;
count_com :count;
……………
BEGIN
………………
DATA[7..0] = decod_com.DATA_IO[7..0]; %Здесь происходит затык%
decod_com.data_i[7..0] = count_com.dataOUT[7..0];
count_com.dataIN[7..0] = decod_com.data_o[7..0];
………….
END;
E-mail: info@telesys.ru