{ ===================================================== }
{ 74LP73 }
{ ===================================================== }
logicname 74LP73
{ ----------------------------------------------------- }
{ 手続き譜 }
{ ----------------------------------------------------- }
procedure jk
input CP;
input CLR;
input J,K;
output Q[2];
bitr q;
bitr p[2];
if (CP)
p=0;
else
if (p==0)
p=1;
else
if (p==1)
p=2;
else
if (p==2) p=p; endif
endif
endif
endif
if (CLR)
if (p.0)
switch(J,K)
case 0,0: q=q;
case 0,1: q=0;
case 1,0: q=1;
case 1,1: q=!q;
endswitch
else
q=q;
endif
endif
Q.0=q;
Q.1=p.0;
endp
{ ----------------------------------------------------- }
{ 実効譜 }
{ ----------------------------------------------------- }
entity TTL
input CPA,CPB;
input CLRA,CLRB;
input JA,JB;
input KA,KB;
output PQA,NQA,PA;
output PQB,NQB,PB;
bitn qa[2];
bitn qb[2];
qa=jk(CPA,CLRA,JA,KA);
qb=jk(CPB,CLRB,JB,KB);
PQA=qa.0;
NQA=!qa.0;
PA=qa.1;
PQB=qb.0;
NQB=!qb.0;
PB=qb.1;
ende
{ ----------------------------------------------------- }
{ 機能実行譜 }
{ ----------------------------------------------------- }
entity sim
output CPA,CPB;
output CLRA,CLRB;
output JA,JB;
output KA,KB;
output PQA,NQA,PA;
output PQB,NQB,PB;
bitr tc[7];
part TTL(CPA,CPB,CLRA,CLRB,JA,JB,KA,KB
,PQA,NQA,PA,PQB,NQB,PB)
tc=tc+1;
CPA=tc.2;
CPB=tc.2;
if (tc>4) CLRA=1; CLRB=1; endif
switch(tc)
case 8: JA=1; KA=0;
case 9: JA=1; KA=0;
case 10: JA=1; KA=0;
case 16: JA=0; KA=1;
case 17: JA=0; KA=1;
case 18: JA=0; KA=1;
case 24: JA=1; KA=1;
case 25: JA=1; KA=1;
case 26: JA=1; KA=1;
case 32: JA=1; KA=1;
case 33: JA=1; KA=1;
case 34: JA=1; KA=1;
endswitch
switch(tc)
case 8: JB=1; KB=0;
case 9: JB=1; KB=0;
case 10: JB=1; KB=0;
case 16: JB=0; KB=1;
case 17: JB=0; KB=1;
case 18: JB=0; KB=1;
case 24: JB=1; KB=1;
case 25: JB=1; KB=1;
case 26: JB=1; KB=1;
case 32: JB=1; KB=1;
case 33: JB=1; KB=1;
case 34: JB=1; KB=1;
endswitch
ende
endlogic