Red de conocimiento informático - Problemas con los teléfonos móviles - Verilog describe un sumador completo de 8 bits utilizando un módulo de canalización de 4 etapas

Verilog describe un sumador completo de 8 bits utilizando un módulo de canalización de 4 etapas

canalización del módulo (cout,sum,ina,inb,cin,clk);

salida[7:0] suma;

salida cout;

entrada[ 7:0] ina,inb;

entrada cin,clk;<

reg[7:0] tempa,tempb,sum;

reg tempci, firstco,segundoco,terceroco,cout;

reg[1:0] primeros,tercero,tercerob;

reg[3:0] seconda,segundob,segundos;

reg[5:0] firsta,firstb,thirds;

siempre @(posedge clk)

comenzar

tempa=ina; ; tempci=cin; //ingresar caché de datos

fin

siempre @(posedge clk)

comenzar

{firstco,firsts }=tempa[1:0]+tempb[1:0]+tempci;

//Adición de primer nivel (2 bits inferiores)

firsta=tempa[7:2] ; //Datos de caché no involucrados en el cálculo

firstb=tempb[7:2]

end

always @(posedge clk)

comenzar

{ secondco,segundos}={firsta[1:0]+firstb[1:0]+firstco,firsts};

// Suma de segundo nivel ( agregar bit 2 y bit 3)

segundo=firsta[5:2]; //Caché de datos

segundob= primerob[5:2]

finalizar

siempre @(posedge clk)

comenzar

{thirdco,thirds}={segundoa[1:0]+segundob[1:0]+ secondco,segundos};

//Adición de tercer nivel (sumando el cuarto y quinto dígito)

thirda=segundo[3:2] //Caché de datos

tercerb=segundob[3:

fin

siempre @(posedge clk)

comenzar<

{cout,sum} ={thirda[1:0]+thirdb[1:0]+thirdco,thirds};

// Suma de cuarto nivel (suma de dos dígitos altos)

fin

módulo final