- 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
This commit is contained in:
2010-03-25 21:09:59 +00:00
parent 0554714b52
commit ebdb4e1e2c
+7 -6
View File
@@ -16,6 +16,7 @@ ENTITY emac_tx IS
( (
clk : in STD_LOGIC; clk : in STD_LOGIC;
rst : in STD_LOGIC; rst : in STD_LOGIC;
din_vld : in STD_LOGIC;
din : in unsigned(31 downto 0); din : in unsigned(31 downto 0);
ctrl_in : in tx_ctrl_in_t; ctrl_in : in tx_ctrl_in_t;
ctrl_out : out tx_ctrl_out_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 := constant piso_byte_mask_rom : piso_byte_mask_array_t :=
( (
"1111", "1111",
"0001", "1000",
"0011", "1100",
"0111" "1110"
); );
@@ -165,7 +166,7 @@ host_state_next:
end process; end process;
host_state: 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 begin
flush_en <= '0'; flush_en <= '0';
@@ -210,8 +211,8 @@ host_state:
host_sn <= host_fill; host_sn <= host_fill;
when host_fill => when host_fill =>
fill_cnt_adv <= ctrl_in.data_vld; fill_cnt_adv <= din_vld;
fill_ptr_adv <= not fill_rdy and ctrl_in.data_vld; fill_ptr_adv <= not fill_rdy and din_vld;
if alloc_req = '1' then if alloc_req = '1' then
host_sn <= host_alloc; host_sn <= host_alloc;
elsif fill_rdy = '1' then elsif fill_rdy = '1' then