OpenCores
URL https://opencores.org/ocsvn/open8_urisc/open8_urisc/trunk

Subversion Repositories open8_urisc

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /open8_urisc/trunk
    from Rev 248 to Rev 247
    Reverse comparison

Rev 248 → Rev 247

/VHDL/o8_cpu.vhd
82,10 → 82,10
-- : protection by preventing errant code execution from
-- : inadvertently entering an interrupt state.
-- :
-- : This setting also sets I bit at startup so that any
-- : initialization code may be run in an ISR context, initially
-- : bypassing memory protection. Init code should clear the I bit
-- : when done;
-- : Default_Int_Flag allows the initial state of the I bit to be
-- : set at startup. If set, initialization code may be run in an
-- : ISR context, disabling memory protection initially. Init code
-- : should clear the I bit when done;
-- :
-- : Default_Interrupt_Mask sets the intial/reset value of the
-- : interrupt mask. To remain true to the original core, which
226,9 → 226,6
-- write protection later.
-- Seth Henry 05/21/20 Supervisor_Mode now protects the interrupt mask
-- and stack pointer as well.
-- Seth Henry 05/24/20 Removed the Default_Int_Flag, as it is covered by
-- Supervisor_Mode. If Supervisor_Mode isn't set,
-- code can simply use STP to set the bit
 
library ieee;
use ieee.std_logic_1164.all;
252,6 → 249,7
Sequential_Interrupts : boolean := false; -- Interruptable ISRs
RTI_Ignores_GP_Flags : boolean := false; -- RTI sets all flags
Supervisor_Mode : boolean := false; -- I bit is restricted
Default_Int_Flag : boolean := false; -- Start with I bit set
Default_Interrupt_Mask : DATA_TYPE := x"FF"; -- Enable all Ints
Clock_Frequency : real -- Clock Frequency
);
1006,7 → 1004,7
Regfile(i) <= x"00";
end loop;
Flags <= x"00";
if( Supervisor_Mode )then
if( Default_Int_Flag )then
Flags(PSR_I) <= '1';
end if;
 

powered by: WebSVN 2.1.0

© copyright 1999-2025 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.