From ebdb4e1e2cdfa7ec7d19934b476f87b4f670fe5c Mon Sep 17 00:00:00 2001 From: Jens Ahrensfeld Date: Thu, 25 Mar 2010 21:09:59 +0000 Subject: [PATCH] - added din_vld which corressponds to din - fixed wrong byte enables for first PISO (MSB_FIRST 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@822 cc03376c-175c-47c8-b038-4cd826a8556b --- lib/emac/src/emac_tx.vhd | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/lib/emac/src/emac_tx.vhd b/lib/emac/src/emac_tx.vhd index 68d64ea..b66ab9c 100644 --- a/lib/emac/src/emac_tx.vhd +++ b/lib/emac/src/emac_tx.vhd @@ -16,6 +16,7 @@ ENTITY emac_tx IS ( clk : in STD_LOGIC; rst : in STD_LOGIC; + din_vld : in STD_LOGIC; din : in unsigned(31 downto 0); ctrl_in : in tx_ctrl_in_t; ctrl_out : out tx_ctrl_out_t; @@ -118,9 +119,9 @@ ARCHITECTURE behavior OF emac_tx IS constant piso_byte_mask_rom : piso_byte_mask_array_t := ( "1111", - "0001", - "0011", - "0111" + "1000", + "1100", + "1110" ); @@ -165,7 +166,7 @@ host_state_next: end process; host_state: - process(host_s, alloc_req, alloc_OK, fill_rdy, ctrl_in.data_vld) + process(host_s, alloc_req, alloc_OK, fill_rdy, din_vld) begin flush_en <= '0'; @@ -210,8 +211,8 @@ host_state: host_sn <= host_fill; when host_fill => - fill_cnt_adv <= ctrl_in.data_vld; - fill_ptr_adv <= not fill_rdy and ctrl_in.data_vld; + fill_cnt_adv <= din_vld; + fill_ptr_adv <= not fill_rdy and din_vld; if alloc_req = '1' then host_sn <= host_alloc; elsif fill_rdy = '1' then