OpenCores
URL https://opencores.org/ocsvn/potato/potato/trunk

Subversion Repositories potato

[/] [potato/] [trunk/] [soc/] [pp_soc_uart.vhd] - Diff between revs 7 and 66

Show entire file | Details | Blame | View Log

Rev 7 Rev 66
Line 8... Line 8...
--! @brief Simple UART module.
--! @brief Simple UART module.
--! The following registers are defined:
--! The following registers are defined:
--! 0 - Transmit data register (write-only)
--! 0 - Transmit data register (write-only)
--! 1 - Receive data register (read-only)
--! 1 - Receive data register (read-only)
--! 2 - Status register; (read-only)
--! 2 - Status register; (read-only)
--!     - Bit 0: data in receive buffer
--!     - Bit 0: no data in receive buffer
--!     - Bit 1: no data in transmit buffer
--!     - Bit 1: no data in transmit buffer
--!     - Bit 2: receive buffer full
--!     - Bit 2: receive buffer full
--!     - Bit 3: transmit buffer full
--!     - Bit 3: transmit buffer full
--! 3 - Control register, currently unused.
--! 3 - Control register, currently unused.
entity pp_soc_uart is
entity pp_soc_uart is
Line 295... Line 295...
                                                        else -- Read from register
                                                        else -- Read from register
                                                                if wb_adr_in = b"01" then
                                                                if wb_adr_in = b"01" then
                                                                        recv_buffer_pop <= '1';
                                                                        recv_buffer_pop <= '1';
                                                                        wb_state <= READ_ACK;
                                                                        wb_state <= READ_ACK;
                                                                elsif wb_adr_in = b"10" then
                                                                elsif wb_adr_in = b"10" then
                                                                        wb_dat_out <= x"0" & send_buffer_full & recv_buffer_full & send_buffer_empty & not recv_buffer_empty;
                                                                        wb_dat_out <= x"0" & send_buffer_full & recv_buffer_full & send_buffer_empty & recv_buffer_empty;
                                                                        wb_ack <= '1';
                                                                        wb_ack <= '1';
                                                                        wb_state <= READ_ACK;
                                                                        wb_state <= READ_ACK;
                                                                else
                                                                else
                                                                        wb_dat_out <= (others => '0');
                                                                        wb_dat_out <= (others => '0');
                                                                        wb_ack <= '1';
                                                                        wb_ack <= '1';

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.