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

Subversion Repositories ahbmaster

[/] [ahbmaster/] [trunk/] [test79_AHBmaster/] [component/] [Actel/] [DirectCore/] [CoreAPB/] [1.1.101/] [rtl/] [vhdl/] [o/] [CoreAPB.vhd] - Rev 3

Compare with Previous | Blame | View Log

library IEEe;
use IEEE.std_lOGIC_1164.all;
entity COREAPB is
generic (APBSLOT0Enable: inTEGER := 1;
APBSLOT1Enable: integer := 1;
ApbSlot2EnaBLE: intEGER := 1;
ApbSlOT3ENABLe: INTEGer := 1;
APBSLOT4Enable: INteger := 1;
APBSLOT5Enable: Integer := 1;
ApbSlot6ENABLE: INTEGER := 1;
APBSLOt7Enable: Integer := 1;
ApbSlot8EnABLE: inTEGER := 1;
ApbSlot9ENABLE: intEGER := 1;
ApbSLOT10Enable: INTeger := 1;
APbSlot11EnabLE: inteGER := 1;
ApbSLOT12ENable: Integer := 1;
APBSlot13Enable: integer := 1;
ApbSlot14ENABLE: INTEGER := 1;
ApbSlot15EnABLE: inTEGER := 1); port (PADDR: in STD_Logic_vector(23 downto 0);
PWRITE: in std_logic;
PENABLE: in std_logIC;
PWDATA: in STD_LOgic_vector(31 downto 0);
PRDATA: out STD_logic_vectOR(31 downto 0);
PSELECT: in STD_logic_vectOR(15 downto 0);
PADDRS: out stD_LOGIC_vector(23 downto 0);
PWRITES: out STD_logic;
PENABLES: out STD_Logic;
PWDATAS: out std_LOGIC_VEctor(31 downto 0);
PSELS0: out std_logic;
PSELS1: out std_logic;
PSELS2: out STD_LOGic;
PSELS3: out STD_logic;
PSELS4: out STD_Logic;
PSELS5: out std_lOGIC;
PSELS6: out STD_LOgic;
PSELS7: out Std_logic;
PSELS8: out std_logic;
PSELS9: out STD_logic;
PSELS10: out std_logic;
PSELS11: out std_LOGIC;
PSELS12: out std_logiC;
PSELS13: out STD_LOGIc;
PSELS14: out std_loGIC;
PSELS15: out stD_LOGIC;
PRDATAS0: in std_lOGIC_VECtor(31 downto 0);
PRDATAS1: in std_logic_veCTOR(31 downto 0);
PRDATAS2: in sTD_LOGIC_vector(31 downto 0);
PRDATAS3: in STD_LOGic_vector(31 downto 0);
PRDATAS4: in STD_LOGIc_vector(31 downto 0);
PRDATAS5: in STD_LOGIc_vector(31 downto 0);
PRDATAS6: in STD_Logic_vectoR(31 downto 0);
PRDATAS7: in STD_LOgic_vector(31 downto 0);
PRDATAS8: in std_logIC_VECTor(31 downto 0);
PRDATAS9: in std_logic_VECTOR(31 downto 0);
PRDATAS10: in std_logIC_VECTOr(31 downto 0);
PRDATAS11: in Std_logic_vECTOR(31 downto 0);
PRDATAS12: in STD_logic_vectOR(31 downto 0);
PRDATAS13: in STD_LOGic_vector(31 downto 0);
PRDATAS14: in sTD_LOGIC_vector(31 downto 0);
PRDATAS15: in STD_logic_vectoR(31 downto 0));
end CoreAPB;
 
architecture CoreAPB_O of CoreAPB is
 
component CoreAPB_L
port (PSELS0: in STD_logic;
PSELS1: in STD_LOGIc;
PSELS2: in std_logic;
PSELS3: in STD_logic;
PSELS4: in STD_logic;
PSELS5: in stD_LOGIC;
PSELS6: in std_logIC;
PSELS7: in std_logic;
PSELS8: in std_logic;
PSELS9: in Std_logic;
PSELS10: in STD_logic;
PSELS11: in std_logic;
PSELS12: in std_logIC;
PSELS13: in std_logiC;
PSELS14: in STD_logic;
PSELS15: in STD_LOGic;
PRDATAS0: in std_LOGIC_vector(31 downto 0);
PRDATAS1: in std_logic_vECTOR(31 downto 0);
PRDATAS2: in STD_LOGic_vector(31 downto 0);
PRDATAS3: in std_logic_VECTOR(31 downto 0);
PRDATAS4: in std_loGIC_VECTor(31 downto 0);
PRDATAS5: in STD_logic_vectOR(31 downto 0);
PRDATAS6: in STD_logic_vectOR(31 downto 0);
PRDATAS7: in stD_LOGIC_vector(31 downto 0);
PRDATAS8: in STD_logic_vectOR(31 downto 0);
PRDATAS9: in stD_LOGIC_vector(31 downto 0);
PRDATAS10: in std_logic_VECTOR(31 downto 0);
PRDATAS11: in STD_logic_vectOR(31 downto 0);
PRDATAS12: in Std_logic_veCTOR(31 downto 0);
PRDATAS13: in STd_logic_veCTOR(31 downto 0);
PRDATAS14: in std_logic_VECTOR(31 downto 0);
PRDATAS15: in STD_LOGic_vector(31 downto 0);
PRDATA: out STD_logic_vectOR(31 downto 0));
end component;
 
