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; 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 component pcie_ed is port ( 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 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; signal not_ready_s : std_logic; --signal bus_reset_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 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 ); end rtl;