Aggiunto modulo Comparator

This commit is contained in:
2019-08-27 11:50:27 +02:00
parent f8b3061b00
commit 019e9a5cd8
71 changed files with 1927 additions and 76 deletions

38
pr.vhd Normal file
View File

@@ -0,0 +1,38 @@
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity pr is
generic( BITCOUNT: integer := 8 );
port(
xExp, yExp: in std_logic_vector((BITCOUNT-1) downto 0);
xOut, yOut: out std_logic_vector((BITCOUNT-1) downto 0);
needSwap: out std_logic
);
end pr;
architecture qwe of pr is
signal xGTy: std_logic_vector((BITCOUNT-1) downto 0);
signal yGTx: std_logic_vector((BITCOUNT-1) downto 0);
begin
xGTy <= xExp and (not yExp);
yGTx <= (not xExp) and yExp;
xOut <= xGTy;
yOut <= yGTx;
needSwap_compute: process (xGTy, yGTx)
variable SW: std_logic;
variable K: std_logic;
begin
SW := '0';
k := '1';
for i in (BITCOUNT-1) downto 0 loop
SW := SW or ((not(xGTy(i)) and yGTx(i)) and K);
K := K and (not(xGTy(i) and not(yGTx(i))));
end loop;
needSwap <= SW;
end process;
end qwe;