www.pudn.com > jaguar2s.zip > rad2_oram_addr_cmpt_last.vhd


--************************************************************ 
--************************************************************ 
--*----------------------------------------------------------* 
--*|Version                           :1.0                   | 
--*|Date of Last Revision             :12/23/1998            | 
--*----------------------------------------------------------* 
--************************************************************ 
-- Copyright (C) 1999 Drey Enterprises Inc.   All Rights Reserved. 
--************************************************************ 
-- Warning: This file is protected by Federal Copyright Law, 
-- with all rights reserved. It is unlawful to reproduce 
-- any parts of this file, in any form, without expressed 
-- written permission from Drey Enterprises Inc. This Copyright 
-- is actively enforced. 
--************************************************************ 
--************************************************************ 
 
library IEEE; 
use IEEE.std_logic_1164.all; 
 
entity rad2_oram_addr_cmpt_last is 
    port( 
        N_select           :in std_logic_vector(2 downto 0); 
        oram_addra_nrm     :in std_logic_vector(7 downto 0); 
        oram_addrb_nrm     :in std_logic_vector(7 downto 0); 
        oram_addra_new     :out std_logic_vector(7 downto 0); 
        oram_addrb_new     :out std_logic_vector(7 downto 0) 
    ); 
end rad2_oram_addr_cmpt_last; 
 
architecture structure of rad2_oram_addr_cmpt_last is 
 
    signal oram_addra_br  :std_logic_vector(7 downto 0); 
    signal oram_addrb_br  :std_logic_vector(7 downto 0); 
 
begin  
 
    oram_addra_br <= oram_addra_nrm(0) &  
                     oram_addra_nrm(1) &  
                     oram_addra_nrm(2) & 
                     oram_addra_nrm(3) & 
                     oram_addra_nrm(4) & 
                     oram_addra_nrm(5) & 
                     oram_addra_nrm(6) & 
                     oram_addra_nrm(7); 
 
    oram_addrb_br <= oram_addrb_nrm(0) &  
                     oram_addrb_nrm(1) &  
                     oram_addrb_nrm(2) & 
                     oram_addrb_nrm(3) & 
                     oram_addrb_nrm(4) & 
                     oram_addrb_nrm(5) & 
                     oram_addrb_nrm(6) & 
                     oram_addrb_nrm(7); 
 
    process(oram_addra_nrm,oram_addrb_nrm, 
            oram_addra_br,oram_addrb_br,N_select) 
    begin 
        case N_select is 
            when "000" =>  
                 oram_addra_new <= "0000000" & oram_addra_br(7); 
                 oram_addrb_new <= "0000000" & oram_addrb_br(7); 
            when "001" =>  
                 oram_addra_new <= "000000" & oram_addra_br(7 downto 6); 
                 oram_addrb_new <= "000000" & oram_addrb_br(7 downto 6); 
            when "010" =>  
                 oram_addra_new <= "00000" & oram_addra_br(7 downto 5); 
                 oram_addrb_new <= "00000" & oram_addrb_br(7 downto 5); 
            when "011" =>  
                 oram_addra_new <= "0000" & oram_addra_br(7 downto 4); 
                 oram_addrb_new <= "0000" & oram_addrb_br(7 downto 4); 
            when "100" =>  
                 oram_addra_new <= "000" & oram_addra_br(7 downto 3); 
                 oram_addrb_new <= "000" & oram_addrb_br(7 downto 3); 
            when "101" =>  
                 oram_addra_new <= "00" & oram_addra_br(7 downto 2); 
                 oram_addrb_new <= "00" & oram_addrb_br(7 downto 2); 
            when "110" =>  
                 oram_addra_new <= '0' & oram_addra_br(7 downto 1); 
                 oram_addrb_new <= '0' & oram_addrb_br(7 downto 1); 
            when others =>  
                 oram_addra_new <= oram_addra_br; 
                 oram_addrb_new <= oram_addrb_br; 
        end case; 
    end process; 
         
end structure;