Está en la página 1de 9

Cdigos Digitales:

Parce falta la parte en que los vectores a y p ambos son negativos el resto
de condiciones las hice yo toca que les pase una revisada a ver ah esta
explicado como va y toco crear mas vectores men.
module ARES(
input [1:0] a,p,
output [2:0] r, /// vector de resultado led0, led1 y led 2
output [1:0] sig,/// vector signo de los numeros led7,led6
output [1:0] ST,/// reune el led4 y led 5
input s1,s2,sou,eas,rot,
output l3,
);
//a= vector primer numero, p=vector segundo numero, S1=signo primer
numero, S2=signo segundo numero,r= resultado suma,ST= signo suma
always @(*)
begin
case (rot)
///// sin tener en cuenta signo
1:r=a+p;
////// final sin tener en cuenta el signo
////// inicio teniendo en cuenta signo
default:
begin
///// signo del vector a negativo
if(a==0&&p==0&&s1==1&&s2==1)
begin
sig=3;
r=0;
end
else if(a==0&&p==1&&s1==1&&s2==1)
begin
sig=3;
r=1;

ST=0;
end
else if(a==0&&p==2&&s1==1&&s2==1)
begin
sig=3;
r=2;
ST=0;
end
else if(a==0&&p==3&&s1==1&&s2==1)
begin
sig=3;
r=3;
ST=0;
end
else if(a==1&&p==0&&s1==1&&s2==1)
begin
sig=3;
r=a-p;
ST=1;
end
else if(a==1&&p==1&&s1==1&&s2==1)
begin
sig=3;
r=a-p;
ST=0;
end
else if(a==1&&p==2&&s1==1&&s2==1)
begin
sig=3;
r=p-a;
ST=0;
end

else if(a==1&&p==3&&s1==1&&s2==1)
begin
sig=3;
r=p-a;
ST=0;
end
else if(a==2&&p==0&&s1==1&&s2==1)
begin
sig=3;
r=a-p;
ST=1;
end
else if(a==2&&p==1&&s1==1&&s2==1)
begin
sig=3;
r=a-p;
ST=1;
end
else if(a==2&&p==2&&s1==1&&s2==1)
begin
sig=3;
r=p-a;
ST=0;
end
else if(a==2&&p==3&&s1==1&&s2==1)
begin
sig=3;
r=p-a;
ST=0;
end
else if(a==3&&p==0&&s1==1&&s2==1)
begin

sig=3;
r=a-p;
ST=1;
end
else if(a==3&&p==1&&s1==1&&s2==1)
begin
sig=3;
r=a-p;
ST=1;
end
else if(a==3&&p==2&&s1==1&&s2==1)
begin
sig=3;
r=a-p;
ST=1;
end
else if (a==3&&p==3&&s1==1&&s2==1)
begin
sig=3;
r=0;
ST=0;
end
///// final del vector a negativo
///// inicio del vector p negativo
else if (a==0&&p==0&&s1==0&&s2==0)
begin
r=0;
ST=0;
end
else if (a==0&&p==1&&s1==0&&s2==0)
begin
r=p-a;

ST=1;
end
else if (a==0&&p==2&&s1==0&&s2==0)
begin
r=p-a;
ST=1;
end
else if (a==0&&p==3&&s1==0&&s2==0)
begin
r=p-a;
ST=1;
end
else if (a==1&&p==0&&s1==0&&s2==0)
begin
r=a-p;
ST=0;
end
else if (a==1&&p==1&&s1==0&&s2==0)
begin
r=p-a;
ST=0;
end
else if (a==1&&p==2&&s1==0&&s2==0)
begin
r=p-a;
ST=1;
end
else if (a==1&&p==3&&s1==0&&s2==0)
begin
r=p-a;
ST=1;
end

else if (a==2&&p==0&&s1==0&&s2==0)
begin
r=a-p;
ST=0;
end
else if (a==2&&p==1&&s1==0&&s2==0)
begin
r=a-p;
ST=0;
end
else if (a==2&&p==2&&s1==0&&s2==0)
begin
r=a-p;
ST=0;
end
else if (a==2&&p==3&&s1==0&&s2==0)
begin
r=p-a;
ST=1;
end
else if (a==3&&p==0&&s1==0&&s2==0)
begin
r=a-p;
ST=0;
end
else if (a==3&&p==1&&s1==0&&s2==0)
begin
r=a-p;
ST=0;
end
else if (a==3&&p==2&&s1==0&&s2==0)
begin

r=a-p;
ST=0;
end
else if (a==3&&p==3&&s1==0&&s2==0)
begin
r=a-p;
ST=0;
end
///// final vector p en negativo
/// aqui continua su parte sucia cuando el vector p y a es negativo
jejejeje
//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
// aqui pone eso//
//////////////////////////////////////////////////////////////////////////////
end
end case
//// condicion sur en 1
if (sou==1&&eas==0)
begin
r=7;
l3=1;
end
//// final condicion sur en 1
//// condicion este en 1
else if (eas==1&&sou==0)
begin
ST=3;
sig=3;
end
//// final condicion este en 1
///// esta es la parte de la entrada igual a la salida men toca que la
mire proque esta dura

else if (eas==1&&sou==1)
begin
if (s1==1&&s2==1)
begin
r=3;
sig=a;
ST=p;
end
else if (s1==0&&s2==1)
begin
r=1;
sig=a;
ST=p;
end
else if (s1==1&&s2==0)
begin
r=2;
sig=a;
ST=p;
end
else
begin
r=0;
sig=a;
ST=p;
end
end
else
//// final de entrada igual a la salida

end

endmodule

También podría gustarte