added CMAC interface out of QSFP3

This commit is contained in:
2026-07-17 15:55:55 -04:00
parent 69be245f2a
commit 3f25b73be7
20 changed files with 2869 additions and 524 deletions
+20 -17
View File
@@ -14,9 +14,7 @@ use xpm.vcomponents.all;
entity axis_mux_128b is
port (
aclk : in STD_LOGIC;
aresetn : in std_logic;
aselect : in std_logic_vector(1 downto 0);
aselect : in std_logic_vector(2 downto 0);
s0_axis_tdata : in std_logic_vector(127 downto 0);
s0_axis_tvalid : in std_logic;
@@ -34,6 +32,10 @@ entity axis_mux_128b is
s3_axis_tvalid : in std_logic;
s3_axis_tready : out std_logic;
s4_axis_tdata : in std_logic_vector(127 downto 0);
s4_axis_tvalid : in std_logic;
s4_axis_tready : out std_logic;
m_axis_tdata : out std_logic_vector(127 downto 0);
m_axis_tvalid : out std_logic;
m_axis_tready : in std_logic
@@ -43,23 +45,24 @@ end entity axis_mux_128b;
architecture imp of axis_mux_128b is
begin
m_axis_tdata <= s0_axis_tdata when aselect = "00" else
s1_axis_tdata when aselect = "01" else
s2_axis_tdata when aselect = "10" else
s3_axis_tdata;
m_axis_tdata <= s0_axis_tdata when aselect = "000" else
s1_axis_tdata when aselect = "001" else
s2_axis_tdata when aselect = "010" else
s3_axis_tdata when aselect = "011" else
s4_axis_tdata;
m_axis_tvalid <= s0_axis_tvalid when aselect = "00" else
s1_axis_tvalid when aselect = "01" else
s2_axis_tvalid when aselect = "10" else
s3_axis_tvalid;
m_axis_tvalid <= s0_axis_tvalid when aselect = "000" else
s1_axis_tvalid when aselect = "001" else
s2_axis_tvalid when aselect = "010" else
s3_axis_tvalid when aselect = "011" else
s4_axis_tvalid;
s0_axis_tready <= m_axis_tready when aselect = "00" else '0';
s1_axis_tready <= m_axis_tready when aselect = "01" else '0';
s2_axis_tready <= m_axis_tready when aselect = "10" else '0';
s3_axis_tready <= m_axis_tready when aselect = "11" else '0';
s0_axis_tready <= m_axis_tready when aselect = "000" else '0';
s1_axis_tready <= m_axis_tready when aselect = "001" else '0';
s2_axis_tready <= m_axis_tready when aselect = "010" else '0';
s3_axis_tready <= m_axis_tready when aselect = "011" else '0';
s4_axis_tready <= m_axis_tready when aselect = "100" else '0';
end imp;