Red de conocimiento informático - Problemas con los teléfonos móviles - Std::Código fuente de la función

Std::Código fuente de la función

En primer lugar, al programar, debe cambiar el código original a un código complementario. Hay mucha información sobre esto, puede consultarla.

El código fuente para la multiplicación de Booth es:

Biblioteca IEEE

Utilice IEEE. STD_LOGIC_1164. Todos;

Utiliza IEEE. STD_LOGIC_ARITH. Todos;

Utiliza IEEE. STD_LOGIC_UNSIGNED all;

- Si crea una instancia, descomente las siguientes declaraciones de biblioteca

- Cualquier primitiva de Xilinx en este código.

-Biblioteca UNISIM

-Usar UNISIM. VComponents.all

La entidad mp es

port(ai:en STD _ logic _ vector(7 hasta 0);

bi:en vector lógico estándar Medio (7 a 0)

done:out STD _ logic

clk: in std_logic;

op:out STD _ logic _ vector (15 hasta 0);

Finalizar MP;

El comportamiento arquitectónico de MP es

Iniciar

Proceso (ai, bi, clk )

Variables a, b, m: STD_logic_vector (7 hasta 0);

Variable CP: STD_logic_vector (1 hasta 0); /p>

Variable t: STD _ logic;

Contador de variable: entero;

Inicio

Si clk evento y clk='1 'Entonces

Contador:= 0;

t:= ' 0 ';

a:= ai;

b:= bi;

m:= " 00000000 ";

CP:= b(0)&'0';

Completo<='0 ';

contador while y bucle lt8

caso cp es

cuando " 10" = >m:= m-a;

cuando " 01" = > cuando; m:= m+a;

cuando otros = & gtm:= m;

fin de caso;

t:= b(0);

b:= m(0)&b(7 baja a 1);

m:= m(7)&m( 7 baja a 1);

CP:= b(0)&t;

Contador:=Contador+1;

Fin del bucle;

op & lt= m & ampb;

Completar& lt='1';

Finalizar si;

Finalizar proceso;

Finalizar comportamiento;

Este es un multiplicador de 8 bits, puedes modificarlo ligeramente.