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

Subversion Repositories cpu6502_true_cycle

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /
    from Rev 10 to Rev 11
    Reverse comparison

Rev 10 → Rev 11

/trunk/rtl/vhdl/reg_pc.vhd
2,7 → 2,7
--
-- Created:
-- by - eda.UNKNOWN (ENTWICKL4-XP-PR)
-- at - 19:48:44 17.04.2008
-- at - 22:53:05 04.01.2009
--
-- Generated by Mentor Graphics' HDL Designer(TM) 2007.1a (Build 13)
--
17,13 → 17,12
ld_i : in std_logic_vector (1 downto 0);
ld_pc_i : in std_logic;
offset_i : in std_logic_vector (15 downto 0);
rst_rst_i : in std_logic;
rst_rst_n_i : in std_logic;
sel_pc_as_i : in std_logic;
sel_pc_in_i : in std_logic;
sel_pc_val_i : in std_logic_vector (1 downto 0);
adr_nxt_pc_o : out std_logic_vector (15 downto 0);
adr_pc_o : out std_logic_vector (15 downto 0);
cout_pc_o : out std_logic
adr_pc_o : out std_logic_vector (15 downto 0)
);
 
-- Declarations
44,16 → 43,17
--
-- CVS Revisins History
--
-- $Log: not supported by cvs2svn $
-- $Log: not supported by cvs2svn $
-- <<-- more -->>
-- Title: Program Counter Logic
-- Path: R6502_TC/Reg_PC/struct
-- Edited: by eda on 17 Apr 2008
-- Edited: by eda on 01 Jan 2009
--
-- VHDL Architecture R6502_TC.Reg_PC.struct
--
-- Created:
-- by - eda.UNKNOWN (ENTWICKL4-XP-PR)
-- at - 19:48:44 17.04.2008
-- at - 22:53:06 04.01.2009
--
-- Generated by Mentor Graphics' HDL Designer(TM) 2007.1a (Build 13)
--
67,24 → 67,35
-- Architecture declarations
 
-- Internal signal declarations
signal d : std_logic_vector(7 downto 0);
signal d1 : std_logic_vector(7 downto 0);
signal dout : std_logic;
signal dout1 : std_logic_vector(7 downto 0);
signal dout3 : std_logic;
signal dout5 : std_logic_vector(7 downto 0);
signal dout6 : std_logic_vector(7 downto 0);
signal load : std_logic;
signal load3 : std_logic;
signal val_one : std_logic_vector(7 downto 0);
signal val_two : std_logic_vector(7 downto 0);
signal val_zero : std_logic_vector(7 downto 0);
signal adr_pc_high_o_i : std_logic_vector(7 downto 0);
signal adr_pc_low_o_i : std_logic_vector(7 downto 0);
signal adr_pc_o_i : std_logic_vector(15 downto 0);
signal as_n_o_i : std_logic;
signal ci_o_i : std_logic;
signal cout_pc_o_i : std_logic;
signal load3_o_i : std_logic;
signal load_o_i : std_logic;
signal offset_high_o_i : std_logic_vector(7 downto 0);
signal offset_low_o_i : std_logic_vector(7 downto 0);
signal val_o_i : std_logic_vector(7 downto 0);
signal val_one : std_logic_vector(7 downto 0);
signal val_zero : std_logic_vector(7 downto 0);
 
-- Implicit buffer signal declarations
signal adr_pc_o_internal : std_logic_vector (15 downto 0);
signal cout_pc_o_internal : std_logic;
signal adr_pc_o_internal : std_logic_vector (15 downto 0);
signal adr_nxt_pc_o_internal : std_logic_vector (15 downto 0);
 
 
-- ModuleWare signal declarations(v1.9) for instance 'U_11' of 'addsub'
signal mw_U_11temp_din0 : std_logic_vector(8 downto 0);
signal mw_U_11temp_din1 : std_logic_vector(8 downto 0);
signal mw_U_11sum : unsigned(8 downto 0);
 
-- ModuleWare signal declarations(v1.9) for instance 'U_12' of 'addsub'
signal mw_U_12temp_din0 : std_logic_vector(8 downto 0);
signal mw_U_12temp_din1 : std_logic_vector(8 downto 0);
signal mw_U_12sum : unsigned(8 downto 0);
 
-- ModuleWare signal declarations(v1.9) for instance 'U_0' of 'adff'
signal mw_U_0reg_cval : std_logic_vector(7 downto 0);
 
93,71 → 104,47
 
 
begin
-- Architecture concurrent statements
-- HDL Embedded Text Block 1 eb1
-- eb1 1
adr_nxt_pc_o(7 DOWNTO 0) <= d;
 
-- HDL Embedded Text Block 2 eb2
-- eb1 1
val_zero (7 downto 0) <= X"00";
val_one (7 downto 0) <= X"01";
val_two (7 downto 0) <= X"02";
 
-- HDL Embedded Text Block 3 eb3
-- eb1 1
adr_nxt_pc_o(15 DOWNTO 8) <= d1;
 
 
-- ModuleWare code(v1.9) for instance 'U_11' of 'addsub'
u_11combo_proc: process (dout5, dout1, dout3, val_zero(0))
variable temp_din0 : std_logic_vector(8 downto 0);
variable temp_din1 : std_logic_vector(8 downto 0);
variable temp_sum : unsigned(8 downto 0);
mw_U_11temp_din0 <= '0' & adr_pc_low_o_i;
mw_U_11temp_din1 <= '0' & val_o_i;
u_11combo_proc: process (mw_U_11temp_din0, mw_U_11temp_din1, as_n_o_i)
variable temp_carry : std_logic;
variable temp_cout : std_logic;
begin
temp_din0 := '0' & dout5;
temp_din1 := '0' & dout1;
temp_carry := val_zero(0);
if (dout3 = '1') then
temp_sum := unsigned(temp_din0) + unsigned(temp_din1) + temp_carry;
temp_cout := temp_sum(8) ;
temp_carry := '0';
if (as_n_o_i = '1') then
mw_U_11sum <= unsigned(mw_U_11temp_din0) + unsigned(mw_U_11temp_din1) + temp_carry;
else
temp_sum := unsigned(temp_din0) - unsigned(temp_din1) - temp_carry;
temp_cout := temp_sum(8) ;
mw_U_11sum <= unsigned(mw_U_11temp_din0) - unsigned(mw_U_11temp_din1) - temp_carry;
end if;
d <= conv_std_logic_vector(temp_sum(7 downto 0),8);
cout_pc_o_internal <= temp_cout;
end process u_11combo_proc;
adr_nxt_pc_o_internal(7 DOWNTO 0) <= conv_std_logic_vector(mw_U_11sum(7 downto 0),8);
cout_pc_o_i <= mw_U_11sum(8);
 
-- ModuleWare code(v1.9) for instance 'U_12' of 'addsub'
u_12combo_proc: process (dout6, offset_i(15 DOWNTO 8), dout3, dout)
variable temp_din0 : std_logic_vector(8 downto 0);
variable temp_din1 : std_logic_vector(8 downto 0);
variable temp_sum : unsigned(8 downto 0);
mw_U_12temp_din0 <= '0' & adr_pc_high_o_i;
mw_U_12temp_din1 <= '0' & offset_high_o_i;
u_12combo_proc: process (mw_U_12temp_din0, mw_U_12temp_din1, as_n_o_i, ci_o_i)
variable temp_carry : std_logic;
begin
temp_din0 := '0' & dout6;
temp_din1 := '0' & offset_i(15 DOWNTO 8);
temp_carry := dout;
if (dout3 = '1') then
temp_sum := unsigned(temp_din0) + unsigned(temp_din1) + temp_carry;
temp_carry := ci_o_i;
if (as_n_o_i = '1') then
mw_U_12sum <= unsigned(mw_U_12temp_din0) + unsigned(mw_U_12temp_din1) + temp_carry;
else
temp_sum := unsigned(temp_din0) - unsigned(temp_din1) - temp_carry;
mw_U_12sum <= unsigned(mw_U_12temp_din0) - unsigned(mw_U_12temp_din1) - temp_carry;
end if;
d1 <= conv_std_logic_vector(temp_sum(7 downto 0),8);
end process u_12combo_proc;
adr_nxt_pc_o_internal(15 DOWNTO 8) <= conv_std_logic_vector(mw_U_12sum(7 downto 0),8);
 
