- added ram overflow bit

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@827 cc03376c-175c-47c8-b038-4cd826a8556b
This commit is contained in:
2010-03-25 22:37:15 +00:00
parent 08e85b7e8f
commit 7fd7987056
3 changed files with 7 additions and 4 deletions
+1
View File
@@ -122,6 +122,7 @@ begin
ctrl_out.rx_size <= cmd_fifo_dout(31 downto 16);
ctrl_out.rx_vld <= not cmd_fifo_empty;
ctrl_out.rx_er <= mii_rx_er;
ctrl_out.ram_ovf <= xfer_ram_full;
dout <= ram_dout_a;
+5 -4
View File
@@ -111,26 +111,27 @@ registers_read:
rx_ctrl_in.data_read <= '0';
ACK_O <= rx_dout_vld and CYC_I and not WE_I;
DAT_O <= rx_dout;
if (STB_I and CYC_I) = '1' then
if (STB_I and CYC_I) = '1' and WE_I = '0' then
case ADDR_I(5 downto 2) is
when "0000" =>
ACK_O <= not WE_I;
ACK_O <= '1';
DAT_O <= (others => '0');
DAT_O(31) <= tx_ctrl_in.tx_er;
DAT_O(30) <= mii_rx_er;
DAT_O(29) <= mii_col;
DAT_O(28) <= mii_crs;
DAT_O(18) <= rx_ctrl_out.ram_ovf;
DAT_O(17) <= tx_ctrl_out.tx_req;
DAT_O(16) <= rx_ctrl_out.rx_vld;
DAT_O(5) <= tx_int_en;
DAT_O(4) <= rx_int_en;
when "0001" =>
ACK_O <= not WE_I;
ACK_O <= '1';
DAT_O <= tx_ctrl_out.tx_size & rx_ctrl_out.rx_size;
when "0010" =>
rx_ctrl_in.data_read <= not WE_I;
rx_ctrl_in.data_read <= '1';
when others => null;
end case;
+1
View File
@@ -33,6 +33,7 @@ package emac_types is
type rx_ctrl_out_t is record
rx_er : std_logic;
rx_vld : std_logic;
ram_ovf : std_logic;
rx_size : unsigned(15 downto 0);
end record;