Line 1... |
Line 1... |
-- VHDL Entity R6502_TC.RegBank_AXY.symbol
|
-- VHDL Entity R6502_TC.RegBank_AXY.symbol
|
--
|
--
|
-- Created:
|
-- Created:
|
-- by - eda.UNKNOWN (TEST)
|
-- by - eda.UNKNOWN (ENTW1)
|
-- at - 19:25:32 10.02.2009
|
-- at - 18:39:49 08.02.2010
|
--
|
--
|
-- Generated by Mentor Graphics' HDL Designer(TM) 2007.1a (Build 13)
|
-- Generated by Mentor Graphics' HDL Designer(TM) 2009.1 (Build 12)
|
--
|
--
|
LIBRARY ieee;
|
LIBRARY ieee;
|
USE ieee.std_logic_1164.all;
|
USE ieee.std_logic_1164.all;
|
USE ieee.std_logic_arith.all;
|
USE ieee.std_logic_arith.all;
|
|
|
Line 29... |
Line 29... |
|
|
END RegBank_AXY ;
|
END RegBank_AXY ;
|
|
|
-- Jens-D. Gutschmidt Project: R6502_TC
|
-- Jens-D. Gutschmidt Project: R6502_TC
|
-- scantara2003@yahoo.de
|
-- scantara2003@yahoo.de
|
-- COPYRIGHT (C) 2008-2009 by Jens Gutschmidt and OPENCORES.ORG
|
-- COPYRIGHT (C) 2008-2010 by Jens Gutschmidt and OPENCORES.ORG
|
--
|
--
|
-- This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
|
-- This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
|
-- the Free Software Foundation, either version 3 of the License, or any later version.
|
-- the Free Software Foundation, either version 3 of the License, or any later version.
|
--
|
--
|
-- This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
|
-- This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
|
Line 41... |
Line 41... |
--
|
--
|
-- You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
|
-- You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
|
--
|
--
|
-- CVS Revisins History
|
-- CVS Revisins History
|
--
|
--
|
-- $Log: not supported by cvs2svn $
|
-- $Log: struct.bd,v $
|
-- <<-- more -->>
|
-- <<-- more -->>
|
-- Title: Register Bank for register A, X and Y
|
-- Title: Register Bank for register A, X and Y
|
-- Path: R6502_TC/RegBank_AXY/struct
|
-- Path: R6502_TC/RegBank_AXY/struct
|
-- Edited: by eda on 10 Feb 2009
|
-- Edited: by eda on 08 Feb 2010
|
--
|
--
|
-- VHDL Architecture R6502_TC.RegBank_AXY.struct
|
-- VHDL Architecture R6502_TC.RegBank_AXY.struct
|
--
|
--
|
-- Created:
|
-- Created:
|
-- by - eda.UNKNOWN (TEST)
|
-- by - eda.UNKNOWN (ENTW1)
|
-- at - 19:25:32 10.02.2009
|
-- at - 18:39:49 08.02.2010
|
--
|
--
|
-- Generated by Mentor Graphics' HDL Designer(TM) 2007.1a (Build 13)
|
-- Generated by Mentor Graphics' HDL Designer(TM) 2009.1 (Build 12)
|
--
|
--
|
LIBRARY ieee;
|
LIBRARY ieee;
|
USE ieee.std_logic_1164.all;
|
USE ieee.std_logic_1164.all;
|
USE ieee.std_logic_arith.all;
|
USE ieee.std_logic_arith.all;
|
|
|
Line 94... |
Line 94... |
|
|
-- ModuleWare code(v1.9) for instance 'U_0' of 'adff'
|
-- ModuleWare code(v1.9) for instance 'U_0' of 'adff'
|
q_a_o_internal <= mw_U_0reg_cval;
|
q_a_o_internal <= mw_U_0reg_cval;
|
u_0seq_proc: PROCESS (clk_clk_i, rst_rst_n_i)
|
u_0seq_proc: PROCESS (clk_clk_i, rst_rst_n_i)
|
BEGIN
|
BEGIN
|
IF (rst_rst_n_i = '0' OR rst_rst_n_i = 'L') THEN
|
IF (rst_rst_n_i = '0') THEN
|
mw_U_0reg_cval <= "00000000";
|
mw_U_0reg_cval <= "00000000";
|
ELSIF (clk_clk_i'EVENT AND clk_clk_i='1') THEN
|
ELSIF (clk_clk_i'EVENT AND clk_clk_i='1') THEN
|
IF (load_o_i = '1' OR load_o_i = 'H') THEN
|
IF (load_o_i = '1') THEN
|
mw_U_0reg_cval <= q_mux_o_i;
|
mw_U_0reg_cval <= q_mux_o_i;
|
END IF;
|
END IF;
|
END IF;
|
END IF;
|
END PROCESS u_0seq_proc;
|
END PROCESS u_0seq_proc;
|
|
|
-- ModuleWare code(v1.9) for instance 'U_4' of 'adff'
|
-- ModuleWare code(v1.9) for instance 'U_4' of 'adff'
|
q_x_o_internal <= mw_U_4reg_cval;
|
q_x_o_internal <= mw_U_4reg_cval;
|
u_4seq_proc: PROCESS (clk_clk_i, rst_rst_n_i)
|
u_4seq_proc: PROCESS (clk_clk_i, rst_rst_n_i)
|
BEGIN
|
BEGIN
|
IF (rst_rst_n_i = '0' OR rst_rst_n_i = 'L') THEN
|
IF (rst_rst_n_i = '0') THEN
|
mw_U_4reg_cval <= "00000000";
|
mw_U_4reg_cval <= "00000000";
|
ELSIF (clk_clk_i'EVENT AND clk_clk_i='1') THEN
|
ELSIF (clk_clk_i'EVENT AND clk_clk_i='1') THEN
|
IF (load1_o_i = '1' OR load1_o_i = 'H') THEN
|
IF (load1_o_i = '1') THEN
|
mw_U_4reg_cval <= q_mux_o_i;
|
mw_U_4reg_cval <= q_mux_o_i;
|
END IF;
|
END IF;
|
END IF;
|
END IF;
|
END PROCESS u_4seq_proc;
|
END PROCESS u_4seq_proc;
|
|
|
-- ModuleWare code(v1.9) for instance 'U_5' of 'adff'
|
-- ModuleWare code(v1.9) for instance 'U_5' of 'adff'
|
q_y_o_internal <= mw_U_5reg_cval;
|
q_y_o_internal <= mw_U_5reg_cval;
|
u_5seq_proc: PROCESS (clk_clk_i, rst_rst_n_i)
|
u_5seq_proc: PROCESS (clk_clk_i, rst_rst_n_i)
|
BEGIN
|
BEGIN
|
IF (rst_rst_n_i = '0' OR rst_rst_n_i = 'L') THEN
|
IF (rst_rst_n_i = '0') THEN
|
mw_U_5reg_cval <= "00000000";
|
mw_U_5reg_cval <= "00000000";
|
ELSIF (clk_clk_i'EVENT AND clk_clk_i='1') THEN
|
ELSIF (clk_clk_i'EVENT AND clk_clk_i='1') THEN
|
IF (load2_o_i = '1' OR load2_o_i = 'H') THEN
|
IF (load2_o_i = '1') THEN
|
mw_U_5reg_cval <= q_mux_o_i;
|
mw_U_5reg_cval <= q_mux_o_i;
|
END IF;
|
END IF;
|
END IF;
|
END IF;
|
END PROCESS u_5seq_proc;
|
END PROCESS u_5seq_proc;
|
|
|
Line 158... |
Line 158... |
-- ModuleWare code(v1.9) for instance 'U_2' of 'mux'
|
-- 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,
|
u_2combo_proc: PROCESS(q_a_o_internal, q_x_o_internal, q_y_o_internal,
|
val_zero, sel_rb_out_i)
|
val_zero, sel_rb_out_i)
|
BEGIN
|
BEGIN
|
CASE sel_rb_out_i IS
|
CASE sel_rb_out_i IS
|
WHEN "00"|"L0"|"0L"|"LL" => d_regs_out_o <= q_a_o_internal;
|
WHEN "00" => d_regs_out_o <= q_a_o_internal;
|
WHEN "01"|"L1"|"0H"|"LH" => d_regs_out_o <= q_x_o_internal;
|
WHEN "01" => d_regs_out_o <= q_x_o_internal;
|
WHEN "10"|"H0"|"1L"|"HL" => d_regs_out_o <= q_y_o_internal;
|
WHEN "10" => d_regs_out_o <= q_y_o_internal;
|
WHEN "11"|"H1"|"1H"|"HH" => d_regs_out_o <= val_zero;
|
WHEN "11" => d_regs_out_o <= val_zero;
|
WHEN OTHERS => d_regs_out_o <= (OTHERS => 'X');
|
WHEN OTHERS => d_regs_out_o <= (OTHERS => 'X');
|
END CASE;
|
END CASE;
|
END PROCESS u_2combo_proc;
|
END PROCESS u_2combo_proc;
|
|
|
-- ModuleWare code(v1.9) for instance 'U_3' of 'mux'
|
-- 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,
|
u_3combo_proc: PROCESS(q_a_o_internal, q_y_o_internal, q_x_o_internal,
|
d_regs_in_i, sel_rb_in_i)
|
d_regs_in_i, sel_rb_in_i)
|
BEGIN
|
BEGIN
|
CASE sel_rb_in_i IS
|
CASE sel_rb_in_i IS
|
WHEN "00"|"L0"|"0L"|"LL" => q_mux_o_i <= q_a_o_internal;
|
WHEN "00" => q_mux_o_i <= q_a_o_internal;
|
WHEN "01"|"L1"|"0H"|"LH" => q_mux_o_i <= q_y_o_internal;
|
WHEN "01" => q_mux_o_i <= q_y_o_internal;
|
WHEN "10"|"H0"|"1L"|"HL" => q_mux_o_i <= q_x_o_internal;
|
WHEN "10" => q_mux_o_i <= q_x_o_internal;
|
WHEN "11"|"H1"|"1H"|"HH" => q_mux_o_i <= d_regs_in_i;
|
WHEN "11" => q_mux_o_i <= d_regs_in_i;
|
WHEN OTHERS => q_mux_o_i <= (OTHERS => 'X');
|
WHEN OTHERS => q_mux_o_i <= (OTHERS => 'X');
|
END CASE;
|
END CASE;
|
END PROCESS u_3combo_proc;
|
END PROCESS u_3combo_proc;
|
|
|
-- Instance port mappings.
|
-- Instance port mappings.
|