1
0
SEm-Labos/Libs/NanoBlaze/hdl/programCounter_RTL.vhd

25 lines
564 B
VHDL
Raw Permalink Normal View History

2024-02-23 13:01:05 +00:00
ARCHITECTURE RTL OF programCounter IS
signal pCounter: unsigned(progCounter'range);
BEGIN
updateProgramCounter: process(reset, clock)
begin
if reset = '1' then
pCounter <= (others => '0');
elsif rising_edge(clock) then
if incPC = '1' then
pCounter <= pCounter + 1;
elsif loadInstrAddress = '1' then
pCounter <= instrAddress;
elsif loadStoredPC = '1' then
pCounter <= storedProgCounter;
end if;
end if;
end process updateProgramCounter;
progCounter <= pCounter;
END ARCHITECTURE RTL;