diff --git a/IEEE754Adder.xise b/IEEE754Adder.xise
index f45da8d..d404ff1 100644
--- a/IEEE754Adder.xise
+++ b/IEEE754Adder.xise
@@ -16,23 +16,23 @@
-
+
-
+
-
+
-
+
-
+
@@ -42,7 +42,7 @@
-
+
@@ -52,11 +52,11 @@
-
+
-
+
@@ -66,11 +66,11 @@
-
+
-
+
@@ -80,11 +80,11 @@
-
+
-
+
@@ -94,19 +94,19 @@
-
+
-
+
-
+
-
+
@@ -140,7 +140,7 @@
-
+
@@ -150,7 +150,7 @@
-
+
@@ -158,7 +158,7 @@
-
+
@@ -168,35 +168,41 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
+
+
+
+
+
+
@@ -455,8 +461,8 @@
-
-
+
+
@@ -475,7 +481,7 @@
-
+
@@ -531,7 +537,7 @@
-
+
diff --git a/IEEE754AdderTest.vhd b/IEEE754AdderTest.vhd
new file mode 100644
index 0000000..cc0d8a2
--- /dev/null
+++ b/IEEE754AdderTest.vhd
@@ -0,0 +1,109 @@
+LIBRARY ieee;
+USE ieee.std_logic_1164.ALL;
+
+
+ENTITY IEEE754AdderTest IS
+END IEEE754AdderTest;
+
+ARCHITECTURE behavior OF IEEE754AdderTest IS
+
+ -- Component Declaration for the Unit Under Test (UUT)
+
+ COMPONENT IEEE754Adder
+ PORT(
+ X : IN std_logic_vector(31 downto 0);
+ Y : IN std_logic_vector(31 downto 0);
+ RESET : IN std_logic;
+ CLK : IN std_logic;
+ RESULT : OUT std_logic_vector(31 downto 0)
+ );
+ END COMPONENT;
+
+
+ --Inputs
+ signal X : std_logic_vector(31 downto 0) := (others => '0');
+ signal Y : std_logic_vector(31 downto 0) := (others => '0');
+ signal RESET : std_logic := '0';
+ signal CLK : std_logic := '0';
+
+ --Outputs
+ signal RESULT : std_logic_vector(31 downto 0);
+
+ -- Clock period definitions
+ constant CLK_period : time := 100 ns; -- MESSA A CASO. VALUTARE IL PERIODO GIUSTO
+
+BEGIN
+
+ -- Instantiate the Unit Under Test (UUT)
+ uut: IEEE754Adder PORT MAP (
+ X => X,
+ Y => Y,
+ RESET => RESET,
+ CLK => CLK,
+ RESULT => RESULT
+ );
+
+ -- Clock process definitions
+ CLK_process :process
+ begin
+ CLK <= '0';
+ wait for CLK_period/2;
+ CLK <= '1';
+ wait for CLK_period/2;
+ end process;
+
+
+ -- Stimulus process
+ stim_proc: process
+ begin
+ RESET <= '1';
+ wait for 400 ns;
+ RESET <= '0';
+
+ -- TODO: FINIRE TEST
+ wait for CLK_period;
+ X <= "00000000000000000000000000000000";
+ Y <= "00000000000000000000000000000000";
+ wait for CLK_period;
+ X <= "00001000000000000000111000000000";
+ Y <= "00000010000001111000000000000000";
+ wait for CLK_period;
+ X <= "00000000000000000000000000000000";
+ Y <= "00000000000000000000000000000000";
+ wait for CLK_period;
+ X <= "00000000000000000000000000000000";
+ Y <= "00000000000000000000000000000000";
+ wait for CLK_period;
+ X <= "00000000000000000000000000000000";
+ Y <= "00000000000000000000000000000000";
+ wait for CLK_period;
+ X <= "00000000000000000000000000000000";
+ Y <= "00000000000000000000000000000000";
+ wait for CLK_period;
+ X <= "00000000000000000000000000000000";
+ Y <= "00000000000000000000000000000000";
+ wait for CLK_period;
+ X <= "00000000000000000000000000000000";
+ Y <= "00000000000000000000000000000000";
+ wait for CLK_period;
+ X <= "00000000000000000000000000000000";
+ Y <= "00000000000000000000000000000000";
+ wait for CLK_period;
+ X <= "00000000000000000000000000000000";
+ Y <= "00000000000000000000000000000000";
+ wait for CLK_period;
+ X <= "00000000000000000000000000000000";
+ Y <= "00000000000000000000000000000000";
+ wait for CLK_period;
+ X <= "00000000000000000000000000000000";
+ Y <= "00000000000000000000000000000000";
+ wait for CLK_period;
+ X <= "00000000000000000000000000000000";
+ Y <= "00000000000000000000000000000000";
+ wait for CLK_period;
+ X <= "00000000000000000000000000000000";
+ Y <= "00000000000000000000000000000000";
+ wait;
+ end process;
+
+END;
diff --git a/IEEE754AdderTest_isim_beh.exe b/IEEE754AdderTest_isim_beh.exe
new file mode 100755
index 0000000..3209988
Binary files /dev/null and b/IEEE754AdderTest_isim_beh.exe differ
diff --git a/fuse.log b/fuse.log
index eeb1191..483896c 100644
--- a/fuse.log
+++ b/fuse.log
@@ -1,36 +1,80 @@
-Running: /opt/Xilinx/14.7/ISE_DS/ISE/bin/lin64/unwrapped/fuse -intstyle ise -incremental -lib secureip -o /home/Luca/ISE/IEEE754Adder/NormalizerTest_isim_beh.exe -prj /home/Luca/ISE/IEEE754Adder/NormalizerTest_beh.prj work.NormalizerTest
+Running: /opt/Xilinx/14.7/ISE_DS/ISE/bin/lin64/unwrapped/fuse -intstyle ise -incremental -lib secureip -o /home/Luca/ISE/IEEE754Adder/IEEE754AdderTest_isim_beh.exe -prj /home/Luca/ISE/IEEE754Adder/IEEE754AdderTest_beh.prj work.IEEE754AdderTest
ISim P.20131013 (signature 0xfbc00daa)
Number of CPUs detected in this system: 4
Turning on mult-threading, number of parallel sub-compilation jobs: 8
Determining compilation order of HDL files
Parsing VHDL file "/home/Luca/ISE/IEEE754Adder/UTILS.vhd" into library work
+Parsing VHDL file "/home/Luca/ISE/IEEE754Adder/TypeCheck.vhd" into library work
+Parsing VHDL file "/home/Luca/ISE/IEEE754Adder/EqualCheck.vhd" into library work
Parsing VHDL file "/home/Luca/ISE/IEEE754Adder/Adder.vhd" into library work
Parsing VHDL file "/home/Luca/ISE/IEEE754Adder/ZeroCounter.vhd" into library work
+Parsing VHDL file "/home/Luca/ISE/IEEE754Adder/ZeroCheck.vhd" into library work
+Parsing VHDL file "/home/Luca/ISE/IEEE754Adder/ShiftRight.vhd" into library work
Parsing VHDL file "/home/Luca/ISE/IEEE754Adder/ShiftLeft.vhd" into library work
+Parsing VHDL file "/home/Luca/ISE/IEEE754Adder/NaNCheck.vhd" into library work
Parsing VHDL file "/home/Luca/ISE/IEEE754Adder/Comparator.vhd" into library work
Parsing VHDL file "/home/Luca/ISE/IEEE754Adder/AddSub.vhd" into library work
+Parsing VHDL file "/home/Luca/ISE/IEEE754Adder/TwoComplement.vhd" into library work
+Parsing VHDL file "/home/Luca/ISE/IEEE754Adder/Swap.vhd" into library work
+Parsing VHDL file "/home/Luca/ISE/IEEE754Adder/SumDataAdapter.vhd" into library work
+Parsing VHDL file "/home/Luca/ISE/IEEE754Adder/SpecialCasesCheck.vhd" into library work
+Parsing VHDL file "/home/Luca/ISE/IEEE754Adder/PrepareForShift.vhd" into library work
+Parsing VHDL file "/home/Luca/ISE/IEEE754Adder/OutputSelector.vhd" into library work
+Parsing VHDL file "/home/Luca/ISE/IEEE754Adder/OperationCheck.vhd" into library work
Parsing VHDL file "/home/Luca/ISE/IEEE754Adder/Normalizer.vhd" into library work
-Parsing VHDL file "/home/Luca/ISE/IEEE754Adder/NormalizerTest.vhd" into library work
+Parsing VHDL file "/home/Luca/ISE/IEEE754Adder/CarryLookAhead.vhd" into library work
+Parsing VHDL file "/home/Luca/ISE/IEEE754Adder/PipelineStageTwo.vhd" into library work
+Parsing VHDL file "/home/Luca/ISE/IEEE754Adder/PipelineStageThree.vhd" into library work
+Parsing VHDL file "/home/Luca/ISE/IEEE754Adder/PipelineStageOne.vhd" into library work
+Parsing VHDL file "/home/Luca/ISE/IEEE754Adder/FlipFlopDVector.vhd" into library work
+Parsing VHDL file "/home/Luca/ISE/IEEE754Adder/FlipFlopD.vhd" into library work
+Parsing VHDL file "/home/Luca/ISE/IEEE754Adder/IEEE754Adder.vhd" into library work
+Parsing VHDL file "/home/Luca/ISE/IEEE754Adder/IEEE754AdderTest.vhd" into library work
Starting static elaboration
Completed static elaboration
-Fuse Memory Usage: 96516 KB
-Fuse CPU Usage: 1020 ms
+Fuse Memory Usage: 97552 KB
+Fuse CPU Usage: 990 ms
Compiling package standard
Compiling package std_logic_1164
+Compiling architecture flipflopdvectorarch of entity FlipFlopDVector [\FlipFlopDVector(32)\]
+Compiling architecture typecheckarch of entity TypeCheck [typecheck_default]
+Compiling architecture nancheckarch of entity NaNCheck [nancheck_default]
+Compiling architecture equalcheckarch of entity EqualCheck [\EqualCheck(31)\]
+Compiling architecture zerocheckarch of entity ZeroCheck [zerocheck_default]
+Compiling architecture specialcasescheckarch of entity SpecialCasesCheck [specialcasescheck_default]
+Compiling architecture comparatorarch of entity Comparator [\Comparator(23)\]
+Compiling architecture carrylookaheadarch of entity Adder [\Adder(8)\]
+Compiling architecture addsubarch of entity AddSub [\AddSub(8)\]
+Compiling architecture prepareforshiftarch of entity PrepareForShift [prepareforshift_default]
+Compiling architecture swaparch of entity Swap [\Swap(32)\]
+Compiling architecture twocomplementarch of entity TwoComplement [\TwoComplement(9)\]
+Compiling architecture stageonearch of entity PipelineStageOne [pipelinestageone_default]
+Compiling architecture flipflopdvectorarch of entity FlipFlopDVector [\FlipFlopDVector(9)\]
+Compiling architecture flipflopdarch of entity FlipFlopD [flipflopd_default]
+Compiling architecture shiftrightarch of entity ShiftRight48 [shiftright48_default]
+Compiling architecture sumdataadapterarch of entity SumDataAdapter [sumdataadapter_default]
+Compiling architecture operationcheckarch of entity OperationCheck [operationcheck_default]
+Compiling architecture carrylookaheadarch of entity Adder [\Adder(48)\]
+Compiling architecture addsubarch of entity AddSub [\AddSub(48)\]
+Compiling architecture carrylookaheadarch of entity CarryLookAhead [carrylookahead_default]
+Compiling architecture stagetwoarch of entity PipelineStageTwo [pipelinestagetwo_default]
+Compiling architecture flipflopdvectorarch of entity FlipFlopDVector [\FlipFlopDVector(8)\]
+Compiling architecture flipflopdvectorarch of entity FlipFlopDVector [\FlipFlopDVector(48)\]
Compiling package numeric_std
Compiling package math_real
Compiling package utils
Compiling architecture zerocounterarch of entity ZeroCounter [\ZeroCounter(48,8)\]
Compiling architecture comparatorarch of entity Comparator [\Comparator(8)\]
-Compiling architecture carrylookaheadarch of entity Adder [\Adder(8)\]
-Compiling architecture addsubarch of entity AddSub [\AddSub(8)\]
Compiling architecture shiftleftarch of entity ShiftLeft48 [shiftleft48_default]
Compiling architecture normalizerarch of entity Normalizer [normalizer_default]
-Compiling architecture behavior of entity normalizertest
+Compiling architecture outputselectorarch of entity OutputSelector [outputselector_default]
+Compiling architecture stagethreearch of entity PipelineStageThree [pipelinestagethree_default]
+Compiling architecture behavioral of entity IEEE754Adder [ieee754adder_default]
+Compiling architecture behavior of entity ieee754addertest
Time Resolution for simulation is 1ps.
-Waiting for 1 sub-compilation(s) to finish...
-Compiled 18 VHDL Units
-Built simulation executable /home/Luca/ISE/IEEE754Adder/NormalizerTest_isim_beh.exe
-Fuse Memory Usage: 670604 KB
-Fuse CPU Usage: 1130 ms
-GCC CPU Usage: 480 ms
+Waiting for 2 sub-compilation(s) to finish...
+Compiled 68 VHDL Units
+Built simulation executable /home/Luca/ISE/IEEE754Adder/IEEE754AdderTest_isim_beh.exe
+Fuse Memory Usage: 671904 KB
+Fuse CPU Usage: 1160 ms
+GCC CPU Usage: 1140 ms
diff --git a/fuseRelaunch.cmd b/fuseRelaunch.cmd
index 4f1cf30..90d54e9 100644
--- a/fuseRelaunch.cmd
+++ b/fuseRelaunch.cmd
@@ -1 +1 @@
--intstyle "ise" -incremental -lib "secureip" -o "/home/Luca/ISE/IEEE754Adder/NormalizerTest_isim_beh.exe" -prj "/home/Luca/ISE/IEEE754Adder/NormalizerTest_beh.prj" "work.NormalizerTest"
+-intstyle "ise" -incremental -lib "secureip" -o "/home/Luca/ISE/IEEE754Adder/IEEE754AdderTest_isim_beh.exe" -prj "/home/Luca/ISE/IEEE754Adder/IEEE754AdderTest_beh.prj" "work.IEEE754AdderTest"