902aa402b3830b9c9aa26758390b6eb93b42a0f5
Stefan Schuermans added file headers

Stefan Schuermans authored 12 years ago

mips/mul_fast.vhd   1) -- MIPS I system
Stefan Schuermans replace email address in he...

Stefan Schuermans authored 12 years ago

mips/mul_fast.vhd   2) -- Copyright 2011-2012 Stefan Schuermans <stefan@blinkenarea.org>
Stefan Schuermans added file headers

Stefan Schuermans authored 12 years ago

mips/mul_fast.vhd   3) -- Copyleft GNU public license V2 or later
mips/mul_fast.vhd   4) --          http://www.gnu.org/copyleft/gpl.html
mips/mul_fast.vhd   5) 
Stefan Schuermans moved multiplier to own module

Stefan Schuermans authored 12 years ago

mips/mul.vhd        6) LIBRARY ieee;
mips/mul.vhd        7) USE ieee.std_logic_1164.all;
mips/mul.vhd        8) USE ieee.numeric_std.all;
mips/mul.vhd        9) USE work.mips_types.all;
mips/mul.vhd       10) 
mips/mul.vhd       11) ENTITY e_mips_mul IS
mips/mul.vhd       12)     PORT (
mips/mul.vhd       13)         rst:      IN  std_logic;
mips/mul.vhd       14)         clk:      IN  std_logic;
mips/mul.vhd       15)         i_a:      IN  std_logic_vector(31 DOWNTO 0);
mips/mul.vhd       16)         i_b:      IN  std_logic_vector(31 DOWNTO 0);
mips/mul.vhd       17)         i_signed: IN  std_logic;
mips/mul.vhd       18)         i_start:  IN  std_logic;
mips/mul.vhd       19)         o_busy:   OUT std_logic;
mips/mul.vhd       20)         o_res:    OUT std_logic_vector(63 DOWNTO 0)
mips/mul.vhd       21)     );
mips/mul.vhd       22) END ENTITY e_mips_mul;
mips/mul.vhd       23) 
mips/mul.vhd       24) ARCHITECTURE a_mips_mul OF e_mips_mul IS
mips/mul.vhd       25) 
mips/mul.vhd       26)     TYPE t_state IS (idle, state_1, state_2, state_3, state_4, post);
mips/mul.vhd       27)     SIGNAL n_state: t_state;
Stefan Schuermans add initial values for regi...

Stefan Schuermans authored 12 years ago

mips/mul_fast.vhd  28)     SIGNAL r_state: t_state := idle;
Stefan Schuermans moved multiplier to own module

Stefan Schuermans authored 12 years ago

mips/mul.vhd       29) 
mips/mul.vhd       30)     SIGNAL n_a:   unsigned(31 DOWNTO 0);
mips/mul.vhd       31)     SIGNAL n_b:   unsigned(31 DOWNTO 0);
mips/mul.vhd       32)     SIGNAL n_neg: boolean;
mips/mul.vhd       33)     SIGNAL n_res: unsigned(63 DOWNTO 0);
Stefan Schuermans add initial values for regi...

Stefan Schuermans authored 12 years ago

mips/mul_fast.vhd  34)     SIGNAL r_a:   unsigned(31 DOWNTO 0) := (OTHERS => '0');
mips/mul_fast.vhd  35)     SIGNAL r_b:   unsigned(31 DOWNTO 0) := (OTHERS => '0');
mips/mul_fast.vhd  36)     SIGNAL r_neg: boolean               := false;
mips/mul_fast.vhd  37)     SIGNAL r_res: unsigned(63 DOWNTO 0) := (OTHERS => '0');