- bugfix: wrong 'pa_offset' when big-endian and half-word load/store
Committed on the Free edition of March Hare Software CVSNT Server. Upgrade to CVS Suite for more features and support: http://march-hare.com/cvsnt/ git-svn-id: http://moon:8086/svn/vhdl/trunk@431 cc03376c-175c-47c8-b038-4cd826a8556b
This commit is contained in:
@@ -563,8 +563,12 @@ proc_stage_DMEM_ADDR:
|
|||||||
if rising_edge(clk_1) then
|
if rising_edge(clk_1) then
|
||||||
if sdu.EX_stall = '0' then
|
if sdu.EX_stall = '0' then
|
||||||
EX_stage.va <= vaddr;
|
EX_stage.va <= vaddr;
|
||||||
if c0_ctrl_in.RE = '1' then
|
if c0_ctrl_in.EB = '1' then
|
||||||
EX_stage.pa_off <= not vaddr(1 downto 0);
|
if ID_stage.ctrl.word2_en = '0' then
|
||||||
|
EX_stage.pa_off <= not vaddr(1 downto 0);
|
||||||
|
else
|
||||||
|
EX_stage.pa_off <= not vaddr(1) & vaddr(0);
|
||||||
|
end if;
|
||||||
else
|
else
|
||||||
EX_stage.pa_off <= vaddr(1 downto 0);
|
EX_stage.pa_off <= vaddr(1 downto 0);
|
||||||
end if;
|
end if;
|
||||||
|
|||||||
Reference in New Issue
Block a user