-- ModuleWare code(v1.9) for instance 'U_0' of 'adff'
adr_pc_o_internal(7 DOWNTO 0) <= mw_U_0reg_cval;
u_0seq_proc: process (clk_clk_i, rst_rst_i)
u_0seq_proc: process (clk_clk_i, rst_rst_n_i)
begin
if (rst_rst_i = '1') then
if (rst_rst_n_i = '0') then
mw_U_0reg_cval <= "00000000";
elsif (clk_clk_i'event and clk_clk_i='1') then
if (load = '1') then
mw_U_0reg_cval <= d;
if (load_o_i = '1') then
mw_U_0reg_cval <= adr_nxt_pc_o_internal(7 DOWNTO 0);
end if;
end if;
end process u_0seq_proc;
164,68 → 151,70
 
-- ModuleWare code(v1.9) for instance 'U_4' of 'adff'
adr_pc_o_internal(15 DOWNTO 8) <= mw_U_4reg_cval;
u_4seq_proc: process (clk_clk_i, rst_rst_i)
u_4seq_proc: process (clk_clk_i, rst_rst_n_i)
begin
if (rst_rst_i = '1') then
if (rst_rst_n_i = '0') then
mw_U_4reg_cval <= "00000000";
elsif (clk_clk_i'event and clk_clk_i='1') then
if (load3 = '1') then
mw_U_4reg_cval <= d1;
if (load3_o_i = '1') then
mw_U_4reg_cval <= adr_nxt_pc_o_internal(15 DOWNTO 8);
end if;
end if;
end process u_4seq_proc;
 
-- ModuleWare code(v1.9) for instance 'U_6' of 'and'
load <= ld_pc_i and ld_i(0);
load_o_i <= ld_pc_i and ld_i(0);
 
-- ModuleWare code(v1.9) for instance 'U_7' of 'and'
load3 <= ld_pc_i and ld_i(1);
load3_o_i <= ld_pc_i and ld_i(1);
 
-- ModuleWare code(v1.9) for instance 'U_10' of 'and'
dout <= cout_pc_o_internal and ld_pc_i;
ci_o_i <= cout_pc_o_i and ld_pc_i;
 
-- ModuleWare code(v1.9) for instance 'U_1' of 'constval'
val_zero <= "00000000";
 
-- ModuleWare code(v1.9) for instance 'U_9' of 'constval'
val_one <= "00000001";
 
-- ModuleWare code(v1.9) for instance 'U_2' of 'inv'
dout3 <= not(sel_pc_as_i);
as_n_o_i <= not(sel_pc_as_i);
 
-- ModuleWare code(v1.9) for instance 'U_5' of 'mux'
u_5combo_proc: process(val_one, val_two, offset_i(7 DOWNTO 0),
val_zero, sel_pc_val_i)
begin
case sel_pc_val_i is
when "00" => dout1 <= val_one;
when "01" => dout1 <= val_two;
when "10" => dout1 <= offset_i(7 DOWNTO 0);
when "11" => dout1 <= val_zero;
when others => dout1 <= (others => 'X');
end case;
end process u_5combo_proc;
 
-- ModuleWare code(v1.9) for instance 'U_8' of 'mux'
u_8combo_proc: process(adr_pc_o_internal(7 DOWNTO 0),
adr_i(7 DOWNTO 0), sel_pc_in_i)
u_8combo_proc: process(adr_pc_o_internal, adr_i, sel_pc_in_i)
begin
case sel_pc_in_i is
when '0' => dout5 <= adr_pc_o_internal(7 DOWNTO 0);
when '1' => dout5 <= adr_i(7 DOWNTO 0);
when others => dout5 <= (others => 'X');
when '0' => adr_pc_o_i <= adr_pc_o_internal;
when '1' => adr_pc_o_i <= adr_i;
when others => adr_pc_o_i <= (others => 'X');
end case;
end process u_8combo_proc;
 
-- ModuleWare code(v1.9) for instance 'U_9' of 'mux'
u_9combo_proc: process(adr_pc_o_internal(15 DOWNTO 8),
adr_i(15 DOWNTO 8), sel_pc_in_i)
-- ModuleWare code(v1.9) for instance 'U_13' of 'mux'
u_13combo_proc: process(val_one, val_zero, offset_low_o_i,
sel_pc_val_i)
begin
case sel_pc_in_i is
when '0' => dout6 <= adr_pc_o_internal(15 DOWNTO 8);
when '1' => dout6 <= adr_i(15 DOWNTO 8);
when others => dout6 <= (others => 'X');
case sel_pc_val_i is
when "00" => val_o_i <= val_one;
when "01" => val_o_i <= val_zero;
when "10" => val_o_i <= offset_low_o_i;
when "11" => val_o_i <= val_zero;
when others => val_o_i <= (others => 'X');
end case;
end process u_9combo_proc;
end process u_13combo_proc;
 
-- ModuleWare code(v1.9) for instance 'U_3' of 'split'
adr_pc_low_o_i <= adr_pc_o_i(7 downto 0);
adr_pc_high_o_i <= adr_pc_o_i(15 downto 8);
 
-- ModuleWare code(v1.9) for instance 'U_5' of 'split'
offset_low_o_i <= offset_i(7 downto 0);
offset_high_o_i <= offset_i(15 downto 8);
 
-- Instance port mappings.
 
-- Implicit buffered output assignments
adr_pc_o <= adr_pc_o_internal;
cout_pc_o <= cout_pc_o_internal;
adr_pc_o <= adr_pc_o_internal;
adr_nxt_pc_o <= adr_nxt_pc_o_internal;
 
end struct;
/trunk/rtl/vhdl/reg_sp.vhd
2,7 → 2,7
--
-- Created:
-- by - eda.UNKNOWN (ENTWICKL4-XP-PR)
-- at - 19:48:44 17.04.2008
-- at - 22:53:06 04.01.2009
--
-- Generated by Mentor Graphics' HDL Designer(TM) 2007.1a (Build 13)
--
12,16 → 12,14
 
entity Reg_SP is
port(
adr_i : in std_logic_vector (15 downto 0);
clk_clk_i : in std_logic;
ld_i : in std_logic_vector (1 downto 0);
ld_sp_i : in std_logic;
rst_rst_i : in std_logic;
sel_sp_as_i : in std_logic;
sel_sp_in_i : in std_logic;
sel_sp_val_i : in std_logic;
adr_nxt_sp_o : out std_logic_vector (15 downto 0);
adr_sp_o : out std_logic_vector (15 downto 0)
adr_low_i : in std_logic_vector (7 downto 0);
clk_clk_i : in std_logic;
ld_low_i : in std_logic;
ld_sp_i : in std_logic;
rst_rst_n_i : in std_logic;
sel_sp_as_i : in std_logic;
sel_sp_in_i : in std_logic;
adr_sp_o : out std_logic_vector (15 downto 0)
);
 
-- Declarations
42,16 → 40,17
--
-- CVS Revisins History
--
-- $Log: not supported by cvs2svn $
-- $Log: not supported by cvs2svn $
-- <<-- more -->>
-- Title: Stack Pointer Logic
-- Path: R6502_TC/Reg_SP/struct
-- Edited: by eda on 17 Apr 2008
-- Edited: by eda on 01 Jan 2009
--
-- VHDL Architecture R6502_TC.Reg_SP.struct
--
-- Created:
-- by - eda.UNKNOWN (ENTWICKL4-XP-PR)
-- at - 19:48:45 17.04.2008
-- at - 22:53:06 04.01.2009
--
-- Generated by Mentor Graphics' HDL Designer(TM) 2007.1a (Build 13)
--
65,114 → 64,81
-- Architecture declarations
 
-- Internal signal declarations
signal d : std_logic_vector(7 downto 0);
signal dout1 : std_logic_vector(7 downto 0);
signal dout2 : std_logic_vector(7 downto 0);
signal dout3 : std_logic;
signal load : std_logic;
signal load3 : std_logic;
signal val_one : std_logic_vector(7 downto 0);
signal val_two : std_logic_vector(7 downto 0);
signal val_zero : std_logic_vector(7 downto 0);
signal adr_sp_low_o_i : std_logic_vector(7 downto 0);
signal load_o_i : std_logic;
signal result_low1_o_i : std_logic_vector(7 downto 0);
signal result_low_o_i : std_logic_vector(7 downto 0);
signal sp_as_n_o_i : std_logic;
signal val_one : std_logic_vector(7 downto 0);
 
-- Implicit buffer signal declarations
signal adr_sp_o_internal : std_logic_vector (15 downto 0);
 
 
-- ModuleWare signal declarations(v1.9) for instance 'U_11' of 'addsub'
signal mw_U_11temp_din0 : std_logic_vector(8 downto 0);
signal mw_U_11temp_din1 : std_logic_vector(8 downto 0);
signal mw_U_11sum : unsigned(8 downto 0);
 
-- ModuleWare signal declarations(v1.9) for instance 'U_0' of 'adff'
signal mw_U_0reg_cval : std_logic_vector(7 downto 0);
 
-- ModuleWare signal declarations(v1.9) for instance 'U_4' of 'adff'
signal mw_U_4reg_cval : std_logic_vector(7 downto 0);
 
 
begin
-- Architecture concurrent statements
-- HDL Embedded Text Block 2 eb2
-- eb1 1
val_zero (7 downto 0) <= X"00";
val_one (7 downto 0) <= X"01";
val_two (7 downto 0) <= X"02";
adr_nxt_sp_o (15 downto 8) <= X"01";
 
-- HDL Embedded Text Block 3 eb3
-- eb1 1
adr_nxt_sp_o (7 DOWNTO 0) <= d;
 
 
-- ModuleWare code(v1.9) for instance 'U_11' of 'addsub'
u_11combo_proc: process (adr_sp_o_internal(7 DOWNTO 0), dout1, dout3, val_zero(0))
variable temp_din0 : std_logic_vector(8 downto 0);
variable temp_din1 : std_logic_vector(8 downto 0);
variable temp_sum : unsigned(8 downto 0);
mw_U_11temp_din0 <= '0' & adr_sp_low_o_i;
mw_U_11temp_din1 <= '0' & val_one;
u_11combo_proc: process (mw_U_11temp_din0, mw_U_11temp_din1, sp_as_n_o_i)
variable temp_carry : std_logic;
begin
temp_din0 := '0' & adr_sp_o_internal(7 DOWNTO 0);
temp_din1 := '0' & dout1;
temp_carry := val_zero(0);
if (dout3 = '1') then
temp_sum := unsigned(temp_din0) + unsigned(temp_din1) + temp_carry;
temp_carry := '0';
if (sp_as_n_o_i = '1') then
mw_U_11sum <= unsigned(mw_U_11temp_din0) + unsigned(mw_U_11temp_din1) + temp_carry;
else
temp_sum := unsigned(temp_din0) - unsigned(temp_din1) - temp_carry;
mw_U_11sum <= unsigned(mw_U_11temp_din0) - unsigned(mw_U_11temp_din1) - temp_carry;
end if;
dout2 <= conv_std_logic_vector(temp_sum(7 downto 0),8);
end process u_11combo_proc;
result_low_o_i <= conv_std_logic_vector(mw_U_11sum(7 downto 0),8);
 
-- ModuleWare code(v1.9) for instance 'U_0' of 'adff'
adr_sp_o_internal(7 DOWNTO 0) <= mw_U_0reg_cval;
u_0seq_proc: process (clk_clk_i, rst_rst_i)
u_0seq_proc: process (clk_clk_i, rst_rst_n_i)
begin
if (rst_rst_i = '1') then
if (rst_rst_n_i = '0') then
mw_U_0reg_cval <= "00000000";
elsif (clk_clk_i'event and clk_clk_i='1') then
if (load = '1') then
mw_U_0reg_cval <= d;
if (load_o_i = '1') then
mw_U_0reg_cval <= result_low1_o_i;
end if;
end if;
end process u_0seq_proc;
 
-- ModuleWare code(v1.9) for instance 'U_4' of 'adff'
adr_sp_o_internal(15 DOWNTO 8) <= mw_U_4reg_cval;
u_4seq_proc: process (clk_clk_i, rst_rst_i)
begin
if (rst_rst_i = '1') then
mw_U_4reg_cval <= "00000000";
elsif (clk_clk_i'event and clk_clk_i='1') then
if (load3 = '1') then
mw_U_4reg_cval <= val_one;
end if;
end if;
end process u_4seq_proc;
 
-- ModuleWare code(v1.9) for instance 'U_6' of 'and'
load <= ld_sp_i and ld_i(0);
load_o_i <= ld_sp_i and ld_low_i;
 
-- ModuleWare code(v1.9) for instance 'U_7' of 'and'
load3 <= ld_sp_i and ld_i(1);
-- ModuleWare code(v1.9) for instance 'U_3' of 'buff'
adr_sp_o_internal(15 DOWNTO 8) <= val_one;
 
-- ModuleWare code(v1.9) for instance 'U_4' of 'constval'
val_one <= "00000001";
 
-- ModuleWare code(v1.9) for instance 'U_2' of 'inv'
dout3 <= not(sel_sp_as_i);
sp_as_n_o_i <= not(sel_sp_as_i);
 
-- ModuleWare code(v1.9) for instance 'U_5' of 'mux'
u_5combo_proc: process(val_one, val_two, sel_sp_val_i)
begin
case sel_sp_val_i is
when '0' => dout1 <= val_one;
when '1' => dout1 <= val_two;
when others => dout1 <= (others => 'X');
end case;
end process u_5combo_proc;
 
-- ModuleWare code(v1.9) for instance 'U_8' of 'mux'
u_8combo_proc: process(dout2, adr_i(7 DOWNTO 0), sel_sp_in_i)
u_8combo_proc: process(result_low_o_i, adr_low_i, sel_sp_in_i)
begin
case sel_sp_in_i is
when '0' => d <= dout2;
when '1' => d <= adr_i(7 DOWNTO 0);
when others => d <= (others => 'X');
when '0' => result_low1_o_i <= result_low_o_i;
when '1' => result_low1_o_i <= adr_low_i;
when others => result_low1_o_i <= (others => 'X');
end case;
end process u_8combo_proc;
 
-- ModuleWare code(v1.9) for instance 'U_10' of 'tap'
adr_sp_low_o_i <= adr_sp_o_internal(7 downto 0);
 
-- Instance port mappings.
 
-- Implicit buffered output assignments
/trunk/rtl/vhdl/r6502_tc.vhd
2,7 → 2,7
--
-- Created:
-- by - eda.UNKNOWN (ENTWICKL4-XP-PR)
-- at - 19:49:04 17.04.2008
-- at - 22:53:22 04.01.2009
--
-- Generated by Mentor Graphics' HDL Designer(TM) 2007.1a (Build 13)
--
45,16 → 45,17
--
-- CVS Revisins History
--
-- $Log: not supported by cvs2svn $
-- Title: Top Level for the 6502 Core
-- $Log: not supported by cvs2svn $
-- <<-- more -->>
-- Title: Top Level
-- Path: R6502_TC/R6502_TC/struct
-- Edited: by eda on 17 Apr 2008
-- Edited: by eda on 04 Jan 2009
--
-- VHDL Architecture R6502_TC.R6502_TC.struct
--
-- Created:
-- by - eda.UNKNOWN (ENTWICKL4-XP-PR)
-- at - 19:49:04 17.04.2008
-- at - 22:53:22 04.01.2009
--
-- Generated by Mentor Graphics' HDL Designer(TM) 2007.1a (Build 13)
--
/trunk/rtl/vhdl/fsm_execution_unit.vhd
2,7 → 2,7
--
-- Created:
-- by - eda.UNKNOWN (ENTWICKL4-XP-PR)
-- at - 22:42:53 04.01.2009
-- at - 22:53:07 04.01.2009
--
-- Generated by Mentor Graphics' HDL Designer(TM) 2007.1a (Build 13)
--
103,7 → 103,7
--
-- Created:
-- by - eda.UNKNOWN (ENTWICKL4-XP-PR)
-- at - 22:42:55 04.01.2009
-- at - 22:53:08 04.01.2009
--
-- Generated by Mentor Graphics' HDL Designer(TM) 2007.1a (Build 13)
--
/trunk/rtl/vhdl/core.vhd
2,7 → 2,7
--
-- Created:
-- by - eda.UNKNOWN (ENTWICKL4-XP-PR)
-- at - 19:49:03 17.04.2008
-- at - 22:53:21 04.01.2009
--
-- Generated by Mentor Graphics' HDL Designer(TM) 2007.1a (Build 13)
--
45,16 → 45,17
--
-- CVS Revisins History
--
-- $Log: not supported by cvs2svn $
-- Title: Core of 6502
-- $Log: not supported by cvs2svn $
-- <<-- more -->>
-- Title: Core
-- Path: R6502_TC/Core/struct
-- Edited: by eda on 17 Apr 2008
-- Edited: by eda on 04 Jan 2009
--
-- VHDL Architecture R6502_TC.Core.struct
--
-- Created:
-- by - eda.UNKNOWN (ENTWICKL4-XP-PR)
-- at - 19:49:03 17.04.2008
-- at - 22:53:22 04.01.2009
--
-- Generated by Mentor Graphics' HDL Designer(TM) 2007.1a (Build 13)
--
69,72 → 70,108
-- Architecture declarations
 
-- Internal signal declarations
signal adr_nxt_pc_o_i : std_logic_vector(15 downto 0);
signal adr_nxt_sp_o_i : std_logic_vector(15 downto 0);
signal adr_o_i : std_logic_vector(15 downto 0);
signal adr_pc_o_i : std_logic_vector(15 downto 0);
signal adr_sp_o_i : std_logic_vector(15 downto 0);
signal ch_a_o_i : std_logic_vector(7 downto 0);
signal ch_b_o_i : std_logic_vector(7 downto 0);
signal cout_pc_o_i : std_logic;
signal d_alu_o_i : std_logic_vector(7 downto 0);
signal d_regs_in_o_i : std_logic_vector(7 downto 0);
signal d_regs_out_o_i : std_logic_vector(7 downto 0);
signal fetch_o_i : std_logic;
signal ld_o_i : std_logic_vector(1 downto 0);
signal ld_pc_o_i : std_logic;
signal ld_sp_o_i : std_logic;
signal load_regs_o_i : std_logic;
signal nmi_o_i : std_logic;
signal offset_o_i : std_logic_vector(15 downto 0);
signal q_a_o_i : std_logic_vector(7 downto 0);
signal q_x_o_i : std_logic_vector(7 downto 0);
signal q_y_o_i : std_logic_vector(7 downto 0);
signal reg_0flag_core_o_i : std_logic;
signal reg_0flag_o_i : std_logic;
signal reg_1flag_o_i : std_logic;
signal reg_3flag_core_o_i : std_logic;
signal reg_6flag_o_i : std_logic;
signal reg_7flag_core_o_i : std_logic;
signal reg_7flag_o_i : std_logic;
signal rst_rst_int_o_i : std_logic;
signal sel_alu_as_o_i : std_logic;
signal sel_alu_out_o_i : std_logic_vector(2 downto 0);
signal sel_pc_as_o_i : std_logic;
signal sel_pc_in_o_i : std_logic_vector(1 downto 0);
signal sel_pc_val_o_i : std_logic_vector(1 downto 0);
signal sel_rb_in_o_i : std_logic_vector(2 downto 0);
signal sel_rb_out_o_i : std_logic_vector(2 downto 0);
signal sel_reg_o_i : std_logic_vector(1 downto 0);
signal sel_sp_as_o_i : std_logic;
signal sel_sp_in_o_i : std_logic_vector(1 downto 0);
signal sel_sp_val_o_i : std_logic_vector(1 downto 0);
signal adr_nxt_pc_o_i : std_logic_vector(15 downto 0);
signal adr_o_i : std_logic_vector(15 downto 0);
signal adr_pc_o_i : std_logic_vector(15 downto 0);
signal adr_sp_o_i : std_logic_vector(15 downto 0);
signal ch_a_o_i : std_logic_vector(7 downto 0);
signal ch_b_o_i : std_logic_vector(7 downto 0);
signal d_alu_n_o_i : std_logic;
signal d_alu_o_i : std_logic_vector(7 downto 0);
signal d_alu_or_o_i : std_logic;
signal d_regs_in_o_i : std_logic_vector(7 downto 0);
signal d_regs_out_o_i : std_logic_vector(7 downto 0);
signal fetch_o_i : std_logic;
signal ld_o_i : std_logic_vector(1 downto 0);
signal ld_pc_o_i : std_logic;
signal ld_sp_o_i : std_logic;
signal load_regs_o_i : std_logic;
signal nmi_o_i : std_logic;
signal offset_o_i : std_logic_vector(15 downto 0);
signal q_a_o_i : std_logic_vector(7 downto 0);
signal q_x_o_i : std_logic_vector(7 downto 0);
signal q_y_o_i : std_logic_vector(7 downto 0);
signal reg_0flag_o_i : std_logic;
signal reg_1flag_o_i : std_logic;
signal reg_7flag_o_i : std_logic;
signal sel_pc_as_o_i : std_logic;
signal sel_pc_in_o_i : std_logic;
signal sel_pc_val_o_i : std_logic_vector(1 downto 0);
signal sel_rb_in_o_i : std_logic_vector(1 downto 0);
signal sel_rb_out_o_i : std_logic_vector(1 downto 0);
signal sel_reg_o_i : std_logic_vector(1 downto 0);
signal sel_sp_as_o_i : std_logic;
signal sel_sp_in_o_i : std_logic;
 
 
-- ModuleWare signal declarations(v1.9) for instance 'U_11' of 'add'
signal mw_U_11temp_din0 : std_logic_vector(8 downto 0);
signal mw_U_11temp_din1 : std_logic_vector(8 downto 0);
signal mw_U_11sum : unsigned(8 downto 0);
 
-- Component Declarations
component ALU
component FSM_Execution_Unit
port (
ch_a_i : in std_logic_vector (7 downto 0);
ch_b_i : in std_logic_vector (7 downto 0);
reg_0flag_core_i : in std_logic ;
reg_3flag_core_i : in std_logic ;
reg_7flag_core_i : in std_logic ;
sel_alu_as_i : in std_logic ;
sel_alu_out_i : in std_logic_vector (2 downto 0);
d_alu_o : out std_logic_vector (7 downto 0);
reg_0flag_o : out std_logic ;
reg_1flag_o : out std_logic ;
reg_6flag_o : out std_logic ;
reg_7flag_o : out std_logic
adr_nxt_pc_i : in std_logic_vector (15 downto 0);
adr_pc_i : in std_logic_vector (15 downto 0);
adr_sp_i : in std_logic_vector (15 downto 0);
clk_clk_i : in std_logic ;
d_alu_i : in std_logic_vector ( 7 downto 0 );
d_i : in std_logic_vector ( 7 downto 0 );
d_regs_out_i : in std_logic_vector ( 7 downto 0 );
irq_n_i : in std_logic ;
nmi_i : in std_logic ;
q_a_i : in std_logic_vector ( 7 downto 0 );
q_x_i : in std_logic_vector ( 7 downto 0 );
q_y_i : in std_logic_vector ( 7 downto 0 );
rdy_i : in std_logic ;
reg_0flag_i : in std_logic ;
reg_1flag_i : in std_logic ;
reg_7flag_i : in std_logic ;
rst_rst_n_i : in std_logic ;
so_n_i : in std_logic ;
a_o : out std_logic_vector (15 downto 0);
adr_o : out std_logic_vector (15 downto 0);
ch_a_o : out std_logic_vector ( 7 downto 0 );
ch_b_o : out std_logic_vector ( 7 downto 0 );
d_o : out std_logic_vector ( 7 downto 0 );
d_regs_in_o : out std_logic_vector ( 7 downto 0 );
fetch_o : out std_logic ;
ld_o : out std_logic_vector ( 1 downto 0 );
ld_pc_o : out std_logic ;
ld_sp_o : out std_logic ;
load_regs_o : out std_logic ;
offset_o : out std_logic_vector ( 15 downto 0 );
rd_o : out std_logic ;
sel_pc_as_o : out std_logic ;
sel_pc_in_o : out std_logic ;
sel_pc_val_o : out std_logic_vector ( 1 downto 0 );
sel_rb_in_o : out std_logic_vector ( 1 downto 0 );
sel_rb_out_o : out std_logic_vector ( 1 downto 0 );
sel_reg_o : out std_logic_vector ( 1 downto 0 );
sel_sp_as_o : out std_logic ;
sel_sp_in_o : out std_logic ;
sync_o : out std_logic ;
wr_n_o : out std_logic ;
wr_o : out std_logic
);
end component;
component FSM_NMI
port (
clk_clk_i : in std_logic ;
fetch_i : in std_logic ;
nmi_n_i : in std_logic ;
rst_rst_n_i : in std_logic ;
nmi_o : out std_logic
);
end component;
component RegBank_AXY
port (
clk_clk_i : in std_logic ;
d_regs_in_i : in std_logic_vector (7 downto 0);
load_regs_i : in std_logic ;
rst_rst_i : in std_logic ;
sel_rb_in_i : in std_logic_vector (2 downto 0);
rst_rst_n_i : in std_logic ;
sel_rb_in_i : in std_logic_vector (1 downto 0);
sel_rb_out_i : in std_logic_vector (1 downto 0);
sel_reg_i : in std_logic_vector (1 downto 0);
d_regs_out_o : out std_logic_vector (7 downto 0);
150,135 → 187,125
ld_i : in std_logic_vector (1 downto 0);
ld_pc_i : in std_logic ;
offset_i : in std_logic_vector (15 downto 0);
rst_rst_i : in std_logic ;
rst_rst_n_i : in std_logic ;
sel_pc_as_i : in std_logic ;
sel_pc_in_i : in std_logic ;
sel_pc_val_i : in std_logic_vector (1 downto 0);
adr_nxt_pc_o : out std_logic_vector (15 downto 0);
adr_pc_o : out std_logic_vector (15 downto 0);
cout_pc_o : out std_logic
adr_pc_o : out std_logic_vector (15 downto 0)
);
end component;
component Reg_SP
port (
adr_i : in std_logic_vector (15 downto 0);
clk_clk_i : in std_logic ;
ld_i : in std_logic_vector (1 downto 0);
ld_sp_i : in std_logic ;
rst_rst_i : in std_logic ;
sel_sp_as_i : in std_logic ;
sel_sp_in_i : in std_logic ;
sel_sp_val_i : in std_logic ;
adr_nxt_sp_o : out std_logic_vector (15 downto 0);
adr_sp_o : out std_logic_vector (15 downto 0)
);
end component;
component fsm_core_V2_0
port (
adr_nxt_pc_i : in std_logic_vector (15 downto 0);
adr_nxt_sp_i : in std_logic_vector (15 downto 0);
adr_pc_i : in std_logic_vector (15 downto 0);
adr_sp_i : in std_logic_vector (15 downto 0);
clk_clk_i : in std_logic ;
cout_pc_i : in std_logic ;
d_alu_i : in std_logic_vector ( 7 downto 0 );
d_i : in std_logic_vector ( 7 downto 0 );
d_regs_out_i : in std_logic_vector ( 7 downto 0 );
irq_n_i : in std_logic ;
nmi_i : in std_logic ;
q_a_i : in std_logic_vector ( 7 downto 0 );
q_x_i : in std_logic_vector ( 7 downto 0 );
q_y_i : in std_logic_vector ( 7 downto 0 );
rdy_i : in std_logic ;
reg_0flag_i : in std_logic ;
reg_1flag_i : in std_logic ;
reg_6flag_i : in std_logic ;
reg_7flag_i : in std_logic ;
rst_rst_n_i : in std_logic ;
so_n_i : in std_logic ;
a_o : out std_logic_vector (15 downto 0);
adr_o : out std_logic_vector (15 downto 0);
ch_a_o : out std_logic_vector ( 7 downto 0 );
ch_b_o : out std_logic_vector ( 7 downto 0 );
d_o : out std_logic_vector ( 7 downto 0 );
d_regs_in_o : out std_logic_vector ( 7 downto 0 );
fetch_o : out std_logic ;
ld_o : out std_logic_vector ( 1 downto 0 );
ld_pc_o : out std_logic ;
ld_sp_o : out std_logic ;
load_regs_o : out std_logic ;
offset_o : out std_logic_vector ( 15 downto 0 );
rd_o : out std_logic ;
reg_0flag_o : out std_logic ;
reg_1flag_o : out std_logic ;
reg_3flag_o : out std_logic ;
reg_7flag_o : out std_logic ;
sync_o : out std_logic ;
wr_n_o : out std_logic ;
wr_o : out std_logic ;
sel_alu_as_o_i : inout std_logic ;
sel_alu_out_o_i : inout std_logic_vector ( 2 downto 0 );
sel_pc_as_o_i : inout std_logic ;
sel_pc_in_o_i : inout std_logic_vector ( 1 downto 0 );
sel_pc_val_o_i : inout std_logic_vector ( 1 downto 0 );
sel_rb_in_o_i : inout std_logic_vector ( 2 downto 0 );
sel_rb_out_o_i : inout std_logic_vector ( 2 downto 0 );
sel_reg_o_i : inout std_logic_vector ( 1 downto 0 );
sel_sp_as_o_i : inout std_logic ;
sel_sp_in_o_i : inout std_logic_vector ( 1 downto 0 );
sel_sp_val_o_i : inout std_logic_vector ( 1 downto 0 )
);
end component;
component fsm_nmi
port (
adr_low_i : in std_logic_vector (7 downto 0);
clk_clk_i : in std_logic ;
fetch_i : in std_logic ;
nmi_n_i : in std_logic ;
ld_low_i : in std_logic ;
ld_sp_i : in std_logic ;
rst_rst_n_i : in std_logic ;
nmi_o : out std_logic
sel_sp_as_i : in std_logic ;
sel_sp_in_i : in std_logic ;
adr_sp_o : out std_logic_vector (15 downto 0)
);
end component;
 
-- Optional embedded configurations
-- pragma synthesis_off
for all : ALU use entity R6502_TC.ALU;
for all : FSM_Execution_Unit use entity R6502_TC.FSM_Execution_Unit;
for all : FSM_NMI use entity R6502_TC.FSM_NMI;
for all : RegBank_AXY use entity R6502_TC.RegBank_AXY;
for all : Reg_PC use entity R6502_TC.Reg_PC;
for all : Reg_SP use entity R6502_TC.Reg_SP;
for all : fsm_core_V2_0 use entity R6502_TC.fsm_core_V2_0;
for all : fsm_nmi use entity R6502_TC.fsm_nmi;
-- pragma synthesis_on
 
 
begin
 
-- ModuleWare code(v1.9) for instance 'U_5' of 'inv'
rst_rst_int_o_i <= not(rst_rst_n_i);
-- ModuleWare code(v1.9) for instance 'U_11' of 'add'
mw_U_11temp_din0 <= '0' & ch_a_o_i;
mw_U_11temp_din1 <= '0' & ch_b_o_i;
u_11combo_proc: process (mw_U_11temp_din0, mw_U_11temp_din1)
variable temp_carry : std_logic;
begin
temp_carry := '0';
mw_U_11sum <= unsigned(mw_U_11temp_din0) + unsigned(mw_U_11temp_din1) + temp_carry;
end process u_11combo_proc;
d_alu_o_i <= conv_std_logic_vector(mw_U_11sum(7 downto 0),8);
reg_0flag_o_i <= mw_U_11sum(8) ;
 
-- ModuleWare code(v1.9) for instance 'U_8' of 'inv'
reg_1flag_o_i <= not(d_alu_or_o_i);
 
-- ModuleWare code(v1.9) for instance 'U_9' of 'inv'
reg_7flag_o_i <= not(d_alu_n_o_i);
 
-- ModuleWare code(v1.9) for instance 'U_10' of 'inv'
d_alu_n_o_i <= not(d_alu_o_i(7));
 
-- ModuleWare code(v1.9) for instance 'U_7' of 'por'
d_alu_or_o_i <= d_alu_o_i(0) or d_alu_o_i(1) or d_alu_o_i(2) or d_alu_o_i(3) or d_alu_o_i(4) or d_alu_o_i(5) or d_alu_o_i(6) or d_alu_o_i(7);
 
-- Instance port mappings.
U_3 : ALU
U_4 : FSM_Execution_Unit
port map (
ch_a_i => ch_a_o_i,
ch_b_i => ch_b_o_i,
reg_0flag_core_i => reg_0flag_core_o_i,
reg_3flag_core_i => reg_3flag_core_o_i,
reg_7flag_core_i => reg_7flag_core_o_i,
sel_alu_as_i => sel_alu_as_o_i,
sel_alu_out_i => sel_alu_out_o_i,
d_alu_o => d_alu_o_i,
reg_0flag_o => reg_0flag_o_i,
reg_1flag_o => reg_1flag_o_i,
reg_6flag_o => reg_6flag_o_i,
reg_7flag_o => reg_7flag_o_i
adr_nxt_pc_i => adr_nxt_pc_o_i,
adr_pc_i => adr_pc_o_i,
adr_sp_i => adr_sp_o_i,
clk_clk_i => clk_clk_i,
d_alu_i => d_alu_o_i,
d_i => d_i,
d_regs_out_i => d_regs_out_o_i,
irq_n_i => irq_n_i,
nmi_i => nmi_o_i,
q_a_i => q_a_o_i,
q_x_i => q_x_o_i,
q_y_i => q_y_o_i,
rdy_i => rdy_i,
reg_0flag_i => reg_0flag_o_i,
reg_1flag_i => reg_1flag_o_i,
reg_7flag_i => reg_7flag_o_i,
rst_rst_n_i => rst_rst_n_i,
so_n_i => so_n_i,
a_o => a_o,
adr_o => adr_o_i,
ch_a_o => ch_a_o_i,
ch_b_o => ch_b_o_i,
d_o => d_o,
d_regs_in_o => d_regs_in_o_i,
fetch_o => fetch_o_i,
ld_o => ld_o_i,
ld_pc_o => ld_pc_o_i,
ld_sp_o => ld_sp_o_i,
load_regs_o => load_regs_o_i,
offset_o => offset_o_i,
rd_o => rd_o,
sel_pc_as_o => sel_pc_as_o_i,
sel_pc_in_o => sel_pc_in_o_i,
sel_pc_val_o => sel_pc_val_o_i,
sel_rb_in_o => sel_rb_in_o_i,
sel_rb_out_o => sel_rb_out_o_i,
sel_reg_o => sel_reg_o_i,
sel_sp_as_o => sel_sp_as_o_i,
sel_sp_in_o => sel_sp_in_o_i,
sync_o => sync_o,
wr_n_o => wr_n_o,
wr_o => wr_o
);
U_6 : FSM_NMI
port map (
clk_clk_i => clk_clk_i,
fetch_i => fetch_o_i,
nmi_n_i => nmi_n_i,
rst_rst_n_i => rst_rst_n_i,
nmi_o => nmi_o_i
);
U_2 : RegBank_AXY
port map (
clk_clk_i => clk_clk_i,
d_regs_in_i => d_regs_in_o_i,
load_regs_i => load_regs_o_i,
rst_rst_i => rst_rst_int_o_i,
rst_rst_n_i => rst_rst_n_i,
sel_rb_in_i => sel_rb_in_o_i,
sel_rb_out_i => sel_rb_out_o_i(1 DOWNTO 0),
sel_rb_out_i => sel_rb_out_o_i,
sel_reg_i => sel_reg_o_i,
d_regs_out_o => d_regs_out_o_i,
q_a_o => q_a_o_i,
292,89 → 319,23
ld_i => ld_o_i,
ld_pc_i => ld_pc_o_i,
offset_i => offset_o_i,
rst_rst_i => rst_rst_int_o_i,
rst_rst_n_i => rst_rst_n_i,
sel_pc_as_i => sel_pc_as_o_i,
sel_pc_in_i => sel_pc_in_o_i(0),
sel_pc_in_i => sel_pc_in_o_i,
sel_pc_val_i => sel_pc_val_o_i,
adr_nxt_pc_o => adr_nxt_pc_o_i,
adr_pc_o => adr_pc_o_i,
cout_pc_o => cout_pc_o_i
adr_pc_o => adr_pc_o_i
);
U_1 : Reg_SP
port map (
adr_i => adr_o_i,
clk_clk_i => clk_clk_i,
ld_i => ld_o_i,
ld_sp_i => ld_sp_o_i,
rst_rst_i => rst_rst_int_o_i,
sel_sp_as_i => sel_sp_as_o_i,
sel_sp_in_i => sel_sp_in_o_i(0),
sel_sp_val_i => sel_sp_val_o_i(0),
adr_nxt_sp_o => adr_nxt_sp_o_i,
adr_sp_o => adr_sp_o_i
);
U_4 : fsm_core_V2_0
port map (
adr_nxt_pc_i => adr_nxt_pc_o_i,
adr_nxt_sp_i => adr_nxt_sp_o_i,
adr_pc_i => adr_pc_o_i,
adr_sp_i => adr_sp_o_i,
clk_clk_i => clk_clk_i,
cout_pc_i => cout_pc_o_i,
d_alu_i => d_alu_o_i,
d_i => d_i,
d_regs_out_i => d_regs_out_o_i,
irq_n_i => irq_n_i,
nmi_i => nmi_o_i,
q_a_i => q_a_o_i,
q_x_i => q_x_o_i,
q_y_i => q_y_o_i,
rdy_i => rdy_i,
reg_0flag_i => reg_0flag_o_i,
reg_1flag_i => reg_1flag_o_i,
reg_6flag_i => reg_6flag_o_i,
reg_7flag_i => reg_7flag_o_i,
rst_rst_n_i => rst_rst_n_i,
so_n_i => so_n_i,
a_o => a_o,
adr_o => adr_o_i,
ch_a_o => ch_a_o_i,
ch_b_o => ch_b_o_i,
d_o => d_o,
d_regs_in_o => d_regs_in_o_i,
fetch_o => fetch_o_i,
ld_o => ld_o_i,
ld_pc_o => ld_pc_o_i,
ld_sp_o => ld_sp_o_i,
load_regs_o => load_regs_o_i,
offset_o => offset_o_i,
rd_o => rd_o,
reg_0flag_o => reg_0flag_core_o_i,
reg_1flag_o => open,
reg_3flag_o => reg_3flag_core_o_i,
reg_7flag_o => reg_7flag_core_o_i,
sync_o => sync_o,
wr_n_o => wr_n_o,
wr_o => wr_o,
sel_alu_as_o_i => sel_alu_as_o_i,
sel_alu_out_o_i => sel_alu_out_o_i,
sel_pc_as_o_i => sel_pc_as_o_i,
sel_pc_in_o_i => sel_pc_in_o_i,
sel_pc_val_o_i => sel_pc_val_o_i,
sel_rb_in_o_i => sel_rb_in_o_i,
sel_rb_out_o_i => sel_rb_out_o_i,
sel_reg_o_i => sel_reg_o_i,
sel_sp_as_o_i => sel_sp_as_o_i,
sel_sp_in_o_i => sel_sp_in_o_i,
sel_sp_val_o_i => sel_sp_val_o_i
);
U_6 : fsm_nmi
port map (
adr_low_i => adr_o_i(7 DOWNTO 0),
clk_clk_i => clk_clk_i,
fetch_i => fetch_o_i,
nmi_n_i => nmi_n_i,
ld_low_i => ld_o_i(0),
ld_sp_i => ld_sp_o_i,
rst_rst_n_i => rst_rst_n_i,
nmi_o => nmi_o_i
sel_sp_as_i => sel_sp_as_o_i,
sel_sp_in_i => sel_sp_in_o_i,
adr_sp_o => adr_sp_o_i
);
 
end struct;
/trunk/rtl/vhdl/fsm_nmi.vhd
1,8 → 1,8
-- VHDL Entity R6502_TC.fsm_nmi.symbol
-- VHDL Entity R6502_TC.FSM_NMI.symbol
--
-- Created:
-- by - eda.UNKNOWN (ENTWICKL4-XP-PR)
-- at - 19:49:03 17.04.2008
-- at - 22:53:21 04.01.2009
--
-- Generated by Mentor Graphics' HDL Designer(TM) 2007.1a (Build 13)
--
10,7 → 10,7
USE ieee.std_logic_1164.all;
USE ieee.std_logic_arith.all;
 
entity fsm_nmi is
entity FSM_NMI is
port(
clk_clk_i : in std_logic;
fetch_i : in std_logic;
21,7 → 21,7
 
-- Declarations
 
end fsm_nmi ;
end FSM_NMI ;
 
-- Jens-D. Gutschmidt Project: R6502_TC
 
51,20 → 51,22
 
--
 
-- $Log: not supported by cvs2svn $
-- $Log: not supported by cvs2svn $
 
-- <<-- more -->>
 
-- Title: FSM for NMI
 
-- Path: R6502_TC/fsm_nmi/fsm
-- Path: R6502_TC/FSM_NMI/fsm
 
-- Edited: by eda on 17 Apr 2008
-- Edited: by eda on 03 Jan 2009
 
--
-- VHDL Architecture R6502_TC.fsm_nmi.fsm
-- VHDL Architecture R6502_TC.FSM_NMI.fsm
--
-- Created:
-- by - eda.UNKNOWN (ENTWICKL4-XP-PR)
-- at - 19:49:03 17.04.2008
-- at - 22:53:21 04.01.2009
--
-- Generated by Mentor Graphics' HDL Designer(TM) 2007.1a (Build 13)
--
72,7 → 74,7
USE ieee.std_logic_1164.all;
USE ieee.std_logic_arith.all;
architecture fsm of fsm_nmi is
architecture fsm of FSM_NMI is
 
type state_type is (
idle,
129,6 → 131,7
-----------------------------------------------------------------
begin
case current_state is
-- <<< REQ1
when idle =>
if (nmi_n_i = '1') then
next_state <= idle1;
150,6 → 153,8
when IMP =>
if (fetch_i = '1') then
next_state <= idle;
else
next_state <= IMP;
end if;
when others =>
next_state <= idle;
/trunk/rtl/vhdl/regbank_axy.vhd
2,7 → 2,7
--
-- Created:
-- by - eda.UNKNOWN (ENTWICKL4-XP-PR)
-- at - 19:48:45 17.04.2008
-- at - 22:53:06 04.01.2009
--
-- Generated by Mentor Graphics' HDL Designer(TM) 2007.1a (Build 13)
--
15,8 → 15,8
clk_clk_i : in std_logic;
d_regs_in_i : in std_logic_vector (7 downto 0);
load_regs_i : in std_logic;
rst_rst_i : in std_logic;
sel_rb_in_i : in std_logic_vector (2 downto 0);
rst_rst_n_i : in std_logic;
sel_rb_in_i : in std_logic_vector (1 downto 0);
sel_rb_out_i : in std_logic_vector (1 downto 0);
sel_reg_i : in std_logic_vector (1 downto 0);
d_regs_out_o : out std_logic_vector (7 downto 0);
43,16 → 43,17
--
-- CVS Revisins History
--
-- $Log: not supported by cvs2svn $
-- $Log: not supported by cvs2svn $
-- <<-- more -->>
-- Title: Register Bank for register A, X and Y
-- Path: R6502_TC/RegBank_AXY/struct
-- Edited: by eda on 17 Apr 2008
-- Edited: by eda on 02 Jan 2009
--
-- VHDL Architecture R6502_TC.RegBank_AXY.struct
--
-- Created:
-- by - eda.UNKNOWN (ENTWICKL4-XP-PR)
-- at - 19:48:45 17.04.2008
-- at - 22:53:07 04.01.2009
--
-- Generated by Mentor Graphics' HDL Designer(TM) 2007.1a (Build 13)
--
66,15 → 67,12
-- Architecture declarations
 
-- Internal signal declarations
signal dout : std_logic_vector(7 downto 0);
signal dout1 : std_logic_vector(7 downto 0);
signal ld : std_logic_vector(3 downto 0);
signal load : std_logic;
signal load1 : std_logic;
signal load2 : std_logic;
signal load3 : std_logic;
signal q_zw : std_logic_vector(7 downto 0);
signal val_zero : std_logic_vector(7 downto 0);
signal ld : std_logic_vector(2 downto 0);
signal load1_o_i : std_logic;
signal load2_o_i : std_logic;
signal load_o_i : std_logic;
signal q_mux_o_i : std_logic_vector(7 downto 0);
signal val_zero : std_logic_vector(7 downto 0);
 
-- Implicit buffer signal declarations
signal q_a_o_internal : std_logic_vector (7 downto 0);
91,26 → 89,18
-- ModuleWare signal declarations(v1.9) for instance 'U_5' of 'adff'
signal mw_U_5reg_cval : std_logic_vector(7 downto 0);
 
-- ModuleWare signal declarations(v1.9) for instance 'U_10' of 'adff'
signal mw_U_10reg_cval : std_logic_vector(7 downto 0);
 
 
begin
-- Architecture concurrent statements
-- HDL Embedded Text Block 1 eb1
-- eb1 1
val_zero (7 downto 0) <= X"00";
 
 
-- ModuleWare code(v1.9) for instance 'U_0' of 'adff'
q_a_o_internal <= mw_U_0reg_cval;
u_0seq_proc: process (clk_clk_i, rst_rst_i)
u_0seq_proc: process (clk_clk_i, rst_rst_n_i)
begin
if (rst_rst_i = '1') then
if (rst_rst_n_i = '0') then
mw_U_0reg_cval <= "00000000";
elsif (clk_clk_i'event and clk_clk_i='1') then
if (load = '1') then
mw_U_0reg_cval <= dout;
if (load_o_i = '1') then
mw_U_0reg_cval <= q_mux_o_i;
end if;
end if;
end process u_0seq_proc;
117,13 → 107,13
 
-- ModuleWare code(v1.9) for instance 'U_4' of 'adff'
q_x_o_internal <= mw_U_4reg_cval;
u_4seq_proc: process (clk_clk_i, rst_rst_i)
u_4seq_proc: process (clk_clk_i, rst_rst_n_i)
begin
if (rst_rst_i = '1') then
if (rst_rst_n_i = '0') then
mw_U_4reg_cval <= "00000000";
elsif (clk_clk_i'event and clk_clk_i='1') then
if (load1 = '1') then
mw_U_4reg_cval <= dout;
if (load1_o_i = '1') then
mw_U_4reg_cval <= q_mux_o_i;
end if;
end if;
end process u_4seq_proc;
130,41 → 120,28
 
-- ModuleWare code(v1.9) for instance 'U_5' of 'adff'
q_y_o_internal <= mw_U_5reg_cval;
u_5seq_proc: process (clk_clk_i, rst_rst_i)
u_5seq_proc: process (clk_clk_i, rst_rst_n_i)
begin
if (rst_rst_i = '1') then
if (rst_rst_n_i = '0') then
mw_U_5reg_cval <= "00000000";
elsif (clk_clk_i'event and clk_clk_i='1') then
if (load2 = '1') then
mw_U_5reg_cval <= dout;
if (load2_o_i = '1') then
mw_U_5reg_cval <= q_mux_o_i;
end if;
end if;
end process u_5seq_proc;
 
-- ModuleWare code(v1.9) for instance 'U_10' of 'adff'
q_zw <= mw_U_10reg_cval;
u_10seq_proc: process (clk_clk_i, rst_rst_i)
begin
if (rst_rst_i = '1') then
mw_U_10reg_cval <= "00000000";
elsif (clk_clk_i'event and clk_clk_i='1') then
if (load3 = '1') then
mw_U_10reg_cval <= dout;
end if;
end if;
end process u_10seq_proc;
 
-- ModuleWare code(v1.9) for instance 'U_6' of 'and'
load <= load_regs_i and ld(0);
load_o_i <= load_regs_i and ld(0);
 
-- ModuleWare code(v1.9) for instance 'U_7' of 'and'
load1 <= load_regs_i and ld(1);
load1_o_i <= load_regs_i and ld(1);
 
-- ModuleWare code(v1.9) for instance 'U_8' of 'and'
load2 <= load_regs_i and ld(2);
load2_o_i <= load_regs_i and ld(2);
 
-- ModuleWare code(v1.9) for instance 'U_9' of 'and'
load3 <= load_regs_i and ld(3);
-- ModuleWare code(v1.9) for instance 'U_11' of 'constval'
val_zero <= "00000000";
 
-- ModuleWare code(v1.9) for instance 'U_1' of 'decoder1'
u_1combo_proc: process (sel_reg_i)
174,7 → 151,6
when "00" => ld(0) <= '1';
when "01" => ld(1) <= '1';
when "10" => ld(2) <= '1';
when "11" => ld(3) <= '1';
when others => ld <= (others => '0');
end case;
end process u_1combo_proc;
181,13 → 157,13
 
-- ModuleWare code(v1.9) for instance 'U_2' of 'mux'
u_2combo_proc: process(q_a_o_internal, q_x_o_internal, q_y_o_internal,
q_zw, sel_rb_out_i)
val_zero, sel_rb_out_i)
begin
case sel_rb_out_i is
when "00" => d_regs_out_o <= q_a_o_internal;
when "01" => d_regs_out_o <= q_x_o_internal;
when "10" => d_regs_out_o <= q_y_o_internal;
when "11" => d_regs_out_o <= q_zw;
when "11" => d_regs_out_o <= val_zero;
when others => d_regs_out_o <= (others => 'X');
end case;
end process u_2combo_proc;
194,27 → 170,17
 
-- ModuleWare code(v1.9) for instance 'U_3' of 'mux'
u_3combo_proc: process(q_a_o_internal, q_y_o_internal, q_x_o_internal,
d_regs_in_i, sel_rb_in_i(1 DOWNTO 0))
d_regs_in_i, sel_rb_in_i)
begin
case sel_rb_in_i(1 DOWNTO 0) is
when "00" => dout1 <= q_a_o_internal;
when "01" => dout1 <= q_y_o_internal;
when "10" => dout1 <= q_x_o_internal;
when "11" => dout1 <= d_regs_in_i;
when others => dout1 <= (others => 'X');
case sel_rb_in_i is
when "00" => q_mux_o_i <= q_a_o_internal;
when "01" => q_mux_o_i <= q_y_o_internal;
when "10" => q_mux_o_i <= q_x_o_internal;
when "11" => q_mux_o_i <= d_regs_in_i;
when others => q_mux_o_i <= (others => 'X');
end case;
end process u_3combo_proc;
 
-- ModuleWare code(v1.9) for instance 'U_11' of 'mux'
u_11combo_proc: process(dout1, q_zw, sel_rb_in_i(2))
begin
case sel_rb_in_i(2) is
when '0' => dout <= dout1;
when '1' => dout <= q_zw;
when others => dout <= (others => 'X');
end case;
end process u_11combo_proc;
 
-- Instance port mappings.
 
-- Implicit buffered output assignments
/trunk/doc/HTML/R6502_TCR6502_TCindex.htm
1118,62 → 1118,6
'BlockDiagram', 'R6502_TC/Reg_PC/struct',
'R6502_TC/@reg_@p@c/struct_bd.htm',
'R6502_TC/Reg_PC/struct');
nodes[6] = theMenu.addChild(nodes[5],
'VHDL', '1: eb1',
'R6502_TC/@reg_@p@c/struct_bd@072eb1.htm',
'1: eb1');
nodes[6] = theMenu.addChild(nodes[5],
'VHDL', '2: eb2',
'R6502_TC/@reg_@p@c/struct_bd@072eb2.htm',
'2: eb2');
nodes[6] = theMenu.addChild(nodes[5],
'VHDL', '3: eb3',
'R6502_TC/@reg_@p@c/struct_bd@072eb3.htm',
'3: eb3');
nodes[6] = theMenu.addChild(nodes[5],
'InlineModulewareInstance', 'U_0 : moduleware.adff',
'R6502_TC/@reg_@p@c/struct_bd.htm',
'U_0 : moduleware.adff');
nodes[6] = theMenu.addChild(nodes[5],
'InlineModulewareInstance', 'U_10 : moduleware.and',
'R6502_TC/@reg_@p@c/struct_bd.htm',
'U_10 : moduleware.and');
nodes[6] = theMenu.addChild(nodes[5],
'InlineModulewareInstance', 'U_11 : moduleware.addsub',
'R6502_TC/@reg_@p@c/struct_bd.htm',
'U_11 : moduleware.addsub');
nodes[6] = theMenu.addChild(nodes[5],
'InlineModulewareInstance', 'U_12 : moduleware.addsub',
'R6502_TC/@reg_@p@c/struct_bd.htm',
'U_12 : moduleware.addsub');
nodes[6] = theMenu.addChild(nodes[5],
'InlineModulewareInstance', 'U_2 : moduleware.inv',
'R6502_TC/@reg_@p@c/struct_bd.htm',
'U_2 : moduleware.inv');
nodes[6] = theMenu.addChild(nodes[5],
'InlineModulewareInstance', 'U_4 : moduleware.adff',
'R6502_TC/@reg_@p@c/struct_bd.htm',
'U_4 : moduleware.adff');
nodes[6] = theMenu.addChild(nodes[5],
'InlineModulewareInstance', 'U_5 : moduleware.mux',
'R6502_TC/@reg_@p@c/struct_bd.htm',
'U_5 : moduleware.mux');
nodes[6] = theMenu.addChild(nodes[5],
'InlineModulewareInstance', 'U_6 : moduleware.and',
'R6502_TC/@reg_@p@c/struct_bd.htm',
'U_6 : moduleware.and');
nodes[6] = theMenu.addChild(nodes[5],
'InlineModulewareInstance', 'U_7 : moduleware.and',
'R6502_TC/@reg_@p@c/struct_bd.htm',
'U_7 : moduleware.and');
nodes[6] = theMenu.addChild(nodes[5],
'InlineModulewareInstance', 'U_8 : moduleware.mux',
'R6502_TC/@reg_@p@c/struct_bd.htm',
'U_8 : moduleware.mux');
nodes[6] = theMenu.addChild(nodes[5],
'InlineModulewareInstance', 'U_9 : moduleware.mux',
'R6502_TC/@reg_@p@c/struct_bd.htm',
'U_9 : moduleware.mux');
nodes[4] = theMenu.addChild(nodes[3],
'Instance', 'U_1 : R6502_TC.Reg_SP',
'R6502_TC/@core/struct_bd.htm',
1182,46 → 1126,6
'BlockDiagram', 'R6502_TC/Reg_SP/struct',
'R6502_TC/@reg_@s@p/struct_bd.htm',
'R6502_TC/Reg_SP/struct');
nodes[6] = theMenu.addChild(nodes[5],
'VHDL', '2: eb2',
'R6502_TC/@reg_@s@p/struct_bd@072eb2.htm',
'2: eb2');
nodes[6] = theMenu.addChild(nodes[5],
'VHDL', '3: eb3',
'R6502_TC/@reg_@s@p/struct_bd@072eb3.htm',
'3: eb3');
nodes[6] = theMenu.addChild(nodes[5],
'InlineModulewareInstance', 'U_0 : moduleware.adff',
'R6502_TC/@reg_@s@p/struct_bd.htm',
'U_0 : moduleware.adff');
nodes[6] = theMenu.addChild(nodes[5],
'InlineModulewareInstance', 'U_11 : moduleware.addsub',
'R6502_TC/@reg_@s@p/struct_bd.htm',
'U_11 : moduleware.addsub');
nodes[6] = theMenu.addChild(nodes[5],
'InlineModulewareInstance', 'U_2 : moduleware.inv',
'R6502_TC/@reg_@s@p/struct_bd.htm',
'U_2 : moduleware.inv');
nodes[6] = theMenu.addChild(nodes[5],
'InlineModulewareInstance', 'U_4 : moduleware.adff',
'R6502_TC/@reg_@s@p/struct_bd.htm',
'U_4 : moduleware.adff');
nodes[6] = theMenu.addChild(nodes[5],
'InlineModulewareInstance', 'U_5 : moduleware.mux',
'R6502_TC/@reg_@s@p/struct_bd.htm',
'U_5 : moduleware.mux');
nodes[6] = theMenu.addChild(nodes[5],
'InlineModulewareInstance', 'U_6 : moduleware.and',
'R6502_TC/@reg_@s@p/struct_bd.htm',
'U_6 : moduleware.and');
nodes[6] = theMenu.addChild(nodes[5],
'InlineModulewareInstance', 'U_7 : moduleware.and',
'R6502_TC/@reg_@s@p/struct_bd.htm',
'U_7 : moduleware.and');
nodes[6] = theMenu.addChild(nodes[5],
'InlineModulewareInstance', 'U_8 : moduleware.mux',
'R6502_TC/@reg_@s@p/struct_bd.htm',
'U_8 : moduleware.mux');
nodes[4] = theMenu.addChild(nodes[3],
'Instance', 'U_2 : R6502_TC.RegBank_AXY',
'R6502_TC/@core/struct_bd.htm',
1230,297 → 1134,165
'BlockDiagram', 'R6502_TC/RegBank_AXY/struct',
'R6502_TC/@reg@bank_@a@x@y/struct_bd.htm',
'R6502_TC/RegBank_AXY/struct');
nodes[6] = theMenu.addChild(nodes[5],
'VHDL', '1: eb1',
'R6502_TC/@reg@bank_@a@x@y/struct_bd@072eb1.htm',
'1: eb1');
nodes[6] = theMenu.addChild(nodes[5],
'InlineModulewareInstance', 'U_0 : moduleware.adff',
'R6502_TC/@reg@bank_@a@x@y/struct_bd.htm',
'U_0 : moduleware.adff');
nodes[6] = theMenu.addChild(nodes[5],
'InlineModulewareInstance', 'U_1 : moduleware.decoder1',
'R6502_TC/@reg@bank_@a@x@y/struct_bd.htm',
'U_1 : moduleware.decoder1');
nodes[6] = theMenu.addChild(nodes[5],
'InlineModulewareInstance', 'U_10 : moduleware.adff',
'R6502_TC/@reg@bank_@a@x@y/struct_bd.htm',
'U_10 : moduleware.adff');
nodes[6] = theMenu.addChild(nodes[5],
'InlineModulewareInstance', 'U_11 : moduleware.mux',
'R6502_TC/@reg@bank_@a@x@y/struct_bd.htm',
'U_11 : moduleware.mux');
nodes[6] = theMenu.addChild(nodes[5],
'InlineModulewareInstance', 'U_2 : moduleware.mux',
'R6502_TC/@reg@bank_@a@x@y/struct_bd.htm',
'U_2 : moduleware.mux');
nodes[6] = theMenu.addChild(nodes[5],
'InlineModulewareInstance', 'U_3 : moduleware.mux',
'R6502_TC/@reg@bank_@a@x@y/struct_bd.htm',
'U_3 : moduleware.mux');
nodes[6] = theMenu.addChild(nodes[5],
'InlineModulewareInstance', 'U_4 : moduleware.adff',
'R6502_TC/@reg@bank_@a@x@y/struct_bd.htm',
'U_4 : moduleware.adff');
nodes[6] = theMenu.addChild(nodes[5],
'InlineModulewareInstance', 'U_5 : moduleware.adff',
'R6502_TC/@reg@bank_@a@x@y/struct_bd.htm',
'U_5 : moduleware.adff');
nodes[6] = theMenu.addChild(nodes[5],
'InlineModulewareInstance', 'U_6 : moduleware.and',
'R6502_TC/@reg@bank_@a@x@y/struct_bd.htm',
'U_6 : moduleware.and');
nodes[6] = theMenu.addChild(nodes[5],
'InlineModulewareInstance', 'U_7 : moduleware.and',
'R6502_TC/@reg@bank_@a@x@y/struct_bd.htm',
'U_7 : moduleware.and');
nodes[6] = theMenu.addChild(nodes[5],
'InlineModulewareInstance', 'U_8 : moduleware.and',
'R6502_TC/@reg@bank_@a@x@y/struct_bd.htm',
'U_8 : moduleware.and');
nodes[6] = theMenu.addChild(nodes[5],
'InlineModulewareInstance', 'U_9 : moduleware.and',
'R6502_TC/@reg@bank_@a@x@y/struct_bd.htm',
'U_9 : moduleware.and');
nodes[4] = theMenu.addChild(nodes[3],
'Instance', 'U_3 : R6502_TC.ALU',
'Instance', 'U_4 : R6502_TC.FSM_Execution_Unit',
'R6502_TC/@core/struct_bd.htm',
'U_3 : R6502_TC.ALU');
'U_4 : R6502_TC.FSM_Execution_Unit');
nodes[5] = theMenu.addChild(nodes[4],
'BlockDiagram', 'R6502_TC/ALU/struct',
'R6502_TC/@a@l@u/struct_bd.htm',
'R6502_TC/ALU/struct');
'StateDiagram', 'R6502_TC/FSM_Execution_Unit/fsm',
'R6502_TC/@f@s@m_@execution_@unit/fsm_sm.htm',
'R6502_TC/FSM_Execution_Unit/fsm');
nodes[6] = theMenu.addChild(nodes[5],
'VHDL', '3: eb3',
'R6502_TC/@a@l@u/struct_bd@072eb3.htm',
'3: eb3');
nodes[6] = theMenu.addChild(nodes[5],
'InlineModulewareInstance', 'U_0 : moduleware.sand',
'R6502_TC/@a@l@u/struct_bd.htm',
'U_0 : moduleware.sand');
nodes[6] = theMenu.addChild(nodes[5],
'InlineModulewareInstance', 'U_1 : moduleware.sor',
'R6502_TC/@a@l@u/struct_bd.htm',
'U_1 : moduleware.sor');
nodes[6] = theMenu.addChild(nodes[5],
'InlineModulewareInstance', 'U_10 : moduleware.inv',
'R6502_TC/@a@l@u/struct_bd.htm',
'U_10 : moduleware.inv');
nodes[6] = theMenu.addChild(nodes[5],
'InlineModulewareInstance', 'U_11 : moduleware.sand',
'R6502_TC/@a@l@u/struct_bd.htm',
'U_11 : moduleware.sand');
nodes[6] = theMenu.addChild(nodes[5],
'InlineModulewareInstance', 'U_12 : moduleware.sor',
'R6502_TC/@a@l@u/struct_bd.htm',
'U_12 : moduleware.sor');
nodes[6] = theMenu.addChild(nodes[5],
'InlineModulewareInstance', 'U_13 : moduleware.sand',
'R6502_TC/@a@l@u/struct_bd.htm',
'U_13 : moduleware.sand');
nodes[6] = theMenu.addChild(nodes[5],
'InlineModulewareInstance', 'U_14 : moduleware.inv',
'R6502_TC/@a@l@u/struct_bd.htm',
'U_14 : moduleware.inv');
nodes[6] = theMenu.addChild(nodes[5],
'InlineModulewareInstance', 'U_2 : moduleware.sxor',
'R6502_TC/@a@l@u/struct_bd.htm',
'U_2 : moduleware.sxor');
nodes[6] = theMenu.addChild(nodes[5],
'InlineModulewareInstance', 'U_3 : moduleware.inv',
'R6502_TC/@a@l@u/struct_bd.htm',
'U_3 : moduleware.inv');
nodes[6] = theMenu.addChild(nodes[5],
'InlineModulewareInstance', 'U_4 : moduleware.inv',
'R6502_TC/@a@l@u/struct_bd.htm',
'U_4 : moduleware.inv');
nodes[6] = theMenu.addChild(nodes[5],
'InlineModulewareInstance', 'U_5 : moduleware.mux',
'R6502_TC/@a@l@u/struct_bd.htm',
'U_5 : moduleware.mux');
nodes[6] = theMenu.addChild(nodes[5],
'InlineModulewareInstance', 'U_7 : moduleware.por',
'R6502_TC/@a@l@u/struct_bd.htm',
'U_7 : moduleware.por');
nodes[6] = theMenu.addChild(nodes[5],
'InlineModulewareInstance', 'U_8 : moduleware.inv',
'R6502_TC/@a@l@u/struct_bd.htm',
'U_8 : moduleware.inv');
nodes[6] = theMenu.addChild(nodes[5],
'InlineModulewareInstance', 'U_9 : moduleware.inv',
'R6502_TC/@a@l@u/struct_bd.htm',
'U_9 : moduleware.inv');
nodes[6] = theMenu.addChild(nodes[5],
'Instance', 'U_6 : R6502_TC.ADD_SUB',
'R6502_TC/@a@l@u/struct_bd.htm',
'U_6 : R6502_TC.ADD_SUB');
nodes[7] = theMenu.addChild(nodes[6],
'FlowDiagram', 'R6502_TC/ADD_SUB/flow',
'R6502_TC/@a@d@d_@s@u@b/flow_fc.htm',
'R6502_TC/ADD_SUB/flow');
nodes[8] = theMenu.addChild(nodes[7],
'FcConcurrent', 'process0',
'R6502_TC/@a@d@d_@s@u@b/flow_fc_process0.htm',
'process0');
nodes[4] = theMenu.addChild(nodes[3],
'Instance', 'U_4 : R6502_TC.fsm_core_V2_0',
'R6502_TC/@core/struct_bd.htm',
'U_4 : R6502_TC.fsm_core_V2_0');
nodes[5] = theMenu.addChild(nodes[4],
'StateDiagram', 'R6502_TC/fsm_core_V2_0/fsm',
'R6502_TC/fsm_core_@v2_0/fsm_sm.htm',
'R6502_TC/fsm_core_V2_0/fsm');
nodes[6] = theMenu.addChild(nodes[5],
'SmConcurrent', 'csm',
'R6502_TC/fsm_core_@v2_0/fsm_sm_csm.htm',
'R6502_TC/@f@s@m_@execution_@unit/fsm_sm_csm.htm',
'csm');
nodes[7] = theMenu.addChild(nodes[6],
'StateDiagram', 'ADC :csm',
'R6502_TC/fsm_core_@v2_0/fsm_sm_csm_@a@d@c.htm',
'R6502_TC/@f@s@m_@execution_@unit/fsm_sm_csm_@a@d@c.htm',
'ADC :csm');
nodes[7] = theMenu.addChild(nodes[6],
'StateDiagram', 'ASL :csm',
'R6502_TC/fsm_core_@v2_0/fsm_sm_csm_@a@s@l.htm',
'R6502_TC/@f@s@m_@execution_@unit/fsm_sm_csm_@a@s@l.htm',
'ASL :csm');
nodes[7] = theMenu.addChild(nodes[6],
'StateDiagram', 'ASL1 :csm',
'R6502_TC/fsm_core_@v2_0/fsm_sm_csm_@a@s@l1.htm',
'R6502_TC/@f@s@m_@execution_@unit/fsm_sm_csm_@a@s@l1.htm',
'ASL1 :csm');
nodes[7] = theMenu.addChild(nodes[6],
'StateDiagram', 'BEQ :csm',
'R6502_TC/fsm_core_@v2_0/fsm_sm_csm_@b@e@q.htm',
'R6502_TC/@f@s@m_@execution_@unit/fsm_sm_csm_@b@e@q.htm',
'BEQ :csm');
nodes[7] = theMenu.addChild(nodes[6],
'StateDiagram', 'BIT :csm',
'R6502_TC/fsm_core_@v2_0/fsm_sm_csm_@b@i@t.htm',
'R6502_TC/@f@s@m_@execution_@unit/fsm_sm_csm_@b@i@t.htm',
'BIT :csm');
nodes[7] = theMenu.addChild(nodes[6],
'StateDiagram', 'BRK :csm',
'R6502_TC/fsm_core_@v2_0/fsm_sm_csm_@b@r@k.htm',
'R6502_TC/@f@s@m_@execution_@unit/fsm_sm_csm_@b@r@k.htm',
'BRK :csm');
nodes[7] = theMenu.addChild(nodes[6],
'StateDiagram', 'CLC :csm',
'R6502_TC/fsm_core_@v2_0/fsm_sm_csm_@c@l@c.htm',
'R6502_TC/@f@s@m_@execution_@unit/fsm_sm_csm_@c@l@c.htm',
'CLC :csm');
nodes[7] = theMenu.addChild(nodes[6],
'StateDiagram', 'CLD :csm',
'R6502_TC/fsm_core_@v2_0/fsm_sm_csm_@c@l@d.htm',
'R6502_TC/@f@s@m_@execution_@unit/fsm_sm_csm_@c@l@d.htm',
'CLD :csm');
nodes[7] = theMenu.addChild(nodes[6],
'StateDiagram', 'CLI :csm',
'R6502_TC/fsm_core_@v2_0/fsm_sm_csm_@c@l@i.htm',
'R6502_TC/@f@s@m_@execution_@unit/fsm_sm_csm_@c@l@i.htm',
'CLI :csm');
nodes[7] = theMenu.addChild(nodes[6],
'StateDiagram', 'CLV :csm',
'R6502_TC/fsm_core_@v2_0/fsm_sm_csm_@c@l@v.htm',
'R6502_TC/@f@s@m_@execution_@unit/fsm_sm_csm_@c@l@v.htm',
'CLV :csm');
nodes[7] = theMenu.addChild(nodes[6],
'StateDiagram', 'DEC :csm',
'R6502_TC/fsm_core_@v2_0/fsm_sm_csm_@d@e@c.htm',
'R6502_TC/@f@s@m_@execution_@unit/fsm_sm_csm_@d@e@c.htm',
'DEC :csm');
nodes[7] = theMenu.addChild(nodes[6],
'StateDiagram', 'DEX :csm',
'R6502_TC/fsm_core_@v2_0/fsm_sm_csm_@d@e@x.htm',
'R6502_TC/@f@s@m_@execution_@unit/fsm_sm_csm_@d@e@x.htm',
'DEX :csm');
nodes[7] = theMenu.addChild(nodes[6],
'StateDiagram', 'IRQ :csm',
'R6502_TC/fsm_core_@v2_0/fsm_sm_csm_@i@r@q.htm',
'R6502_TC/@f@s@m_@execution_@unit/fsm_sm_csm_@i@r@q.htm',
'IRQ :csm');
nodes[7] = theMenu.addChild(nodes[6],
'StateDiagram', 'JMP :csm',
'R6502_TC/fsm_core_@v2_0/fsm_sm_csm_@j@m@p.htm',
'R6502_TC/@f@s@m_@execution_@unit/fsm_sm_csm_@j@m@p.htm',
'JMP :csm');
nodes[7] = theMenu.addChild(nodes[6],
'StateDiagram', 'JSR :csm',
'R6502_TC/fsm_core_@v2_0/fsm_sm_csm_@j@s@r.htm',
'R6502_TC/@f@s@m_@execution_@unit/fsm_sm_csm_@j@s@r.htm',
'JSR :csm');
nodes[7] = theMenu.addChild(nodes[6],
'StateDiagram', 'LDA :csm',
'R6502_TC/fsm_core_@v2_0/fsm_sm_csm_@l@d@a.htm',
'R6502_TC/@f@s@m_@execution_@unit/fsm_sm_csm_@l@d@a.htm',
'LDA :csm');
nodes[7] = theMenu.addChild(nodes[6],
'StateDiagram', 'LSR1 :csm',
'R6502_TC/fsm_core_@v2_0/fsm_sm_csm_@l@s@r1.htm',
'R6502_TC/@f@s@m_@execution_@unit/fsm_sm_csm_@l@s@r1.htm',
'LSR1 :csm');
nodes[7] = theMenu.addChild(nodes[6],
'StateDiagram', 'NMI :csm',
'R6502_TC/fsm_core_@v2_0/fsm_sm_csm_@n@m@i.htm',
'R6502_TC/@f@s@m_@execution_@unit/fsm_sm_csm_@n@m@i.htm',
'NMI :csm');
nodes[7] = theMenu.addChild(nodes[6],
'StateDiagram', 'NOP :csm',
'R6502_TC/fsm_core_@v2_0/fsm_sm_csm_@n@o@p.htm',
'R6502_TC/@f@s@m_@execution_@unit/fsm_sm_csm_@n@o@p.htm',
'NOP :csm');
nodes[7] = theMenu.addChild(nodes[6],
'StateDiagram', 'PHA :csm',
'R6502_TC/fsm_core_@v2_0/fsm_sm_csm_@p@h@a.htm',
'R6502_TC/@f@s@m_@execution_@unit/fsm_sm_csm_@p@h@a.htm',
'PHA :csm');
nodes[7] = theMenu.addChild(nodes[6],
'StateDiagram', 'PHP :csm',
'R6502_TC/fsm_core_@v2_0/fsm_sm_csm_@p@h@p.htm',
'R6502_TC/@f@s@m_@execution_@unit/fsm_sm_csm_@p@h@p.htm',
'PHP :csm');
nodes[7] = theMenu.addChild(nodes[6],
'StateDiagram', 'PLA :csm',
'R6502_TC/fsm_core_@v2_0/fsm_sm_csm_@p@l@a.htm',
'R6502_TC/@f@s@m_@execution_@unit/fsm_sm_csm_@p@l@a.htm',
'PLA :csm');
nodes[7] = theMenu.addChild(nodes[6],
'StateDiagram', 'PLP :csm',
'R6502_TC/fsm_core_@v2_0/fsm_sm_csm_@p@l@p.htm',
'R6502_TC/@f@s@m_@execution_@unit/fsm_sm_csm_@p@l@p.htm',
'PLP :csm');
nodes[7] = theMenu.addChild(nodes[6],
'StateDiagram', 'RES1 :csm',
'R6502_TC/fsm_core_@v2_0/fsm_sm_csm_@r@e@s1.htm',
'R6502_TC/@f@s@m_@execution_@unit/fsm_sm_csm_@r@e@s1.htm',
'RES1 :csm');
nodes[7] = theMenu.addChild(nodes[6],
'StateDiagram', 'RL1 :csm',
'R6502_TC/fsm_core_@v2_0/fsm_sm_csm_@r@l1.htm',
'R6502_TC/@f@s@m_@execution_@unit/fsm_sm_csm_@r@l1.htm',
'RL1 :csm');
nodes[7] = theMenu.addChild(nodes[6],
'StateDiagram', 'RR1 :csm',
'R6502_TC/fsm_core_@v2_0/fsm_sm_csm_@r@r1.htm',
'R6502_TC/@f@s@m_@execution_@unit/fsm_sm_csm_@r@r1.htm',
'RR1 :csm');
nodes[7] = theMenu.addChild(nodes[6],
'StateDiagram', 'RTI :csm',
'R6502_TC/fsm_core_@v2_0/fsm_sm_csm_@r@t@i.htm',
'R6502_TC/@f@s@m_@execution_@unit/fsm_sm_csm_@r@t@i.htm',
'RTI :csm');
nodes[7] = theMenu.addChild(nodes[6],
'StateDiagram', 'RTS :csm',
'R6502_TC/fsm_core_@v2_0/fsm_sm_csm_@r@t@s.htm',
'R6502_TC/@f@s@m_@execution_@unit/fsm_sm_csm_@r@t@s.htm',
'RTS :csm');
nodes[7] = theMenu.addChild(nodes[6],
'StateDiagram', 'SBC :csm',
'R6502_TC/fsm_core_@v2_0/fsm_sm_csm_@s@b@c.htm',
'R6502_TC/@f@s@m_@execution_@unit/fsm_sm_csm_@s@b@c.htm',
'SBC :csm');
nodes[7] = theMenu.addChild(nodes[6],
'StateDiagram', 'SEC :csm',
'R6502_TC/fsm_core_@v2_0/fsm_sm_csm_@s@e@c.htm',
'R6502_TC/@f@s@m_@execution_@unit/fsm_sm_csm_@s@e@c.htm',
'SEC :csm');
nodes[7] = theMenu.addChild(nodes[6],
'StateDiagram', 'SED :csm',
'R6502_TC/fsm_core_@v2_0/fsm_sm_csm_@s@e@d.htm',
'R6502_TC/@f@s@m_@execution_@unit/fsm_sm_csm_@s@e@d.htm',
'SED :csm');
nodes[7] = theMenu.addChild(nodes[6],
'StateDiagram', 'SEI :csm',
'R6502_TC/fsm_core_@v2_0/fsm_sm_csm_@s@e@i.htm',
'R6502_TC/@f@s@m_@execution_@unit/fsm_sm_csm_@s@e@i.htm',
'SEI :csm');
nodes[7] = theMenu.addChild(nodes[6],
'StateDiagram', 'STA :csm',
'R6502_TC/fsm_core_@v2_0/fsm_sm_csm_@s@t@a.htm',
'R6502_TC/@f@s@m_@execution_@unit/fsm_sm_csm_@s@t@a.htm',
'STA :csm');
nodes[7] = theMenu.addChild(nodes[6],
'StateDiagram', 'TAX :csm',
'R6502_TC/fsm_core_@v2_0/fsm_sm_csm_@t@a@x.htm',
'R6502_TC/@f@s@m_@execution_@unit/fsm_sm_csm_@t@a@x.htm',
'TAX :csm');
nodes[4] = theMenu.addChild(nodes[3],
'Instance', 'U_6 : R6502_TC.fsm_nmi',
'Instance', 'U_6 : R6502_TC.FSM_NMI',
'R6502_TC/@core/struct_bd.htm',
'U_6 : R6502_TC.fsm_nmi');
'U_6 : R6502_TC.FSM_NMI');
nodes[5] = theMenu.addChild(nodes[4],
'StateDiagram', 'R6502_TC/fsm_nmi/fsm',
'R6502_TC/fsm_nmi/fsm_sm.htm',
'R6502_TC/fsm_nmi/fsm');
'StateDiagram', 'R6502_TC/FSM_NMI/fsm',
'R6502_TC/@f@s@m_@n@m@i/fsm_sm.htm',
'R6502_TC/FSM_NMI/fsm');
nodes[6] = theMenu.addChild(nodes[5],
'SmConcurrent', 'csm',
'R6502_TC/fsm_nmi/fsm_sm_csm.htm',
'R6502_TC/@f@s@m_@n@m@i/fsm_sm_csm.htm',
'csm');
 
}

powered by: WebSVN 2.1.0

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