logicname yahoo29
entity main
input reset;
input ld;
input ep,et;
input data[8];
output co;
output q[8];
bitr nq[8];
if (reset)
nq=0;
else
if (ld)
nq=data;
else
if (ep&et)
nq=nq+1;
else
nq=nq;
endif
endif
endif
if (nq==255) co=1; endif
q=nq;
ende
entity sim
output reset;
output ld;
output ep,et;
output data[8];
output co;
output q[8];
bitr tc[8];
part main(reset,ld,ep,et,data,co,q)
tc=tc+1;
if ((tc<5)|(tc==53)) reset=1; endif
if (tc>10) et=1; endif
if (tc>15)
if (tc.0) ep=1; endif
endif
if (tc==25) ld=1; data=250; endif
ende
endlogic
logicname yahoo30
procedure count8bit
input reset;
input ld;
input ep,et;
input data[8];
output q[9];
bitn co;
bitr nq[8];
q.0:7=nq;
q.8=co;
if (reset)
nq=0;
else
if (ld)
nq=data;
else
if (ep&et)
nq=nq+1;
else
nq=nq;
endif
endif
endif
if (nq==255) co=1; endif
endp
entity main
input reset;
input ld;
input ep,et;
input data[16];
output co;
output q[16];
bitn inta[9];
bitn intb[9];
inta=count8bit(reset,ld,ep,1,data.0:7);
intb=count8bit(reset,ld,ep,inta.8,data.8:15);
co=inta.8&intb.8;
q.0:7=inta.0:7;
q.8:15=intb.0:7;
ende
entity sim
output reset;
output ld;
output ep,et;
output data[16];
output co;
output q[16];
bitr tc[8];
part main(reset,ld,ep,et,data,co,q)
tc=tc+1;
if ((tc<5)|(tc==53)) reset=1; endif
if (tc>10) et=1; endif
if (tc>15)
if (tc.0==1) ep=1; endif
endif
if (tc==25) ld=1; data=65530; endif
ende
endlogic
logicname yahoo31
library usr.lib
entity main
input reset;
input ld;
input ep,et;
input data[16];
output co;
output q[16];
bitn inta[9];
bitn intb[9];
inta=count8bit(reset,ld,ep,1,data.0:7);
intb=count8bit(reset,ld,ep,inta.8,data.8:15);
co=inta.8&intb.8;
q.0:7=inta.0:7;
q.8:15=intb.0:7;
ende
entity sim
output reset;
output ld;
output ep,et;
output data[16];
output co;
output q[16];
bitr tc[8];
part main(reset,ld,ep,et,data,co,q)
tc=tc+1;
if ((tc<5)|(tc==53)) reset=1; endif
if (tc>10) et=1; endif
if (tc>15)
if (tc.0==1) ep=1; endif
endif
if (tc==25) ld=1; data=65530; endif
ende
endlogic
name count8bit
time 0g
input reset0,ld0,ep0,et0,data0,data1,data2,data3,data4,data5,data6,data7;
infoin 5,1,1,1,1,8;
infoinc 5,0,0,0,0,0;
output q0,q1,q2,q3,q4,q5,q6,q7,q8;
infoout 1,9;
infointr 1,8;
interr _n24,_n25,_n26,_n27,_n28,_n29,_n30,_n31;
infointn 1,14;
intern _n37,_n44,_n45,_n46,_n47,_n48,_n49,_n60,_n63,_n66
,_n69,_n72,_n75,_n78;
equ
q0 = _n24 ;
q1 = _n25 ;
q2 = _n26 ;
q3 = _n27 ;
q4 = _n28 ;
q5 = _n29 ;
q6 = _n30 ;
q7 = _n31 ;
q8 = !_n78 ;
_n24 = data0 & !reset0 & ld0
| !_n24 & !reset0 & !ld0 & ep0 & et0
| _n24 & !reset0 & !ld0 & !_n37 ;
_n25 = data1 & !reset0 & ld0
| !_n25 & !reset0 & !ld0 & _n24 & ep0 & et0
| _n25 & !reset0 & !ld0 & !_n24 & ep0 & et0
| _n25 & !reset0 & !ld0 & !_n37 ;
_n26 = data2 & !reset0 & ld0
| !_n26 & !reset0 & !ld0 & _n25 & _n24 & ep0 & et0
| _n26 & !reset0 & !ld0 & ep0 & et0 & !_n44
| _n26 & !reset0 & !ld0 & !_n37 ;
_n27 = data3 & !reset0 & ld0
| !_n27 & !reset0 & !ld0 & _n26 & _n25 & _n24 & ep0 & et0
| _n27 & !reset0 & !ld0 & ep0 & et0 & !_n45
| _n27 & !reset0 & !ld0 & !_n37 ;
_n28 = data4 & !reset0 & ld0
| !_n28 & !reset0 & !ld0 & _n27 & _n26 & _n25 & _n24 & ep0 & et0
| _n28 & !reset0 & !ld0 & ep0 & et0 & !_n46
| _n28 & !reset0 & !ld0 & !_n37 ;
_n29 = data5 & !reset0 & ld0
| !_n29 & !reset0 & !ld0 & _n28 & _n27 & _n26 & _n25 & _n24 & ep0 & et0
| _n29 & !reset0 & !ld0 & ep0 & et0 & !_n47
| _n29 & !reset0 & !ld0 & !_n37 ;
_n30 = data6 & !reset0 & ld0
| !_n30 & !reset0 & !ld0 & _n29 & _n28 & _n27 & _n26 & _n25 & _n24 & ep0 & et0
| _n30 & !reset0 & !ld0 & ep0 & et0 & !_n48
| _n30 & !reset0 & !ld0 & !_n37 ;
_n31 = data7 & !reset0 & ld0
| !_n31 & !reset0 & !ld0 & _n30 & _n29 & _n28 & _n27 & _n26 & _n25 & _n24 & ep0 & et0
| _n31 & !reset0 & !ld0 & ep0 & et0 & !_n49
| _n31 & !reset0 & !ld0 & !_n37 ;
_n37 = ep0 & et0 ;
_n44 = _n25 & _n24 & !reset0 & !ld0 & ep0 & et0 ;
_n45 = _n26 & _n25 & _n24 & !reset0 & !ld0 & ep0 & et0 ;
_n46 = _n27 & _n26 & _n25 & _n24 & !reset0 & !ld0 & ep0 & et0 ;
_n47 = _n28 & _n27 & _n26 & _n25 & _n24 & !reset0 & !ld0 & ep0 & et0 ;
_n48 = _n29 & _n28 & _n27 & _n26 & _n25 & _n24 & !reset0 & !ld0 & ep0 & et0 ;
_n49 = _n30 & _n29 & _n28 & _n27 & _n26 & _n25 & _n24 & !reset0 & !ld0 & ep0 & et0 ;
_n60 = _n31 & !_n30
| !_n31 ;
_n63 = !_n60 & !_n29
| _n60 ;
_n66 = !_n63 & !_n28
| _n63 ;
_n69 = !_n66 & !_n27
| _n66 ;
_n72 = !_n69 & !_n26
| _n69 ;
_n75 = !_n72 & !_n25
| _n72 ;
_n78 = !_n75 & !_n24
| _n75 ;
endequ
|