Skip to content

Commit 4f65ff4

Browse files
committed
[REG and APB4] Do not ignore the two lower bits of addresses
1 parent e966028 commit 4f65ff4

5 files changed

Lines changed: 13 additions & 13 deletions

File tree

rtl/apb4_booth_algorithm.vhd

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ entity apb4_booth_algorithm is
99
PCLK : in std_logic;
1010
PRESETn : in std_logic;
1111

12-
PADDR : in std_logic_vector(4 downto 2);
12+
PADDR : in std_logic_vector(4 downto 0);
1313
PSEL : in std_logic;
1414
PENABLE : in std_logic;
1515
PWRITE : in std_logic;
@@ -27,7 +27,7 @@ architecture behavioral of apb4_booth_algorithm is
2727
rst_i : in std_logic;
2828
sel_i : in std_logic;
2929
we_i : in std_logic; -- 1|0 : write|read
30-
addr_i : in std_logic_vector(4 downto 2); -- 4 bytes aligned addresses
30+
addr_i : in std_logic_vector(4 downto 0); -- 4 bytes aligned addresses
3131
wdata_i : in std_logic_vector(31 downto 0);
3232
rdata_o : out std_logic_vector(31 downto 0)
3333
);

rtl/reg_booth_algorithm.vhd

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ entity reg_booth_algorithm is
3030
rst_i : in std_logic;
3131
sel_i : in std_logic;
3232
we_i : in std_logic; -- 1|0 : write|read
33-
addr_i : in std_logic_vector(4 downto 2); -- 4 bytes aligned addresses
33+
addr_i : in std_logic_vector(4 downto 0); -- 4 bytes aligned addresses
3434
wdata_i : in std_logic_vector(31 downto 0);
3535
rdata_o : out std_logic_vector(31 downto 0)
3636
);

rtl/utils.vhd

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,12 @@ package utils is
88
function clog2(number : positive) return positive;
99

1010
-- Registers interface
11-
constant OP_1_ADDR : std_logic_vector(4 downto 2) := b"000";
12-
constant OP_2_ADDR : std_logic_vector(4 downto 2) := b"001";
13-
constant RESULT_ADDR : std_logic_vector(4 downto 2) := b"010";
14-
constant CTRL_ADDR : std_logic_vector(4 downto 2) := b"011";
15-
constant STAT_ADDR : std_logic_vector(4 downto 2) := b"100";
16-
constant CORE_ID_ADDR : std_logic_vector(4 downto 2) := b"101";
11+
constant OP_1_ADDR : std_logic_vector(4 downto 0) := b"000_00";
12+
constant OP_2_ADDR : std_logic_vector(4 downto 0) := b"001_00";
13+
constant RESULT_ADDR : std_logic_vector(4 downto 0) := b"010_00";
14+
constant CTRL_ADDR : std_logic_vector(4 downto 0) := b"011_00";
15+
constant STAT_ADDR : std_logic_vector(4 downto 0) := b"100_00";
16+
constant CORE_ID_ADDR : std_logic_vector(4 downto 0) := b"101_00";
1717

1818
constant CTRL_MASK : std_logic_vector(31 downto 0) := x"0000_0001";
1919
constant STAT_MASK : std_logic_vector(31 downto 0) := x"0000_0003";

tb/tb_apb4_booth_algorithm.vhd

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ architecture behavioral of tb_apb4_booth_algorithm is
1212
PCLK : in std_logic;
1313
PRESETn : in std_logic;
1414

15-
PADDR : in std_logic_vector(4 downto 2);
15+
PADDR : in std_logic_vector(4 downto 0);
1616
PSEL : in std_logic;
1717
PENABLE : in std_logic;
1818
PWRITE : in std_logic;
@@ -27,7 +27,7 @@ architecture behavioral of tb_apb4_booth_algorithm is
2727
signal rstn : std_logic := '1';
2828

2929
type booth_if_t is record
30-
PADDR : std_logic_vector(4 downto 2);
30+
PADDR : std_logic_vector(4 downto 0);
3131
PSEL : std_logic;
3232
PENABLE : std_logic;
3333
PWRITE : std_logic;

tb/tb_reg_booth_algorithm.vhd

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ architecture behavioral of tb_reg_booth_algorithm is
1313
rst_i : in std_logic;
1414
sel_i : in std_logic;
1515
we_i : in std_logic; -- 1|0 : write|read
16-
addr_i : in std_logic_vector(4 downto 2); -- 4 bytes aligned addresses
16+
addr_i : in std_logic_vector(4 downto 0); -- 4 bytes aligned addresses
1717
wdata_i : in std_logic_vector(31 downto 0);
1818
rdata_o : out std_logic_vector(31 downto 0)
1919
);
@@ -25,7 +25,7 @@ architecture behavioral of tb_reg_booth_algorithm is
2525
type booth_if_t is record
2626
sel_i : std_logic;
2727
we_i : std_logic;
28-
addr_i : std_logic_vector(4 downto 2);
28+
addr_i : std_logic_vector(4 downto 0);
2929
wdata_i : std_logic_vector(31 downto 0);
3030
rdata_o : std_logic_vector(31 downto 0);
3131
end record;

0 commit comments

Comments
 (0)