- 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:
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user