reformat
This commit is contained in:
@@ -59,121 +59,122 @@
|
|||||||
-- Introduced a minor RTSn correction.
|
-- Introduced a minor RTSn correction.
|
||||||
--
|
--
|
||||||
|
|
||||||
library ieee;
|
LIBRARY ieee;
|
||||||
use ieee.std_logic_1164.all;
|
USE ieee.std_logic_1164.ALL;
|
||||||
use ieee.std_logic_unsigned.all;
|
USE ieee.std_logic_unsigned.ALL;
|
||||||
|
|
||||||
entity WF6850IP_TOP_SOC is
|
ENTITY WF6850IP_TOP_SOC IS
|
||||||
port (
|
PORT (
|
||||||
CLK : in bit;
|
CLK : IN bit;
|
||||||
RESETn : in bit;
|
RESETn : in bit;
|
||||||
|
|
||||||
CS2n, CS1, CS0 : in bit;
|
CS2n, CS1, CS0 : IN bit;
|
||||||
E : in bit;
|
E : IN bit;
|
||||||
RWn : in bit;
|
RWn : IN bit;
|
||||||
RS : in bit;
|
RS : in bit;
|
||||||
|
|
||||||
DATA_IN : in std_logic_vector(7 downto 0);
|
DATA_IN : IN std_logic_vector(7 DOWNTO 0);
|
||||||
DATA_OUT : out std_logic_vector(7 downto 0);
|
DATA_OUT : OUT std_logic_vector(7 DOWNTO 0);
|
||||||
DATA_EN : out bit;
|
DATA_EN : OUT bit;
|
||||||
|
|
||||||
TXCLK : in bit;
|
TXCLK : IN bit;
|
||||||
RXCLK : in bit;
|
RXCLK : IN bit;
|
||||||
RXDATA : in bit;
|
RXDATA : IN bit;
|
||||||
CTSn : in bit;
|
CTSn : IN bit;
|
||||||
DCDn : in bit;
|
DCDn : IN bit;
|
||||||
|
|
||||||
IRQn : out bit;
|
IRQn : OUT bit;
|
||||||
TXDATA : out bit;
|
TXDATA : OUT bit;
|
||||||
RTSn : out bit
|
RTSn : OUT bit
|
||||||
);
|
);
|
||||||
end entity WF6850IP_TOP_SOC;
|
END ENTITY WF6850IP_TOP_SOC;
|
||||||
|
|
||||||
architecture STRUCTURE of WF6850IP_TOP_SOC is
|
ARCHITECTURE structure OF WF6850IP_TOP_SOC IS
|
||||||
component WF6850IP_CTRL_STATUS
|
COMPONENT WF6850IP_CTRL_STATUS
|
||||||
port (
|
PORT (
|
||||||
CLK : in bit;
|
CLK : IN bit;
|
||||||
RESETn : in bit;
|
RESETn : IN bit;
|
||||||
CS : in bit_vector(2 downto 0);
|
CS : IN bit_vector(2 DOWNTO 0);
|
||||||
E : in bit;
|
E : IN bit;
|
||||||
RWn : in bit;
|
RWn : IN bit;
|
||||||
RS : in bit;
|
RS : IN bit;
|
||||||
DATA_IN : in bit_vector(7 downto 0);
|
DATA_IN : IN bit_vector(7 DOWNTO 0);
|
||||||
DATA_OUT : out bit_vector(7 downto 0);
|
DATA_OUT : OUT bit_vector(7 DOWNTO 0);
|
||||||
DATA_EN : out bit;
|
DATA_EN : OUT bit;
|
||||||
RDRF : in bit;
|
RDRF : IN bit;
|
||||||
TDRE : in bit;
|
TDRE : IN bit;
|
||||||
DCDn : in bit;
|
DCDn : IN bit;
|
||||||
CTSn : in bit;
|
CTSn : IN bit;
|
||||||
FE : in bit;
|
FE : IN bit;
|
||||||
OVR : in bit;
|
OVR : IN bit;
|
||||||
PE : in bit;
|
PE : IN bit;
|
||||||
MCLR : out bit;
|
MCLR : OUT bit;
|
||||||
RTSn : out bit;
|
RTSn : OUT bit;
|
||||||
CDS : out bit_vector(1 downto 0);
|
CDS : OUT bit_vector(1 DOWNTO 0);
|
||||||
WS : out bit_vector(2 downto 0);
|
WS : OUT bit_vector(2 DOWNTO 0);
|
||||||
TC : out bit_vector(1 downto 0);
|
TC : OUT bit_vector(1 DOWNTO 0);
|
||||||
IRQn : out bit
|
IRQn : OUT bit
|
||||||
);
|
);
|
||||||
end component;
|
END COMPONENT;
|
||||||
|
|
||||||
component WF6850IP_RECEIVE
|
COMPONENT WF6850IP_RECEIVE
|
||||||
port (
|
PORT (
|
||||||
CLK : in bit;
|
CLK : IN bit;
|
||||||
RESETn : in bit;
|
RESETn : IN bit;
|
||||||
MCLR : in bit;
|
MCLR : IN bit;
|
||||||
CS : in bit_vector(2 downto 0);
|
CS : IN bit_vector(2 DOWNTO 0);
|
||||||
E : in bit;
|
E : IN bit;
|
||||||
RWn : in bit;
|
RWn : IN bit;
|
||||||
RS : in bit;
|
RS : IN bit;
|
||||||
DATA_OUT : out bit_vector(7 downto 0);
|
DATA_OUT : OUT bit_vector(7 DOWNTO 0);
|
||||||
DATA_EN : out bit;
|
DATA_EN : OUT bit;
|
||||||
WS : in bit_vector(2 downto 0);
|
WS : IN bit_vector(2 DOWNTO 0);
|
||||||
CDS : in bit_vector(1 downto 0);
|
CDS : IN bit_vector(1 DOWNTO 0);
|
||||||
RXCLK : in bit;
|
RXCLK : IN bit;
|
||||||
RXDATA : in bit;
|
RXDATA : IN bit;
|
||||||
RDRF : out bit;
|
RDRF : OUT bit;
|
||||||
OVR : out bit;
|
OVR : OUT bit;
|
||||||
PE : out bit;
|
PE : OUT bit;
|
||||||
FE : out bit
|
FE : OUT bit
|
||||||
);
|
);
|
||||||
end component;
|
END COMPONENT;
|
||||||
|
|
||||||
component WF6850IP_TRANSMIT
|
COMPONENT WF6850IP_TRANSMIT
|
||||||
port (
|
PORT (
|
||||||
CLK : in bit;
|
CLK : IN bit;
|
||||||
RESETn : in bit;
|
RESETn : IN bit;
|
||||||
MCLR : in bit;
|
MCLR : IN bit;
|
||||||
CS : in bit_vector(2 downto 0);
|
CS : IN bit_vector(2 DOWNTO 0);
|
||||||
E : in bit;
|
E : IN bit;
|
||||||
RWn : in bit;
|
RWn : IN bit;
|
||||||
RS : in bit;
|
RS : IN bit;
|
||||||
DATA_IN : in bit_vector(7 downto 0);
|
DATA_IN : IN bit_vector(7 DOWNTO 0);
|
||||||
CTSn : in bit;
|
CTSn : IN bit;
|
||||||
TC : in bit_vector(1 downto 0);
|
TC : IN bit_vector(1 DOWNTO 0);
|
||||||
WS : in bit_vector(2 downto 0);
|
WS : IN bit_vector(2 DOWNTO 0);
|
||||||
CDS : in bit_vector(1 downto 0);
|
CDS : IN bit_vector(1 DOWNTO 0);
|
||||||
TXCLK : in bit;
|
TXCLK : IN bit;
|
||||||
TDRE : out bit;
|
TDRE : OUT bit;
|
||||||
TXDATA : out bit
|
TXDATA : OUT bit
|
||||||
);
|
);
|
||||||
end component;
|
END COMPONENT;
|
||||||
signal DATA_IN_I : bit_vector(7 downto 0);
|
|
||||||
signal DATA_RX : bit_vector(7 downto 0);
|
SIGNAL DATA_IN_I : bit_vector(7 DOWNTO 0);
|
||||||
signal DATA_RX_EN : bit;
|
SIGNAL DATA_RX : bit_vector(7 DOWNTO 0);
|
||||||
signal DATA_CTRL : bit_vector(7 downto 0);
|
SIGNAL DATA_RX_EN : bit;
|
||||||
signal DATA_CTRL_EN : bit;
|
SIGNAL DATA_CTRL : bit_vector(7 DOWNTO 0);
|
||||||
signal RDRF_I : bit;
|
SIGNAL DATA_CTRL_EN : bit;
|
||||||
signal TDRE_I : bit;
|
SIGNAL RDRF_I : bit;
|
||||||
signal FE_I : bit;
|
SIGNAL TDRE_I : bit;
|
||||||
signal OVR_I : bit;
|
SIGNAL FE_I : bit;
|
||||||
signal PE_I : bit;
|
SIGNAL OVR_I : bit;
|
||||||
signal MCLR_I : bit;
|
SIGNAL PE_I : bit;
|
||||||
signal CDS_I : bit_vector(1 downto 0);
|
SIGNAL MCLR_I : bit;
|
||||||
signal WS_I : bit_vector(2 downto 0);
|
SIGNAL CDS_I : bit_vector(1 DOWNTO 0);
|
||||||
signal TC_I : bit_vector(1 downto 0);
|
SIGNAL WS_I : bit_vector(2 DOWNTO 0);
|
||||||
signal IRQ_In : bit;
|
SIGNAL TC_I : bit_vector(1 DOWNTO 0);
|
||||||
begin
|
SIGNAL IRQ_In : bit;
|
||||||
|
BEGIN
|
||||||
DATA_IN_I <= To_BitVector(DATA_IN);
|
DATA_IN_I <= To_BitVector(DATA_IN);
|
||||||
DATA_EN <= DATA_RX_EN or DATA_CTRL_EN;
|
DATA_EN <= DATA_RX_EN or DATA_CTRL_EN;
|
||||||
DATA_OUT <= To_StdLogicVector(DATA_RX) when DATA_RX_EN = '1' else
|
DATA_OUT <= To_StdLogicVector(DATA_RX) when DATA_RX_EN = '1' else
|
||||||
@@ -182,7 +183,8 @@ begin
|
|||||||
IRQn <= '0' when IRQ_In = '0' else '1';
|
IRQn <= '0' when IRQ_In = '0' else '1';
|
||||||
|
|
||||||
I_UART_CTRL_STATUS: WF6850IP_CTRL_STATUS
|
I_UART_CTRL_STATUS: WF6850IP_CTRL_STATUS
|
||||||
port map(
|
PORT MAP
|
||||||
|
(
|
||||||
CLK => CLK,
|
CLK => CLK,
|
||||||
RESETn => RESETn,
|
RESETn => RESETn,
|
||||||
CS(2) => CS2n,
|
CS(2) => CS2n,
|
||||||
@@ -210,7 +212,8 @@ begin
|
|||||||
);
|
);
|
||||||
|
|
||||||
I_UART_RECEIVE: WF6850IP_RECEIVE
|
I_UART_RECEIVE: WF6850IP_RECEIVE
|
||||||
port map (
|
PORT MAP
|
||||||
|
(
|
||||||
CLK => CLK,
|
CLK => CLK,
|
||||||
RESETn => RESETn,
|
RESETn => RESETn,
|
||||||
MCLR => MCLR_I,
|
MCLR => MCLR_I,
|
||||||
@@ -233,7 +236,8 @@ begin
|
|||||||
);
|
);
|
||||||
|
|
||||||
I_UART_TRANSMIT: WF6850IP_TRANSMIT
|
I_UART_TRANSMIT: WF6850IP_TRANSMIT
|
||||||
port map (
|
PORT MAP
|
||||||
|
(
|
||||||
CLK => CLK,
|
CLK => CLK,
|
||||||
RESETn => RESETn,
|
RESETn => RESETn,
|
||||||
MCLR => MCLR_I,
|
MCLR => MCLR_I,
|
||||||
@@ -252,4 +256,4 @@ begin
|
|||||||
TXCLK => TXCLK,
|
TXCLK => TXCLK,
|
||||||
TXDATA => TXDATA
|
TXDATA => TXDATA
|
||||||
);
|
);
|
||||||
end architecture STRUCTURE;
|
END ARCHITECTURE structure;
|
||||||
Reference in New Issue
Block a user