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

Subversion Repositories tinyvliw8

[/] [tinyvliw8/] [trunk/] [src/] [vhdl/] [proc/] [pcReg.vhd] - Diff between revs 2 and 9

Show entire file | Details | Blame | View Log

Rev 2 Rev 9
Line 140... Line 140...
                                        else
                                        else
                                                pcReg_v := pcInt_s;
                                                pcReg_v := pcInt_s;
                                        end if;
                                        end if;
                                end if;
                                end if;
 
 
                                if (irq = '1') then
 
                                        pcIrq_s <= pcReg_v;
 
                                        pcReg_s <= "111111111" & irqAddr;
 
                                else
 
                                        pcReg_s <= pcReg_v;
                                        pcReg_s <= pcReg_v;
 
 
 
                        end if;
                                end if;
                                end if;
 
        end process;
 
 
 
        irq_Assign: process(rst_n, irq)
 
        begin
 
                if (rst_n = '0') then
 
                        pcIrq_s <= (others => '0');
 
                else
 
                        if (irq'event and irq = '1') then
 
                                pcIrq_s <= pcReg_s;
                        end if;
                        end if;
                end if;
                end if;
        end process;
        end process;
 
 
        pcLoad_n   <= pcLoad_n_s when rst_n = '1' and delayedState3_s = '1' else
        pcLoad_n   <= pcLoad_n_s when rst_n = '1' and delayedState3_s = '1' else
                      '1';
                      '1';
        pcRegUpd_s <= state3_s when rst_n = '1' and stalled_n = '1' else
        pcRegUpd_s <= state3_s when rst_n = '1' and stalled_n = '1' else
                      '1' when rst_n = '1' and irq = '1' else
                      '1' when rst_n = '1' and irq = '1' else
                                  '0';
                                  '0';
 
 
        addrOut <= pcReg_s;
        addrOut <= pcReg_s when irq = '0' else
 
                    "111111111" & irqAddr;
 
 
        ioOut <= pcInt_s(7 downto 0)            when (rst_n = '1' and ioInEn_n = '0' and ioAddr = "00") else
        ioOut <= pcInt_s(7 downto 0)            when (rst_n = '1' and ioInEn_n = '0' and ioAddr = "00") else
                 "00000" & pcInt_s(10 downto 8) when (rst_n = '1' and ioInEn_n = '0' and ioAddr = "01") else
                 "00000" & pcInt_s(10 downto 8) when (rst_n = '1' and ioInEn_n = '0' and ioAddr = "01") else
                         pcIrq_s(7 downto 0)            when (rst_n = '1' and ioInEn_n = '0' and ioAddr = "10") else
                         pcIrq_s(7 downto 0)            when (rst_n = '1' and ioInEn_n = '0' and ioAddr = "10") else
                 "00000" & pcIrq_s(10 downto 8) when (rst_n = '1' and ioInEn_n = '0' and ioAddr = "11") else
                 "00000" & pcIrq_s(10 downto 8) when (rst_n = '1' and ioInEn_n = '0' and ioAddr = "11") else

powered by: WebSVN 2.1.0

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