Line | |
---|
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 aurora_tx_ctrl is |
---|
7 | port ( |
---|
8 | tx_ff_empty: in std_logic; |
---|
9 | tx_ff_rd :out std_logic; |
---|
10 | tx_ff_rdata : in std_logic_vector(17 downto 0); |
---|
11 | |
---|
12 | aur_tx_sof_1 : out std_logic; |
---|
13 | aur_tx_eof_1: out std_logic ; |
---|
14 | aur_tx_data : out std_logic_vector(15 downto 0); |
---|
15 | aur_tx_rem: out std_logic ; |
---|
16 | aur_tx_src_rdy_1: out std_logic ; |
---|
17 | aur_tx_dst_rdy_1: in std_logic |
---|
18 | |
---|
19 | ); |
---|
20 | end aurora_tx_ctrl; |
---|
21 | |
---|
22 | |
---|
23 | architecture aurora_tx_ctrl_b1 of aurora_tx_ctrl is |
---|
24 | signal flag :std_logic_vector(1 downto 0); |
---|
25 | signal tx_ff_rd_1: std_logic; |
---|
26 | begin |
---|
27 | |
---|
28 | |
---|
29 | tx_ff_rd_1 <= (not tx_ff_empty) and (not aur_tx_dst_rdy_1) ; |
---|
30 | aur_tx_rem <= '1' ; |
---|
31 | |
---|
32 | flag <= tx_ff_rdata(17 downto 16) ; |
---|
33 | aur_tx_data <= tx_ff_rdata (15 downto 0) ; |
---|
34 | aur_tx_sof_1 <= not (flag(0) and tx_ff_rd_1) ; |
---|
35 | aur_tx_eof_1 <= not (flag(1) and tx_ff_rd_1) ; |
---|
36 | aur_tx_src_rdy_1 <= not tx_ff_rd_1 ; |
---|
37 | |
---|
38 | tx_ff_rd <=tx_ff_rd_1; |
---|
39 | end aurora_tx_ctrl_b1; |
---|
Note: See
TracBrowser
for help on using the repository browser.