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

Subversion Repositories cpu6502_true_cycle

[/] [cpu6502_true_cycle/] [trunk/] [rtl/] [vhdl/] [regbank_axy.vhd] - Diff between revs 18 and 24

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 18 Rev 24
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.

powered by: WebSVN 2.1.0

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