¿vhdl realiza la conversión de código complementario a código fuente?
Invierte y luego suma 1 para encontrar el complemento, lo que significa que estás buscando el complemento de un número negativo, por lo que el primero el dígito debe ser bit de signo
El código vhdl es el siguiente
BIBLIOTECA IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_ARITH.p> USE IEEE.STD_LOGIC_ARITH.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY exp IS
PUERTO(clk: en std_logic ;
a : en std_ logic_vector (7 hasta 0);
b : fuera std_logic_vector (7 hasta 0));
END exp;
ARQUITECTURA uno DE exp ES
COMENZAR
PROCESO(clk)
VARBLE temp: std_logic_vector (7 abajo a 0);
begin
si clk'event y clk = '1' entonces
temp := a XOR "01111111" -- XOR inverso
temp : = conv_std_logic_vector(conv_integer( temp)+1,8); --Convierte la temperatura en un número entero más 1 y luego vuelve a convertirla
b <= temp; > finalizar si; p>
finalizar proceso;
finalizar uno;