signal COREAPB_i: sTD_LOGic_vector(31 downto 0);
 
signal COREAPB_ol: stD_LOGIC_vector(31 downto 0);
 
signal COREAPB_ll: sTD_LOGIC_vector(31 downto 0);
 
signal CoreAPB_il: STD_LOgic_vector(31 downto 0);
 
signal COREAPB_oi: std_LOGIC_VEctor(31 downto 0);
 
signal CoreAPB_LI: std_logic_vECTOR(31 downto 0);
 
signal COREAPB_ii: sTD_LOGIC_vector(31 downto 0);
 
signal COREAPB_o0: std_lOGIC_VEctor(31 downto 0);
 
signal COREAPB_l0: sTD_LOGIC_vector(31 downto 0);
 
signal CoreAPB_i0: STD_Logic_vector(31 downto 0);
 
signal CoREAPB_O1: stD_LOGIC_vector(31 downto 0);
 
signal CoreAPB_l1: STD_logic_vectOR(31 downto 0);
 
signal COREAPB_i1: std_logIC_VECTOr(31 downto 0);
 
signal CoREAPB_OOl: std_logIC_VECTOr(31 downto 0);
 
signal CoreAPB_lol: STD_logic_vecTOR(31 downto 0);
 
signal CoreAPB_ioL: STD_logic_vectOR(31 downto 0);
 
signal CoREAPB_Oll: std_LOGIC_VEctor(31 downto 0);
 
