]> git.zerfleddert.de Git - raggedstone/blob - dhwk_old/source/top_dhwk.vhd
67fe5aa843739e8623d6436af03114a27d43a196
[raggedstone] / dhwk_old / source / top_dhwk.vhd
1 library ieee;
2 use ieee.std_logic_1164.all;
3 use ieee.std_logic_arith.all;
4 use ieee.std_logic_unsigned.all;
5
6 entity dhwk is
7 port (
8
9 -- General
10 PCI_CLK : in std_logic;
11 PCI_nRES : in std_logic;
12
13 -- PCI target 32bits
14 PCI_AD : inout std_logic_vector(31 downto 0);
15 PCI_CBE : in std_logic_vector(3 downto 0);
16 PCI_PAR : out std_logic;
17 PCI_nFRAME : in std_logic;
18 PCI_nIRDY : in std_logic;
19 PCI_nTRDY : out std_logic;
20 PCI_nDEVSEL : out std_logic;
21 PCI_nSTOP : out std_logic;
22 PCI_IDSEL : in std_logic;
23 PCI_nPERR : out std_logic;
24 PCI_nSERR : out std_logic;
25 PCI_nINT : out std_logic;
26
27 -- debug signals
28 LED3 : out std_logic;
29 LED2 : out std_logic;
30 LED4 : out std_logic;
31 LED5 : out std_logic
32
33 );
34 end dhwk;
35
36
37 architecture dhwk_arch of dhwk is
38
39
40 component pci32tlite
41 port (
42
43 -- General
44 clk33 : in std_logic;
45 nrst : in std_logic;
46
47 -- PCI target 32bits
48 ad : inout std_logic_vector(31 downto 0);
49 cbe : in std_logic_vector(3 downto 0);
50 par : out std_logic;
51 frame : in std_logic;
52 irdy : in std_logic;
53 trdy : out std_logic;
54 devsel : out std_logic;
55 stop : out std_logic;
56 idsel : in std_logic;
57 perr : out std_logic;
58 serr : out std_logic;
59 intb : out std_logic;
60
61 -- Master whisbone
62 wb_adr_o : out std_logic_vector(24 downto 1);
63 wb_dat_i : in std_logic_vector(15 downto 0);
64 wb_dat_o : out std_logic_vector(15 downto 0);
65 wb_sel_o : out std_logic_vector(1 downto 0);
66 wb_we_o : out std_logic;
67 wb_stb_o : out std_logic;
68 wb_cyc_o : out std_logic;
69 wb_ack_i : in std_logic;
70 wb_err_i : in std_logic;
71 wb_int_i : in std_logic;
72
73 -- debug signals
74 debug_init : out std_logic;
75 debug_access : out std_logic
76
77 );
78 end component;
79
80 component heartbeat
81 port (
82 clk_i : in std_logic;
83 nrst_i : in std_logic;
84 led2_o : out std_logic;
85 led3_o : out std_logic;
86 led4_o : out std_logic;
87 led5_o : out std_logic
88 );
89 end component;
90
91 component generic_fifo_sc_a
92 port (
93 clk : in std_logic;
94 rst : in std_logic;
95 clr : in std_logic;
96 din : in std_logic_vector(7 downto 0);
97 we : in std_logic;
98 dout : out std_logic_vector(7 downto 0);
99 re : in std_logic;
100 full : out std_logic;
101 full_r : out std_logic;
102 empty : out std_logic;
103 empty_r : out std_logic;
104 full_n : out std_logic;
105 full_n_r : out std_logic;
106 empty_n : out std_logic;
107 empty_n_r : out std_logic;
108 level : out std_logic_vector(1 downto 0)
109 );
110 end component;
111
112 component generic_dpram
113 port (
114 rclk : in std_logic;
115 rrst : in std_logic;
116 rce : in std_logic;
117 oe : in std_logic;
118 raddr : in std_logic_vector(11 downto 0);
119 do : out std_logic_vector(7 downto 0);
120 wclk : in std_logic;
121 wrst : in std_logic;
122 wce : in std_logic;
123 we : in std_logic;
124 waddr : in std_logic_vector(11 downto 0);
125 di : in std_logic_vector(7 downto 0)
126 );
127 end component;
128
129
130 signal wb_adr : std_logic_vector(24 downto 1);
131 signal wb_dat_out : std_logic_vector(15 downto 0);
132 signal wb_dat_in : std_logic_vector(15 downto 0);
133 signal wb_sel : std_logic_vector(1 downto 0);
134 signal wb_we : std_logic;
135 signal wb_stb : std_logic;
136 signal wb_cyc : std_logic;
137 signal wb_ack : std_logic;
138 signal wb_err : std_logic;
139 signal wb_int : std_logic;
140
141
142 begin
143
144 u_pci: component pci32tlite
145 port map(
146 clk33 => PCI_CLK,
147 nrst => PCI_nRES,
148 ad => PCI_AD,
149 cbe => PCI_CBE,
150 par => PCI_PAR,
151 frame => PCI_nFRAME,
152 irdy => PCI_nIRDY,
153 trdy => PCI_nTRDY,
154 devsel => PCI_nDEVSEL,
155 stop => PCI_nSTOP,
156 idsel => PCI_IDSEL,
157 perr => PCI_nPERR,
158 serr => PCI_nSERR,
159 intb => PCI_nINT,
160 wb_adr_o => wb_adr,
161 wb_dat_i => wb_dat_out,
162 wb_dat_o => wb_dat_in,
163 wb_sel_o => wb_sel,
164 wb_we_o => wb_we,
165 wb_stb_o => wb_stb,
166 wb_cyc_o => wb_cyc,
167 wb_ack_i => wb_ack,
168 wb_err_i => wb_err,
169 wb_int_i => wb_int
170 -- debug_init => LED3,
171 -- debug_access => LED2
172 );
173
174 my_heartbeat: component heartbeat
175 port map(
176 clk_i => PCI_CLK,
177 nrst_i => PCI_nRES,
178 led2_o => LED2,
179 led3_o => LED3,
180 led4_o => LED4,
181 led5_o => LED5
182 );
183
184 end dhwk_arch;
Impressum, Datenschutz