- put pkt_re outside of record

Committed on the Free edition of March Hare Software CVSNT Server.
Upgrade to CVS Suite for more features and support:
http://march-hare.com/cvsnt/


git-svn-id: http://moon:8086/svn/vhdl/trunk@1033 cc03376c-175c-47c8-b038-4cd826a8556b
This commit is contained in:
2013-09-22 10:43:17 +00:00
parent b4a8815af3
commit 175cf3a4f4
4 changed files with 14 additions and 13 deletions
+3 -3
View File
@@ -56,7 +56,7 @@ add wave -noupdate -format Logic /tb_emac_top_jb/pktgen_en
add wave -noupdate -divider RX add wave -noupdate -divider RX
add wave -noupdate -format Logic /tb_emac_top_jb/inst_emac_top_jb/inst_emac_rx/clk add wave -noupdate -format Logic /tb_emac_top_jb/inst_emac_top_jb/inst_emac_rx/clk
add wave -noupdate -format Logic /tb_emac_top_jb/inst_emac_top_jb/inst_emac_rx/rst add wave -noupdate -format Logic /tb_emac_top_jb/inst_emac_top_jb/inst_emac_rx/rst
add wave -noupdate -format Logic /tb_emac_top_jb/inst_emac_top_jb/inst_emac_rx/dout_vld add wave -noupdate -format Logic /tb_emac_top_jb/inst_emac_top_jb/inst_emac_rx/dout_re
add wave -noupdate -format Literal -radix hexadecimal /tb_emac_top_jb/inst_emac_top_jb/inst_emac_rx/dout add wave -noupdate -format Literal -radix hexadecimal /tb_emac_top_jb/inst_emac_top_jb/inst_emac_rx/dout
add wave -noupdate -format Literal -radix hexadecimal -expand /tb_emac_top_jb/inst_emac_top_jb/inst_emac_rx/ctrl_in add wave -noupdate -format Literal -radix hexadecimal -expand /tb_emac_top_jb/inst_emac_top_jb/inst_emac_rx/ctrl_in
add wave -noupdate -format Literal -radix unsigned -expand /tb_emac_top_jb/inst_emac_top_jb/inst_emac_rx/ctrl_out add wave -noupdate -format Literal -radix unsigned -expand /tb_emac_top_jb/inst_emac_top_jb/inst_emac_rx/ctrl_out
@@ -190,7 +190,7 @@ add wave -noupdate -format Literal /tb_emac_top_jb/inst_emac_top_jb/inst_emac_tx
add wave -noupdate -format Logic /tb_emac_top_jb/inst_emac_top_jb/inst_emac_tx/mem_free_req add wave -noupdate -format Logic /tb_emac_top_jb/inst_emac_top_jb/inst_emac_tx/mem_free_req
add wave -noupdate -format Literal /tb_emac_top_jb/inst_emac_top_jb/inst_emac_tx/mem_free_ack add wave -noupdate -format Literal /tb_emac_top_jb/inst_emac_top_jb/inst_emac_tx/mem_free_ack
TreeUpdate [SetDefaultTree] TreeUpdate [SetDefaultTree]
WaveRestoreCursors {{Cursor 1} {242561800 ps} 0} {{Cursor 2} {49999967706 ps} 0} {{Cursor 3} {42725669958 ps} 0} {{Cursor 4} {16290550071 ps} 0} {{Cursor 5} {4181100 ps} 0} WaveRestoreCursors {{Cursor 1} {242561800 ps} 0} {{Cursor 2} {49999967706 ps} 0} {{Cursor 3} {42725669958 ps} 0} {{Cursor 4} {10461869973 ps} 0} {{Cursor 5} {4181100 ps} 0}
configure wave -namecolwidth 150 configure wave -namecolwidth 150
configure wave -valuecolwidth 100 configure wave -valuecolwidth 100
configure wave -justifyvalue left configure wave -justifyvalue left
@@ -204,4 +204,4 @@ configure wave -gridperiod 100
configure wave -griddelta 40 configure wave -griddelta 40
configure wave -timeline 1 configure wave -timeline 1
update update
WaveRestoreZoom {0 ps} {52500 us} WaveRestoreZoom {10461583799 ps} {10462629245 ps}
+7 -5
View File
@@ -16,7 +16,7 @@ ENTITY emac_rx IS
( (
clk : in STD_LOGIC; clk : in STD_LOGIC;
rst : in STD_LOGIC; rst : in STD_LOGIC;
dout_vld : out STD_LOGIC; dout_re : in STD_LOGIC;
dout : out unsigned(31 downto 0); dout : out unsigned(31 downto 0);
ctrl_in : in rx_ctrl_in_t; ctrl_in : in rx_ctrl_in_t;
ctrl_out : out rx_ctrl_out_t; ctrl_out : out rx_ctrl_out_t;
@@ -47,6 +47,7 @@ ARCHITECTURE behavior OF emac_rx IS
signal reset_en : std_logic; signal reset_en : std_logic;
signal host_ptr : word_ptr_t; signal host_ptr : word_ptr_t;
signal host_ptr_next : word_ptr_t;
signal host_ram_limit : word_ptr_t; signal host_ram_limit : word_ptr_t;
signal host_ram_base : word_ptr_t; signal host_ram_base : word_ptr_t;
@@ -143,7 +144,7 @@ begin
dout <= ram_dout_b; dout <= ram_dout_b;
ram_en_b <= '1'; ram_en_b <= '1';
ram_addr_b <= host_ptr; ram_addr_b <= host_ptr_next;
ram_en_a <= '1'; ram_en_a <= '1';
ram_din_a <= sipo32_dout; ram_din_a <= sipo32_dout;
@@ -183,15 +184,16 @@ fill_pointer:
process(clk) process(clk)
begin begin
if rising_edge(clk) then if rising_edge(clk) then
dout_vld <= ctrl_in.pkt_read_en;
if ctrl_in.pkt_req_en = '1' then if ctrl_in.pkt_req_en = '1' then
host_ptr <= cmd_base_out; host_ptr <= cmd_base_out;
elsif ctrl_in.pkt_read_en = '1' then elsif dout_re = '1' then
host_ptr <= host_ptr + 1; host_ptr <= host_ptr_next;
end if; end if;
end if; end if;
end process; end process;
host_ptr_next <= host_ptr + 1 when dout_re = '1' else host_ptr;
------------------------------------------------------------------ ------------------------------------------------------------------
-- Transfer stuff -- Transfer stuff
------------------------------------------------------------------ ------------------------------------------------------------------
+4 -4
View File
@@ -55,7 +55,7 @@ ARCHITECTURE behavior OF emac_top_jb IS
signal rx_ctrl_out : rx_ctrl_out_t; signal rx_ctrl_out : rx_ctrl_out_t;
signal rx_dout : unsigned(31 downto 0); signal rx_dout : unsigned(31 downto 0);
signal rx_dout_vld : std_logic; signal rx_dout_re : std_logic;
signal rx_int_en : std_logic; signal rx_int_en : std_logic;
signal tx_int_en : std_logic; signal tx_int_en : std_logic;
@@ -91,7 +91,7 @@ begin
tx_din_vld <= data_write; tx_din_vld <= data_write;
tx_din <= DAT_I; tx_din <= DAT_I;
rx_ctrl_in.pkt_read_en <= data_read; rx_dout_re <= data_read;
------------------------------------------------------------------ ------------------------------------------------------------------
registers_write: registers_write:
@@ -177,7 +177,7 @@ registers_read:
process(CLK_I) process(CLK_I)
begin begin
if rising_edge(CLK_I) then if rising_edge(CLK_I) then
ACK_O <= rx_dout_vld; ACK_O <= data_read;
DAT_O <= rx_dout; DAT_O <= rx_dout;
if reg_read = '1' then if reg_read = '1' then
@@ -266,7 +266,7 @@ inst_emac_rx : entity work.emac_rx
( (
clk => CLK_I, clk => CLK_I,
rst => RST_I, rst => RST_I,
dout_vld => rx_dout_vld, dout_re => rx_dout_re,
dout => rx_dout, dout => rx_dout,
ctrl_in => rx_ctrl_in, ctrl_in => rx_ctrl_in,
ctrl_out => rx_ctrl_out, ctrl_out => rx_ctrl_out,
-1
View File
@@ -36,7 +36,6 @@ package emac_types is
Gbps_en : std_logic; Gbps_en : std_logic;
reset : std_logic; reset : std_logic;
fcs_chk_en : std_logic; fcs_chk_en : std_logic;
pkt_read_en : std_logic;
pkt_req_en : std_logic; pkt_req_en : std_logic;
pkt_free_en : std_logic; pkt_free_en : std_logic;
mac_addr : mac_addr_t; mac_addr : mac_addr_t;