begin
CoreAPB_olL <= ( others => '0');
PADDRS <= PADDR;
PWRITES <= PWRITE;
PENABLES <= PENABLE;
PWDATAS <= PWDATA;
PSELS0 <= PSELECT(0);
PSELS1 <= PSELECT(1);
PSELS2 <= PSELECT(2);
PSELS3 <= PSELECT(3);
PSELS4 <= PSELECT(4);
PSELS5 <= PSELECT(5);
PSELS6 <= PSELECT(6);
PSELS7 <= PSELECT(7);
PSELS8 <= PSELECT(8);
PSELS9 <= PSELECT(9);
PSELS10 <= PSELECT(10);
PSELS11 <= PSELECT(11);
PSELS12 <= PSELECT(12);
PSELS13 <= PSELECT(13);
PSELS14 <= PSELECT(14);
PSELS15 <= PSELECT(15);
CoreAPB_LLL:
if (APBSlot0Enable = 1)
generate
begin
CoreAPB_I <= PRDATAS0;
end generate CoreAPB_llL;
CoreAPB_ilL:
if (APbSlot0EnablE = 0)
generate
begin
COREAPB_i <= COREAPB_oll;
end generate COREAPB_ill;
COReAPB_oil:
if (ApbSlot1EnaBLE = 1)
generate
begin
CoreAPB_ol <= PRDATAS1;
end generate CoreAPB_OIL;
CoreAPB_LIL:
if (APbSlot1EnablE = 0)
generate
begin
COREAPB_ol <= COREAPB_oll;
end generate COReAPB_lil;
COREAPB_iil:
if (ApbSlot2EnabLE = 1)
generate
begin
CoreAPB_ll <= PRDATAS2;
end generate COREAPB_iil;
COREAPB_o0l:
if (APBSLOT2Enable = 0)
generate
begin
COREAPB_ll <= CoreAPB_OLL;
end generate COREAPB_o0l;
COREAPB_l0l:
if (APBSlot3Enable = 1)
generate
begin
COReAPB_il <= PRDATAS3;
end generate COREAPB_l0l;
COREAPB_i0l:
if (ApBSLOT3Enable = 0)
generate
begin
CoreAPB_IL <= CoREAPB_Oll;
end generate COREAPB_i0l;
CoreAPB_O1L:
if (ApbSlot4EnaBLE = 1)
generate
begin
CoreAPB_oi <= PRDATAS4;
end generate CoreAPB_O1L;
CoreAPB_l1L:
if (ApbSlot4EnABLE = 0)
generate
begin
COReAPB_oi <= COreAPB_oll;
end generate CoreAPB_l1L;
COREAPB_i1l:
if (ApbSlot5EnaBLE = 1)
generate
begin
CoreAPB_li <= PRDATAS5;
end generate CoreAPB_i1L;
CoreAPB_ooi:
if (APBSLOT5Enable = 0)
generate
begin
CoreAPB_LI <= CoreAPB_OLL;
end generate CoreAPB_OOI;
CoreAPB_loi:
if (ApbSlot6ENABLE = 1)
generate
begin
CoreAPB_II <= PRDATAS6;
end generate CoreAPB_lOI;
CoreAPB_IOI:
if (APBSlot6Enable = 0)
generate
begin
CoreAPB_II <= CoreAPB_oLL;
end generate CoreAPB_IOI;
COREAPB_oli:
if (APbSlot7EnablE = 1)
generate
begin
COREAPB_O0 <= PRDATAS7;
end generate CoreAPB_OLI;
CoreAPB_LLI:
if (APBSLOT7Enable = 0)
generate
begin
COREAPB_o0 <= COReAPB_oll;
end generate CoreAPB_lli;
CoreAPB_ili:
if (ApbSlot8EnABLE = 1)
generate
begin
COREAPB_l0 <= PRDATAS8;
end generate COREAPB_ili;
COREAPB_oii:
if (ApbSloT8ENABLe = 0)
generate
begin
CoreAPB_l0 <= CoreAPB_oll;
end generate CoreAPB_OII;
COREAPB_lii:
if (ApbSlot9EnaBLE = 1)
generate
begin
COreAPB_i0 <= PRDATAS9;
end generate CoreAPB_liI;
CoreAPB_III:
if (APBSlot9Enable = 0)
generate
begin
CoreAPB_I0 <= CoreAPB_olL;
end generate CoreAPB_III;
CoreAPB_o0i:
if (APBSLOT10Enable = 1)
generate
begin
CorEAPB_O1 <= PRDATAS10;
end generate COReAPB_o0i;
CoreAPB_l0i:
if (APBSLOT10Enable = 0)
generate
begin
COREAPB_o1 <= COREAPB_oll;
end generate COREAPB_l0i;
CoreAPB_i0I:
if (ApbSlot11EnABLE = 1)
generate
begin
CoreAPB_l1 <= PRDATAS11;
end generate COREAPB_i0i;
COReAPB_o1i:
if (ApbSlot11ENABLE = 0)
generate
begin
COREAPB_l1 <= COREAPB_oll;
end generate COReAPB_o1i;
COREAPB_l1i:
if (ApbSlot12ENABLE = 1)
generate
begin
CoREAPB_I1 <= PRDATAS12;
end generate CoreAPB_l1I;
COREAPB_i1i:
if (APBSLOT12Enable = 0)
generate
begin
CoreAPB_I1 <= CoreAPB_olL;
end generate CoreAPB_i1I;
COReAPB_oo0:
if (APBSLOT13Enable = 1)
generate
begin
COREAPB_ool <= PRDATAS13;
end generate CoreAPB_oo0;
CoreAPB_LO0:
if (ApbSlot13ENABLE = 0)
generate
begin
CoreAPB_ool <= COREAPB_oll;
end generate CoreAPB_lo0;
COREAPB_io0:
if (APBSLOT14Enable = 1)
generate
begin
CoreAPB_LOL <= PRDATAS14;
end generate CorEAPB_IO0;
CoREAPB_Ol0:
if (ApbSlot14ENABLE = 0)
generate
begin
CoreAPB_lol <= COreAPB_oll;
end generate COreAPB_ol0;
COReAPB_ll0:
if (ApbSloT15ENABle = 1)
generate
begin
COREAPB_iol <= PRDATAS15;
end generate CoreAPB_ll0;
CoreAPB_il0:
if (ApbSlot15ENABLE = 0)
generate
begin
COREAPB_iol <= CoreAPB_OLL;
end generate CoreAPB_IL0;
COREAPB_oi0: COREAPB_l
port map (PSELS0 => PSELECT(0),
PSELS1 => PSELECT(1),
PSELS2 => PSELECT(2),
PSELS3 => PSELECT(3),
PSELS4 => PSELECT(4),
PSELS5 => PSELECT(5),
PSELS6 => PSELECT(6),
PSELS7 => PSELECT(7),
PSELS8 => PSELECT(8),
PSELS9 => PSELECT(9),
PSELS10 => PSELECT(10),
PSELS11 => PSELECT(11),
PSELS12 => PSELECT(12),
PSELS13 => PSELECT(13),
PSELS14 => PSELECT(14),
PSELS15 => PSELECT(15),
PRDATAS0 => COREAPB_i,
PRDATAS1 => COREAPB_ol,
PRDATAS2 => CoreAPB_ll,
PRDATAS3 => CoreAPB_iL,
PRDATAS4 => COREAPB_oi,
PRDATAS5 => CoreAPB_LI,
PRDATAS6 => COReAPB_ii,
PRDATAS7 => CoreAPB_O0,
PRDATAS8 => CoreAPB_l0,
PRDATAS9 => COREAPB_i0,
PRDATAS10 => COREAPB_O1,
PRDATAS11 => CoreAPB_L1,
PRDATAS12 => COREAPB_i1,
PRDATAS13 => CorEAPB_OOl,
PRDATAS14 => COReAPB_lol,
PRDATAS15 => CoreAPB_ioL,
PRDATA => PRDATA);
end COreAPB_o;
 

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

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