Start to adapt so we can change the representation
[ipdf/vfpu.git] / src / main.vhd
index 99596ee..7e7521d 100644 (file)
@@ -10,6 +10,8 @@ use ieee.std_logic_misc.all;
 use std.textio.all;
 use work.txt_util.all;
 
+use work.fpupack.all;
+
         -- fpu operations (fpu_op_i):
                -- ========================
                -- 000 = add, 
@@ -55,18 +57,26 @@ component fpu
        );   
 end component;
 
-
+-- Assigning default values doesn't seem to help the error messages :(
 signal clk_i : std_logic:= '1';
-signal opa_i, opb_i : std_logic_vector(31 downto 0) := (others => '0');
+signal opa_i, opb_i : std_logic_vector(FP_WIDTH-1 downto 0) := (others => '0');
 signal fpu_op_i                : std_logic_vector(2 downto 0) := (others => '0');
 signal rmode_i : std_logic_vector(1 downto 0) := (others => '0');
-signal output_o : std_logic_vector(31 downto 0) := (others => '0');
-signal start_i, ready_o : std_logic := '0';
-signal ine_o, overflow_o, underflow_o, div_zero_o, inf_o, zero_o, qnan_o, snan_o: std_logic := '0';
+signal output_o : std_logic_vector(FP_WIDTH-1 downto 0) := (others => '0');
+signal start_i : std_logic := '1';
+signal ready_o : std_logic := '1';
+signal ine_o : std_logic := '0';
+signal overflow_o : std_logic := '0';
+signal underflow_o : std_logic := '0';
+signal div_zero_o : std_logic := '0';
+signal inf_o : std_logic := '0';
+signal zero_o : std_logic := '0';
+signal qnan_o : std_logic := '0';
+signal snan_o : std_logic := '0';
 
 
 
-signal slv_out : std_logic_vector(31 downto 0);
+signal slv_out : std_logic_vector(FP_WIDTH-1 downto 0);
 
 constant CLK_PERIOD :time := 10 ns; -- period of clk period
 
@@ -104,7 +114,7 @@ begin
                file input_file: TEXT open read_mode is "STD_INPUT"; 
 
                variable file_line: line;
-               variable str_in: string(8 downto 1);
+               variable str_in: string(FP_WIDTH/4 downto 1);
                variable str_fpu_op: string(3 downto 1);
                variable str_rmode: string(2 downto 1);
 
@@ -112,6 +122,10 @@ begin
 
     begin
                -- Read ops from input_file
+               --print(str(ZERO_VECTOR));
+               --print(str(INF));
+               --print(str(QNAN));
+               --print(str(SNAN));
                start_i <= '0';
                while not endfile(input_file) loop
 

UCC git Repository :: git.ucc.asn.au