
Дипломы2 / Диплом / Чужие дипломы / Колин / Колин / PR22
.DOCПриложение 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;