Newer
Older
library ieee;
use ieee.std_logic_1164.all;
entity agilex_LL_firmware is
port(
--clk_sys_bak_50m_p : in std_logic;
--refclk_156m_qsfpdd_p : in std_logic;
clk_sys_100m_p : in std_logic;
--i2c_0_scl : inout std_logic;
--i2c_0_sda : inout std_logic;
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
refclk0_clk : in std_logic; -- refclk0.clk
refclk1_clk : in std_logic; -- refclk1.clk
pin_perst : in std_logic; -- pin_perst.pin_perst
pcie_rx_n_in0 : in std_logic; -- hip_serial.rx_n_in0
pcie_rx_p_in0 : in std_logic; -- .rx_p_in0
pcie_rx_n_in1 : in std_logic; -- .rx_n_in1
pcie_rx_p_in1 : in std_logic; -- .rx_p_in1
pcie_rx_n_in2 : in std_logic; -- .rx_n_in2
pcie_rx_p_in2 : in std_logic; -- .rx_p_in2
pcie_rx_n_in3 : in std_logic; -- .rx_n_in3
pcie_rx_p_in3 : in std_logic; -- .rx_p_in3
pcie_rx_n_in4 : in std_logic; -- .rx_n_in4
pcie_rx_p_in4 : in std_logic; -- .rx_p_in4
pcie_rx_n_in5 : in std_logic; -- .rx_n_in5
pcie_rx_p_in5 : in std_logic; -- .rx_p_in5
pcie_rx_n_in6 : in std_logic; -- .rx_n_in6
pcie_rx_p_in6 : in std_logic; -- .rx_p_in6
pcie_rx_n_in7 : in std_logic; -- .rx_n_in7
pcie_rx_p_in7 : in std_logic; -- .rx_p_in7
pcie_rx_n_in8 : in std_logic; -- .rx_n_in8
pcie_rx_p_in8 : in std_logic; -- .rx_p_in8
pcie_rx_n_in9 : in std_logic; -- .rx_n_in9
pcie_rx_p_in9 : in std_logic; -- .rx_p_in9
pcie_rx_n_in10 : in std_logic; -- .rx_n_in10
pcie_rx_p_in10 : in std_logic; -- .rx_p_in10
pcie_rx_n_in11 : in std_logic; -- .rx_n_in11
pcie_rx_p_in11 : in std_logic; -- .rx_p_in11
pcie_rx_n_in12 : in std_logic; -- .rx_n_in12
pcie_rx_p_in12 : in std_logic; -- .rx_p_in12
pcie_rx_n_in13 : in std_logic; -- .rx_n_in13
pcie_rx_p_in13 : in std_logic; -- .rx_p_in13
pcie_rx_n_in14 : in std_logic; -- .rx_n_in14
pcie_rx_p_in14 : in std_logic; -- .rx_p_in14
pcie_rx_n_in15 : in std_logic; -- .rx_n_in15
pcie_rx_p_in15 : in std_logic; -- .rx_p_in15
pcie_tx_n_out0 : out std_logic; -- hip_serial.tx_n_out0
pcie_tx_p_out0 : out std_logic; -- .tx_p_out0
pcie_tx_n_out1 : out std_logic; -- .tx_n_out1
pcie_tx_p_out1 : out std_logic; -- .tx_p_out1
pcie_tx_n_out2 : out std_logic; -- .tx_n_out2
pcie_tx_p_out2 : out std_logic; -- .tx_p_out2
pcie_tx_n_out3 : out std_logic; -- .tx_n_out3
pcie_tx_p_out3 : out std_logic; -- .tx_p_out3
pcie_tx_n_out4 : out std_logic; -- .tx_n_out4
pcie_tx_p_out4 : out std_logic; -- .tx_p_out4
pcie_tx_n_out5 : out std_logic; -- .tx_n_out5
pcie_tx_p_out5 : out std_logic; -- .tx_p_out5
pcie_tx_n_out6 : out std_logic; -- .tx_n_out6
pcie_tx_p_out6 : out std_logic; -- .tx_p_out6
pcie_tx_n_out7 : out std_logic; -- .tx_n_out7
pcie_tx_p_out7 : out std_logic; -- .tx_p_out7
pcie_tx_n_out8 : out std_logic; -- .tx_n_out8
pcie_tx_p_out8 : out std_logic; -- .tx_p_out8
pcie_tx_n_out9 : out std_logic; -- .tx_n_out9
pcie_tx_p_out9 : out std_logic; -- .tx_p_out9
pcie_tx_n_out10 : out std_logic; -- .tx_n_out10
pcie_tx_p_out10 : out std_logic; -- .tx_p_out10
pcie_tx_n_out11 : out std_logic; -- .tx_n_out11
pcie_tx_p_out11 : out std_logic; -- .tx_p_out11
pcie_tx_n_out12 : out std_logic; -- .tx_n_out12
pcie_tx_p_out12 : out std_logic; -- .tx_p_out12
pcie_tx_n_out13 : out std_logic; -- .tx_n_out13
pcie_tx_p_out13 : out std_logic; -- .tx_p_out13
pcie_tx_n_out14 : out std_logic; -- .tx_n_out14
pcie_tx_p_out14 : out std_logic; -- .tx_p_out14
pcie_tx_n_out15 : out std_logic; -- .tx_n_out15
pcie_tx_p_out15 : out std_logic; -- .tx_p_out15
pio_out0 : out std_logic_vector(31 downto 0) -- pio_out_port.export
--pio_out1 : out std_logic_vector(31 downto 0) -- pio_out1_port.export
);
end entity;
architecture rtl of agilex_LL_firmware is
refclk0_clk : in std_logic := 'X'; -- clk
refclk1_clk : in std_logic := 'X'; -- clk
pin_perst_pin_perst : in std_logic := 'X'; -- pin_perst
--pcie_ninit_done_ninit_done : in std_logic := 'X'; -- ninit_done
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
hip_serial_rx_n_in1 : in std_logic := 'X'; -- rx_n_in1
hip_serial_tx_n_out8 : out std_logic; -- tx_n_out8
hip_serial_rx_n_in2 : in std_logic := 'X'; -- rx_n_in2
hip_serial_rx_p_in0 : in std_logic := 'X'; -- rx_p_in0
hip_serial_rx_p_in15 : in std_logic := 'X'; -- rx_p_in15
hip_serial_tx_p_out14 : out std_logic; -- tx_p_out14
hip_serial_tx_p_out5 : out std_logic; -- tx_p_out5
hip_serial_rx_p_in1 : in std_logic := 'X'; -- rx_p_in1
hip_serial_tx_p_out15 : out std_logic; -- tx_p_out15
hip_serial_rx_p_in4 : in std_logic := 'X'; -- rx_p_in4
hip_serial_tx_n_out13 : out std_logic; -- tx_n_out13
hip_serial_tx_p_out4 : out std_logic; -- tx_p_out4
hip_serial_rx_n_in15 : in std_logic := 'X'; -- rx_n_in15
hip_serial_tx_p_out10 : out std_logic; -- tx_p_out10
hip_serial_rx_p_in3 : in std_logic := 'X'; -- rx_p_in3
hip_serial_rx_n_in14 : in std_logic := 'X'; -- rx_n_in14
hip_serial_tx_n_out14 : out std_logic; -- tx_n_out14
hip_serial_tx_n_out0 : out std_logic; -- tx_n_out0
hip_serial_tx_p_out13 : out std_logic; -- tx_p_out13
hip_serial_tx_p_out7 : out std_logic; -- tx_p_out7
hip_serial_tx_p_out1 : out std_logic; -- tx_p_out1
hip_serial_rx_p_in7 : in std_logic := 'X'; -- rx_p_in7
hip_serial_tx_n_out11 : out std_logic; -- tx_n_out11
hip_serial_rx_n_in3 : in std_logic := 'X'; -- rx_n_in3
hip_serial_tx_p_out11 : out std_logic; -- tx_p_out11
hip_serial_rx_n_in4 : in std_logic := 'X'; -- rx_n_in4
hip_serial_tx_p_out6 : out std_logic; -- tx_p_out6
hip_serial_rx_n_in8 : in std_logic := 'X'; -- rx_n_in8
hip_serial_tx_n_out3 : out std_logic; -- tx_n_out3
hip_serial_rx_n_in5 : in std_logic := 'X'; -- rx_n_in5
hip_serial_rx_n_in12 : in std_logic := 'X'; -- rx_n_in12
hip_serial_rx_n_in6 : in std_logic := 'X'; -- rx_n_in6
hip_serial_rx_n_in11 : in std_logic := 'X'; -- rx_n_in11
hip_serial_rx_n_in9 : in std_logic := 'X'; -- rx_n_in9
hip_serial_tx_n_out2 : out std_logic; -- tx_n_out2
hip_serial_tx_n_out4 : out std_logic; -- tx_n_out4
hip_serial_tx_p_out8 : out std_logic; -- tx_p_out8
hip_serial_tx_n_out12 : out std_logic; -- tx_n_out12
hip_serial_tx_n_out9 : out std_logic; -- tx_n_out9
hip_serial_tx_p_out0 : out std_logic; -- tx_p_out0
hip_serial_tx_n_out5 : out std_logic; -- tx_n_out5
hip_serial_tx_p_out9 : out std_logic; -- tx_p_out9
hip_serial_tx_n_out15 : out std_logic; -- tx_n_out15
hip_serial_rx_p_in10 : in std_logic := 'X'; -- rx_p_in10
hip_serial_rx_n_in13 : in std_logic := 'X'; -- rx_n_in13
hip_serial_rx_p_in5 : in std_logic := 'X'; -- rx_p_in5
hip_serial_tx_p_out3 : out std_logic; -- tx_p_out3
hip_serial_rx_n_in7 : in std_logic := 'X'; -- rx_n_in7
hip_serial_rx_p_in12 : in std_logic := 'X'; -- rx_p_in12
hip_serial_tx_n_out6 : out std_logic; -- tx_n_out6
hip_serial_rx_p_in13 : in std_logic := 'X'; -- rx_p_in13
hip_serial_rx_p_in2 : in std_logic := 'X'; -- rx_p_in2
hip_serial_tx_p_out2 : out std_logic; -- tx_p_out2
hip_serial_rx_p_in8 : in std_logic := 'X'; -- rx_p_in8
hip_serial_rx_p_in9 : in std_logic := 'X'; -- rx_p_in9
hip_serial_tx_p_out12 : out std_logic; -- tx_p_out12
hip_serial_rx_n_in10 : in std_logic := 'X'; -- rx_n_in10
hip_serial_tx_n_out1 : out std_logic; -- tx_n_out1
hip_serial_rx_p_in14 : in std_logic := 'X'; -- rx_p_in14
hip_serial_tx_n_out7 : out std_logic; -- tx_n_out7
hip_serial_tx_n_out10 : out std_logic; -- tx_n_out10
hip_serial_rx_p_in6 : in std_logic := 'X'; -- rx_p_in6
hip_serial_rx_n_in0 : in std_logic := 'X'; -- rx_n_in0
hip_serial_rx_p_in11 : in std_logic := 'X'; -- rx_p_in11
pio_out_port_export : out std_logic_vector(31 downto 0) -- export
--bus_reset_in_reset : in std_logic := 'X' -- reset
);
end component pcie_ed;
component reset_release_ip is
port (
ninit_done : out std_logic -- 1 if not ready. 1 if currently reset. O if ready. O if init is done.
);
end component reset_release_ip;
-- component reset_state_machine is
-- port(
-- clk_i : in std_logic;
-- enable_i : in std_logic;
-- reset_o : out std_logic
-- );
-- end component reset_state_machine;
--signal pio_reset_output_s : std_logic;
begin
reset_ip : component reset_release_ip
port map (
ninit_done => not_ready_s -- ninit_done.reset
);
-- bus_reset_ip : component reset_state_machine
-- port map(
-- clk_i => clk_sys_100m_p,
-- enable_i => '0', --pio_reset_output_s,
-- reset_o => bus_reset_s
-- );
u0 : component pcie_ed
port map (
refclk0_clk => refclk0_clk, -- refclk0.clk
refclk1_clk => refclk1_clk, -- refclk1.clk
pin_perst_pin_perst => pin_perst, -- pin_perst.pin_perst
--pcie_ninit_done_ninit_done => not_ready_s, -- ninit_done
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
hip_serial_rx_n_in1 => pcie_rx_n_in1, -- hip_serial.rx_n_in1
hip_serial_tx_n_out8 => pcie_tx_n_out8, -- .tx_n_out8
hip_serial_rx_n_in2 => pcie_rx_n_in2, -- .rx_n_in2
hip_serial_rx_p_in0 => pcie_rx_p_in0, -- .rx_p_in0
hip_serial_rx_p_in15 => pcie_rx_p_in15, -- .rx_p_in15
hip_serial_tx_p_out14 => pcie_tx_p_out14, -- .tx_p_out14
hip_serial_tx_p_out5 => pcie_tx_p_out5, -- .tx_p_out5
hip_serial_rx_p_in1 => pcie_rx_p_in1, -- .rx_p_in1
hip_serial_tx_p_out15 => pcie_tx_p_out15, -- .tx_p_out15
hip_serial_rx_p_in4 => pcie_rx_p_in4, -- .rx_p_in4
hip_serial_tx_n_out13 => pcie_tx_n_out13, -- .tx_n_out13
hip_serial_tx_p_out4 => pcie_tx_p_out4, -- .tx_p_out4
hip_serial_rx_n_in15 => pcie_rx_n_in15, -- .rx_n_in15
hip_serial_tx_p_out10 => pcie_tx_p_out10, -- .tx_p_out10
hip_serial_rx_p_in3 => pcie_rx_p_in3, -- .rx_p_in3
hip_serial_rx_n_in14 => pcie_rx_n_in14, -- .rx_n_in14
hip_serial_tx_n_out14 => pcie_tx_n_out14, -- .tx_n_out14
hip_serial_tx_n_out0 => pcie_tx_n_out0, -- .tx_n_out0
hip_serial_tx_p_out13 => pcie_tx_p_out13, -- .tx_p_out13
hip_serial_tx_p_out7 => pcie_tx_p_out7, -- .tx_p_out7
hip_serial_tx_p_out1 => pcie_tx_p_out1, -- .tx_p_out1
hip_serial_rx_p_in7 => pcie_rx_p_in7, -- .rx_p_in7
hip_serial_tx_n_out11 => pcie_tx_n_out11, -- .tx_n_out11
hip_serial_rx_n_in3 => pcie_rx_n_in3, -- .rx_n_in3
hip_serial_tx_p_out11 => pcie_tx_p_out11, -- .tx_p_out11
hip_serial_rx_n_in4 => pcie_rx_n_in4, -- .rx_n_in4
hip_serial_tx_p_out6 => pcie_tx_p_out6, -- .tx_p_out6
hip_serial_rx_n_in8 => pcie_rx_n_in8, -- .rx_n_in8
hip_serial_tx_n_out3 => pcie_tx_n_out3, -- .tx_n_out3
hip_serial_rx_n_in5 => pcie_rx_n_in5, -- .rx_n_in5
hip_serial_rx_n_in12 => pcie_rx_n_in12, -- .rx_n_in12
hip_serial_rx_n_in6 => pcie_rx_n_in6, -- .rx_n_in6
hip_serial_rx_n_in11 => pcie_rx_n_in11, -- .rx_n_in11
hip_serial_rx_n_in9 => pcie_rx_n_in9, -- .rx_n_in9
hip_serial_tx_n_out2 => pcie_tx_n_out2, -- .tx_n_out2
hip_serial_tx_n_out4 => pcie_tx_n_out4, -- .tx_n_out4
hip_serial_tx_p_out8 => pcie_tx_p_out8, -- .tx_p_out8
hip_serial_tx_n_out12 => pcie_tx_n_out12, -- .tx_n_out12
hip_serial_tx_n_out9 => pcie_tx_n_out9, -- .tx_n_out9
hip_serial_tx_p_out0 => pcie_tx_p_out0, -- .tx_p_out0
hip_serial_tx_n_out5 => pcie_tx_n_out5, -- .tx_n_out5
hip_serial_tx_p_out9 => pcie_tx_p_out9, -- .tx_p_out9
hip_serial_tx_n_out15 => pcie_tx_n_out15, -- .tx_n_out15
hip_serial_rx_p_in10 => pcie_rx_p_in10, -- .rx_p_in10
hip_serial_rx_n_in13 => pcie_rx_n_in13, -- .rx_n_in13
hip_serial_rx_p_in5 => pcie_rx_p_in5, -- .rx_p_in5
hip_serial_tx_p_out3 => pcie_tx_p_out3, -- .tx_p_out3
hip_serial_rx_n_in7 => pcie_rx_n_in7, -- .rx_n_in7
hip_serial_rx_p_in12 => pcie_rx_p_in12, -- .rx_p_in12
hip_serial_tx_n_out6 => pcie_tx_n_out6, -- .tx_n_out6
hip_serial_rx_p_in13 => pcie_rx_p_in13, -- .rx_p_in13
hip_serial_rx_p_in2 => pcie_rx_p_in2, -- .rx_p_in2
hip_serial_tx_p_out2 => pcie_tx_p_out2, -- .tx_p_out2
hip_serial_rx_p_in8 => pcie_rx_p_in8, -- .rx_p_in8
hip_serial_rx_p_in9 => pcie_rx_p_in9, -- .rx_p_in9
hip_serial_tx_p_out12 => pcie_tx_p_out12, -- .tx_p_out12
hip_serial_rx_n_in10 => pcie_rx_n_in10, -- .rx_n_in10
hip_serial_tx_n_out1 => pcie_tx_n_out1, -- .tx_n_out1
hip_serial_rx_p_in14 => pcie_rx_p_in14, -- .rx_p_in14
hip_serial_tx_n_out7 => pcie_tx_n_out7, -- .tx_n_out7
hip_serial_tx_n_out10 => pcie_tx_n_out10, -- .tx_n_out10
hip_serial_rx_p_in6 => pcie_rx_p_in6, -- .rx_p_in6
hip_serial_rx_n_in0 => pcie_rx_n_in0, -- .rx_n_in0
hip_serial_rx_p_in11 => pcie_rx_p_in11, -- .rx_p_in11
--clock_100_in_clk_clk => clk_sys_100m_p, -- clock_100_in_clk.clk
--i2c_master_0_scl_sda_scl => i2c_0_scl, -- scl
--i2c_master_0_scl_sda_sda => i2c_0_sda,
pio_out_port_export => pio_out0 -- pio_out_port.export
--pio_reset_export => pio_reset_output_s,
--bus_reset_in_reset => '0'--bus_reset_s -- 1 means reset