Hirdetés
-
Végre Steamre tart a Sins of a Solar Empire II
gp A nyár folyamán véget ér az Epic Games Store exkluzivitása és a Valve rendszerében is megjelenik a teljes kiadás.
-
Várható a HyperOS a Poco F3-ra is
ma Elkezdtek frissülni a Xiaomi új felületére a Redmi K40-ek, ámde Android 13 alapon megy a dolog.
-
AMD Radeon undervolt/overclock
lo Minden egy hideg, téli estén kezdődött, mikor rájöttem, hogy már kicsit kevés az RTX2060...
Aktív témák
-
t3rm1nat0r
csendes tag
Egy vektorprocesszoros összeadó már bonyolultabb. Azért annyira nem, hiszen 1 nap alatt összehozható.
void define_dflip2(int t,int l1,int l2)
{
int tr[]={
t+0, t+1, t+2, t+3, t+4,
t+sor+0, t+sor+1, t+sor+2, t+sor+3, t+sor+4,0};//5-9
define_links(tr[0],link_5V,l1,0); //inverter
define_links(tr[5],link_5V,l2,1);
define_links(tr[1],l1,l2,0); define_links(tr[2],tr[7],tr[1],1);
define_links(tr[6],l1,tr[5],1); define_links(tr[7],tr[2],tr[6],0);
define_links(tr[3],tr[0],tr[2],1); define_links(tr[4],tr[9],tr[3],0);
define_links(tr[8],tr[0],tr[7],1); define_links(tr[9],tr[4],tr[8],1);
}
void nand_gates()
{
int i,j,x,y;
for(j=0;j<sor*sor;j++)
{
nand[j].in1=1;
nand[j].in2=1;
nand[j].link[0]=link_none;
nand[j].link[1]=link_none;
#ifdef random_nand
nand[j].link[0]=j + (rand()%4) + (rand()%4)*sor;
nand[j].link[1]=j + (rand()%4) + (rand()%4)*sor;
#endif
}
nand[0].out=1;
nand[sor].out=0;
define_links(1,0,link_5V,0);//inv
//counter
int counter_bazis=2,dflip_out_offset=4;
int tr=counter_bazis;
define_dflip(tr,0); tr+=ketsor;
define_dflip(tr,tr +dflip_out_offset-ketsor); tr+=ketsor;
define_dflip(tr,tr +dflip_out_offset-ketsor); tr+=ketsor;
define_dflip(tr,tr +dflip_out_offset-ketsor); tr+=ketsor;
define_dflip(tr,tr +dflip_out_offset-ketsor); tr+=ketsor;
define_dflip(tr,tr +dflip_out_offset-ketsor); tr+=ketsor;
define_dflip(tr,tr +dflip_out_offset-ketsor); tr+=ketsor;
define_dflip(tr,tr +dflip_out_offset-ketsor); tr+=ketsor;
//adder
int adder_bazis=8,adder_out_offset=34;
int tr1=adder_bazis,
tr_out1=counter_bazis +dflip_out_offset,
tr_out_carry=link_0V;
int u=7,tr_adder=0,tr2,
adder_parm[]={link_0V,link_0V,link_0V,link_0V,link_5V,link_0V,link_5V,link_0V};//0001010=10
tr2=tr1;
define_adder(tr2, adder_parm[u--], tr_out1 +ketsor*0, tr_out_carry); tr_out_carry=tr2 +adder_out_offset+1;tr2+=ketsor;
define_adder(tr2, adder_parm[u--], tr_out1 +ketsor*1, tr_out_carry); tr_out_carry=tr2 +adder_out_offset+1;tr2+=ketsor;
define_dflip2(tr2, 0,tr1 +adder_out_offset ); tr2+=ketsor;
define_dflip2(tr2, 0,tr1 +adder_out_offset +ketsor); tr2+=ketsor;
define_dflip2(tr2, 0,tr_out1 +ketsor*2); tr2+=ketsor;
define_dflip2(tr2, 0,tr_out1 +ketsor*3); tr2+=ketsor;
define_dflip2(tr2, 0,tr_out1 +ketsor*4); tr2+=ketsor;
define_dflip2(tr2, 0,tr_out1 +ketsor*5); tr2+=ketsor;
define_dflip2(tr2, 0,tr_out1 +ketsor*6); tr2+=ketsor;
define_dflip2(tr2, 0,tr_out1 +ketsor*7); tr2+=ketsor;
define_dflip2(tr2, 0,tr_out_carry ); tr_out_carry=tr2 +dflip_out_offset;
tr_out1=tr1 +dflip_out_offset +ketsor*2;
tr1+=6;
tr2=tr1;
define_adder(tr2, adder_parm[u--], tr_out1 +ketsor*2, tr_out_carry); tr_out_carry=tr2 +adder_out_offset+1;tr2+=ketsor;
define_adder(tr2, adder_parm[u--], tr_out1 +ketsor*3, tr_out_carry); tr_out_carry=tr2 +adder_out_offset+1;tr2+=ketsor;
define_dflip2(tr2, 0,tr_out1 +ketsor*0); tr2+=ketsor;
define_dflip2(tr2, 0,tr_out1 +ketsor*1); tr2+=ketsor;
define_dflip2(tr2, 0,tr1 +adder_out_offset ); tr2+=ketsor;
define_dflip2(tr2, 0,tr1 +adder_out_offset +ketsor); tr2+=ketsor;
define_dflip2(tr2, 0,tr_out1 +ketsor*4); tr2+=ketsor;
define_dflip2(tr2, 0,tr_out1 +ketsor*5); tr2+=ketsor;
define_dflip2(tr2, 0,tr_out1 +ketsor*6); tr2+=ketsor;
define_dflip2(tr2, 0,tr_out1 +ketsor*7); tr2+=ketsor;
define_dflip2(tr2, 0,tr_out_carry ); tr_out_carry=tr2 +dflip_out_offset;
tr_out1=tr1 +dflip_out_offset +ketsor*2;
tr1+=6;
tr2=tr1;
define_adder(tr2, adder_parm[u--], tr_out1 +ketsor*4, tr_out_carry); tr_out_carry=tr2 +adder_out_offset+1;tr2+=ketsor;
define_adder(tr2, adder_parm[u--], tr_out1 +ketsor*5, tr_out_carry); tr_out_carry=tr2 +adder_out_offset+1;tr2+=ketsor;
define_dflip2(tr2, 0,tr_out1 +ketsor*0); tr2+=ketsor;
define_dflip2(tr2, 0,tr_out1 +ketsor*1); tr2+=ketsor;
define_dflip2(tr2, 0,tr_out1 +ketsor*2); tr2+=ketsor;
define_dflip2(tr2, 0,tr_out1 +ketsor*3); tr2+=ketsor;
define_dflip2(tr2, 0,tr1 +adder_out_offset ); tr2+=ketsor;
define_dflip2(tr2, 0,tr1 +adder_out_offset +ketsor); tr2+=ketsor;
define_dflip2(tr2, 0,tr_out1 +ketsor*6); tr2+=ketsor;
define_dflip2(tr2, 0,tr_out1 +ketsor*7); tr2+=ketsor;
define_dflip2(tr2, 0,tr_out_carry ); tr_out_carry=tr2 +dflip_out_offset;
tr_out1=tr1 +dflip_out_offset +ketsor*2 ;
tr1+=6;
tr2=tr1;
define_adder(tr2, adder_parm[u--], tr_out1 +ketsor*6, tr_out_carry); tr_out_carry=tr2 +adder_out_offset+1;tr2+=ketsor;
define_adder(tr2, adder_parm[u--], tr_out1 +ketsor*7, tr_out_carry); tr_out_carry=tr2 +adder_out_offset+1;tr2+=ketsor;
define_dflip2(tr2, 0,tr_out1 +ketsor*0); tr2+=ketsor;
define_dflip2(tr2, 0,tr_out1 +ketsor*1); tr2+=ketsor;
define_dflip2(tr2, 0,tr_out1 +ketsor*2); tr2+=ketsor;
define_dflip2(tr2, 0,tr_out1 +ketsor*3); tr2+=ketsor;
define_dflip2(tr2, 0,tr_out1 +ketsor*4); tr2+=ketsor;
define_dflip2(tr2, 0,tr_out1 +ketsor*5); tr2+=ketsor;
define_dflip2(tr2, 0,tr1 +adder_out_offset ); tr2+=ketsor;
define_dflip2(tr2, 0,tr1 +adder_out_offset +ketsor); tr2+=ketsor;
define_dflip2(tr2, 0,tr_out_carry ); tr_out_carry=tr2 +dflip_out_offset;
while(1)
{
//printf("%d.. %d %d \n",k,nand[0].out,nand[sor].out);
draw_layer();
for(i=0;i<100;i++)
{
//draw_layer();//ido kell mig minden beall, kirajzolhato a koztes allapot
for(j=0;j<sor*sor;j++)
if((j%sor))//elso sor nem kell
{
int link1=nand[j].link[0];
int link2=nand[j].link[1];
if(link1==link_5V) nand[j].in1=1;//fix input
if(link2==link_5V) nand[j].in2=1;
if(link1==link_0V) nand[j].in1=0;
if(link2==link_0V) nand[j].in2=0;
if(link1>=0) nand[j].in1=nand[link1].out;//out -> in1,2
if(link2>=0) nand[j].in2=nand[link2].out;
}
for(j=0;j<sor*sor;j++)
if((j%sor))//elso sor nem kell
{
nand[j].out=!(nand[j].in1 & nand[j].in2);//NAND muvelet
}
}
int mask=0x80,bits=0;
for(y=0;y<16;y+=2)
{
// for(x=0;x<6;x++) printf("%d ",nand[x+sor*y].out);
int gate=nand[counter_bazis + dflip_out_offset + sor*(14-y)].out;//counter kimenet
if(gate) bits+=mask;
mask>>=1;
printf("%d",gate);
}
printf(" = %d \n",bits);
for(x=0;x<4;x++)
{
int bazis=adder_bazis+ dflip_out_offset +x*6 +ketsor*2,e;
bits=0;mask=0x80;
for(y=0;y<8;y++)
{
int gate=nand[bazis + (7-y)*ketsor ].out;
if(gate) bits+=mask;
mask>>=1;
printf("%d",gate);
}
printf(" = %d \n",bits);
}
nand[0].out^=1;
printf("\n");
getchar();
}
}
int main()
{
initialize();
nand_gates();
XFlush(disp);
getchar();
return 0;
}
Aktív témák
- HP Victus 16 - 16.1" FHD IPS 144Hz / i5-12500H / 16Gb DDR5 / 1Tb PCIe 4.0 / RTX 3050 Ti / HUN
- Lenovo S3 Yoga 14 i3-5010 4Gb ram 180Gb SSD FHD érintő, számlával, garanciával
- ZBook 17 G6 17.3" FHD IPS Xeon E-2286M RTX 3000 32GB 512GB NVMe DVD író gar
- Hp 470 G5 17,1" i5-8250 8/256 VGA 930MX 2Gb számlával, garanciával
- IPhone 15 Pro max 256GB gyári független hibátlan 2024.12.13.
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen
Cég: Promenade Publishing House Kft.
Város: Budapest