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

Subversion Repositories core_arm

[/] [core_arm/] [trunk/] [vhdl/] [sparc/] [pci.vhd] - Blame information for rev 4

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 tarookumic
 
2
 
3
 
4
 
5
----------------------------------------------------------------------------
6
--  This file is a part of the LEON VHDL model
7
--  Copyright (C) 1999  European Space Agency (ESA)
8
--
9
--  This library is free software; you can redistribute it and/or
10
--  modify it under the terms of the GNU Lesser General Public
11
--  License as published by the Free Software Foundation; either
12
--  version 2 of the License, or (at your option) any later version.
13
--
14
--  See the file COPYING.LGPL for the full details of the license.
15
 
16
 
17
-----------------------------------------------------------------------------
18
-- Entity:      pci
19
-- File:        pci.vhd
20
-- Author:      Jiri Gaisler - Gaisler Reserch
21
-- Description: Module containing all possible PCI cores
22
------------------------------------------------------------------------------
23
 
24
library IEEE;
25
use IEEE.std_logic_1164.all;
26
use work.leon_target.all;
27
use work.leon_config.all;
28
use work.leon_iface.all;
29
use work.amba.all;
30
use work.ambacomp.all;
31
 
32
entity pci is
33
  port (
34
    resetn : in  std_logic;
35
    clk    : in  clk_type;
36
    pciclk : in  clk_type;
37
    pcirst : in  std_logic;
38
    pcii   : in  pci_in_type;
39
    pcio   : out pci_out_type;
40
    apbi   : in  apb_slv_in_type;
41
    apbo   : out apb_slv_out_type;
42
    ahbmi1 : in  ahb_mst_in_type;
43
    ahbmo1 : out ahb_mst_out_type;
44
    ahbmi2 : in  ahb_mst_in_type;
45
    ahbmo2 : out ahb_mst_out_type;
46
    ahbsi  : in  ahb_slv_in_type;
47
    ahbso  : out ahb_slv_out_type;
48
    irq    : out std_logic
49
  );
50
end;
51
 
52
architecture rtl of pci is
53
 
54
signal gnd4 : std_logic_vector(3 downto 0);
55
 
56
begin
57
 
58
-- InSilicon PCI core
59
 
60
  pci_is0 : if PCICORE = insilicon generate
61
    pci0 : pci_is
62
      port map ( resetn, pcirst, clk, pciclk, apbi, apbo, irq,
63
      ahbmo1, ahbmi1, pcii, pcio, ahbso, ahbsi, ahbmo2, ahbmi2);
64
  end generate;
65
 
66
 
67
  pci_gr0 : if PCICORE = target_only generate
68
    pci0 : pci_gr
69
      generic map (PCI_DEVICE_ID, PCI_VENDOR_ID, 2)
70
      port map ( resetn, pcirst, clk, pciclk, pcii, pcio,
71
                 ahbmi1, ahbmo1, ahbsi, ahbso);
72
 
73
    ahbmo2.hbusreq <= '0';
74
    ahbmo2.hlock <= '0';
75
    ahbmo2.htrans <= HTRANS_IDLE;
76
    ahbmo2.haddr <= (others => '0');
77
    ahbmo2.hwrite <= '0';
78
    ahbmo2.hburst <= HBURST_SINGLE;
79
    ahbmo2.hprot <= (others => '0');
80
    ahbmo2.hwdata <= (others => '0');
81
 
82
    irq <= '0';
83
  end generate;
84
 
85
-- OpenCores PCI bridge
86
 
87
  pci_oc0 : if PCICORE = opencores generate
88
 
89
    pci0 : pci_oc
90
      port map ( rst => resetn, clk => clk , pci_clk => pciclk,
91
                ahbsi => ahbsi, ahbso => ahbso, ahbmi => ahbmi1,
92
                ahbmo => ahbmo1, apbi => apbi, apbo => apbo, pcio => pcio,
93
                pcii => pcii, irq => irq);
94
 
95
    ahbmo2.hbusreq <= '0';
96
    ahbmo2.hlock <= '0';
97
    ahbmo2.htrans <= HTRANS_IDLE;
98
    ahbmo2.haddr <= (others => '0');
99
    ahbmo2.hwrite <= '0';
100
    ahbmo2.hburst <= HBURST_SINGLE;
101
    ahbmo2.hprot <= (others => '0');
102
    ahbmo2.hwdata <= (others => '0');
103
  end generate;
104
 
105
end ;
106
 

powered by: WebSVN 2.1.0

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