URL
https://opencores.org/ocsvn/rise/rise/trunk
[/] [rise/] [trunk/] [vhdl/] [wb_stage.vhd] - Diff between revs 91 and 95
Go to most recent revision |
Show entire file |
Details |
Blame |
View Log
Rev 91 |
Rev 95 |
Line 47... |
Line 47... |
begin -- wb_stage_rtl
|
begin -- wb_stage_rtl
|
|
|
clear_out <= '0'; -- clear_out output is unused at the moment.
|
clear_out <= '0'; -- clear_out output is unused at the moment.
|
|
|
process (reset, mem_wb_register)
|
process (reset, mem_wb_register)
|
variable sr_test_value : REGISTER_T;
|
|
begin
|
begin
|
if reset = '0' then
|
if reset = '0' then
|
clear_reg_lock0 <= '0';
|
clear_reg_lock0 <= '0';
|
lock_reg_addr0 <= (others => 'X');
|
lock_reg_addr0 <= (others => 'X');
|
clear_reg_lock1 <= '0';
|
clear_reg_lock1 <= '0';
|
Line 101... |
Line 100... |
-- write back of SR --
|
-- write back of SR --
|
if mem_wb_register.aluop2(ALUOP2_SR_BIT) = '1' then
|
if mem_wb_register.aluop2(ALUOP2_SR_BIT) = '1' then
|
-- calculate SR value
|
-- calculate SR value
|
sr <= mem_wb_register.sr;
|
sr <= mem_wb_register.sr;
|
if mem_wb_register.aluop1(ALUOP1_LD_MEM_BIT) = '1' then
|
if mem_wb_register.aluop1(ALUOP1_LD_MEM_BIT) = '1' then
|
sr_test_value := mem_wb_register.mem_reg;
|
if mem_wb_register.mem_reg = CONV_STD_LOGIC_VECTOR(0, REGISTER_WIDTH) then
|
else
|
|
sr_test_value := mem_wb_register.reg;
|
|
end if;
|
|
if sr_test_value = CONV_STD_LOGIC_VECTOR(0, REGISTER_WIDTH) then
|
|
sr( SR_REGISTER_ZERO ) <= '1';
|
sr( SR_REGISTER_ZERO ) <= '1';
|
end if;
|
end if;
|
if sr_test_value( REGISTER_WIDTH - 1 ) = '1' then
|
if mem_wb_register.mem_reg( REGISTER_WIDTH - 1 ) = '1' then
|
sr( SR_REGISTER_NEGATIVE ) <= '1';
|
sr( SR_REGISTER_NEGATIVE ) <= '1';
|
end if;
|
end if;
|
|
end if;
|
sr_enable <= '1';
|
sr_enable <= '1';
|
clear_reg_lock1 <= '1';
|
clear_reg_lock1 <= '1';
|
lock_reg_addr1 <= SR_REGISTER_ADDR;
|
lock_reg_addr1 <= SR_REGISTER_ADDR;
|
else
|
else
|
sr <= ( others => 'X' );
|
sr <= ( others => 'X' );
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.