Скачиваний:
20
Добавлен:
10.12.2013
Размер:
13.31 Кб
Скачать

Приложение 2.2

SUBDESIGN USOR2

%----------PIN----------------------% Описание выводов ПЛИС

(

R1,R2,M,ALE,RD,CE,WR,PSEN,A[7..0]:INPUT; Входные

T[2..1],INTO :OUTPUT; Выходные

ADO[7..0] :BIDIR; Двунаправленные

SA[7..0] :OUTPUT; Выходные

PA[7..0] :OUTPUT; Выходные

PB[5..0] :OUTPUT; Выходные

PC[1..0] :INPUT; Входные

RDP :OUTPUT; Выходные

CTS :INPUT; Входные

RTS :OUTPUT; Выходные

)

%------Внутренние регистры и комбинационные схемы-----%

VARIABLE

RG[24..1],Q[4..1] :DFF; D - триггеры

RE[13..1],RW[24..1] :DFF; D - триггеры

RA[8..1],RTS :DFF; D - триггеры

CT[5..1] :TFF; Т- триггер

SHET,INT,T1,T2 :DFF; D - триггеры

Q5 :TFF; Т- триггер

SA[7..0],PA[7..0],PB[5..0] :DFF; D - триггеры

AD[7..0],RZ,MD,MDI,CLK64 :NODE;

COMP1 :DFF; D - триггеры

OUT :JKFF; JK - триггер

% -----------------WRITE---------------%

% 0 - EMPTY 1 - 1 BAYT %

% 2 - 2 BAYT 3 -3 BAYT %

% -----------------READ----------------%

% 0-[1..4]SAPROS :5MK: 6COMP1: 7COMP2 %

% 1-NOMER %

%---------------------------------------------------------------%

BEGIN

SA[7..0].D = ADO[7..0];

SA[7..0].CLK = !ALE;

PA[7..0].D = ADO[7..0]&!CE &(SA[3..0]==4) # PA[7..0]&!(!CE &(SA[3..0]==4));

PA[7..0].CLK = WR;

PB[5..0].D = ADO[5..0]&!CE &(SA[3..0]==5) # PA[5..0]&!(!CE &(SA[3..0]==5));

PB[5..0].CLK = WR;

RTS.D = ADO0&!CE &(SA[3..0]==6) # RTS&!(!CE &(SA[3..0]==6));

RTS.CLK = WR;

RDP = RD & PSEN;

RE[4..1].D = RG[16..13];

RE5.D = RG11;

RE[13..6].D = RG[24..17];

RE[13..1].CLK=!M;

П 2.2

RA[8..1].D = RG[8..1];

RA[8..1].CLK=!M;

RG1.D = Q4;

RG[24..2].D = RG[23..1] ;

RG[24..1].CLK=!Q3;

CT1.T = VCC; Описание счетчика

CT2.T = CT1;

CT3.T = CT1 & CT2 ;

CT4.T = CT1 & CT2 & CT3;

CT5.T = CT1 & CT2 & CT3 & CT4;

CT1.CLRN = M;

CT[5..2].PRN = M ; % USTANOV 30 %

CT[5..1].CLK = !Q3;

OUT.J = (CT[5..1]==4);

OUT.K = (CT[5..1]==28);

OUT.CLK = Q3;

Q1.CLK = !R1 ;

Q1.PRN = !R2; % D5 %

Q1.D = GND;

Q2.CLK = !R2; % D6 %

Q2.PRN = !R1;

Q2.D = GND;

Q3.D = !Q3;

Q3.CLK =!(!R1 & !R2); % D10 Тактовая частота - F64 %

Q3.PRN = M;

RZ = (!Q1 & R1) # (R2 & !Q2) ; % Код RZ %

Q4.D = GND;

Q4.PRN = !RZ ; % Код NRZ %

Q4.CLK = Q3 ;

md = lcell(m);

MDI = LCELL(MD);

SHET.CLRN=MDI;

SHET.D = !SHET;

SHET.CLK = RZ;

COMP1.D = !((RG1 $ A0) # (RG2 $ A1) # (RG3 $ A2) # (RG4 $ A3)

#(RG5 $ A4) # (RG6 $ A5) # (RG7 $ A6) # (RG8 $ A7));

COMP1.CLK = !M;

INT.D = SHET & !((RG1 $ A0) # (RG2 $ A1) # (RG3 $ A2) # (RG4 $ A3)

#(RG5 $ A4) # (RG6 $ A5) # (RG7 $ A6) # (RG8 $ A7));

INT.CLK = !M;

%__________ Выходные регистры ____________ %

П 2.2

RW1.D = (ADO0 & !CE &(SA[3..0]==3)

# RW1 & !(!CE &(SA[3..0]==3))) & !OUT;

RW[8..2].D = (ADO[7..1] & !CE &(SA[3..0]==3)

# RW[8..2] & !(!CE &(SA[3..0]==3))) & !OUT

# RW[7..1] & OUT;

RW[16..9].D = (ADO[7..0] & !CE &(SA[3..0]==2)

# RW[16..9] & !(!CE &(SA[3..0]==2))) & !OUT

# RW[15..8] & OUT;

RW[24..17].D = (ADO[7..0] & !CE &(SA[3..0]==1)

# RW[24..17] & !(!CE &(SA[3..0]==1))) & !OUT

# RW[23..16] & OUT;

RW[24..1].CLK = !CLK64;

CLK64 = (!Q3 & OUT) # !WR & !OUT & !CE;

% _________ Устройства полярности ____________ %

Q5.T = RW24 & OUT;

Q5.CLK = Q3;

T1.D = INT & RW24 & Q5 & OUT;

T2.D = INT & RW24 & !Q5 & OUT;

T[2..1].CLK = Q3;

%____________________________________________%

INTO = M;

AD0 = RE1 & (SA[3..0]==0)

# RE6 & (SA[3..0]==1) # RA1 & (SA[3..0]==2) # PC0&(SA[3..0]==3);

AD1 = RE2 & (SA[3..0]==0)

# RE7 & (SA[3..0]==1) # RA2 & (SA[3..0]==2) # PC1&(SA[3..0]==3);

AD2 = RE3 & (SA[3..0]==0)

# RE8 & (SA[3..0]==1) # RA3 & (SA[3..0]==2) # CTS&(SA[3..0]==3);

AD3= RE4 & (SA[3..0]==0)

# RE9 & (SA[3..0]==1) # RA4 & (SA[3..0]==2);

AD4 = RE5 & (SA[3..0]==0)

# RE10 & (SA[3..0]==1) # RA5 & (SA[3..0]==2);

AD5 = COMP1 & (SA[3..0]==0)

# RE11 & (SA[3..0]==1) # RA6 & (SA[3..0]==2);

AD6 = RE12 & (SA[3..0]==1) # RA7 & (SA[3..0]==2);

AD7 = RE13 & (SA[3..0]==1) # RA8 & (SA[3..0]==2);

ADO7 = TRI ( AD7,(!CE & !SA3 & !RD) );

ADO6 = TRI ( AD6,(!CE & !SA3 & !RD) );

ADO5 = TRI ( AD5,(!CE & !SA3 & !RD) );

ADO4 = TRI ( AD4,(!CE & !SA3 & !RD) );

ADO3 = TRI ( AD3,(!CE & !SA3 & !RD) );

ADO2 = TRI ( AD2,(!CE & !SA3 & !RD) );

ADO1 = TRI ( AD1,(!CE & !SA3 & !RD) );

ADO0 = TRI ( AD0,(!CE & !SA3 & !RD) );

END;

Соседние файлы в папке Колин