?? uart_top_rtl.vhd
字號:
-- hds header_start
--
-- VHDL Architecture UART_TXT.uart_top.symbol
--
-- Created:
-- by - user.group (host.domain)
-- at - 19:09:51 28 Aug 2001
--
-- Generated by Mentor Graphics' HDL Designer(TM)
--
-- hds header_end
LIBRARY ieee;
USE ieee.std_logic_1164.all;
USE ieee.std_logic_arith.all;
ENTITY uart_top IS
PORT(
-- 3-bit address bus
addr : IN std_logic_vector (2 DOWNTO 0);
clk : IN std_logic; -- 10 MHz clock
cs : IN std_logic; -- chip select
-- 8-bit data in bus from cpu
data_in : IN std_logic_vector (7 DOWNTO 0);
nrw : IN std_logic; -- read(0), write(1)
rst : IN std_logic; -- reset(0)
sin : IN std_logic; -- serial input
-- 8-bit data out bus to cpu
data_out : OUT std_logic_vector (7 DOWNTO 0);
int : OUT std_logic; -- interrupt (1)
sout : OUT std_logic -- serial output
);
-- Declarations
END uart_top ;
-- hds interface_end
LIBRARY UART_TXT;
ARCHITECTURE rtl OF uart_top IS
-- Architecture declarations
-- Internal signal declarations
SIGNAL clear_flags : std_logic;
SIGNAL clk_div_en : std_logic;
SIGNAL clr_int_en : std_logic;
SIGNAL div_data : std_logic_vector(7 DOWNTO 0);
SIGNAL enable_rcv_clk : std_logic;
SIGNAL enable_write : std_logic;
SIGNAL enable_xmit_clk : std_logic;
SIGNAL sample : std_logic;
SIGNAL ser_if_data : std_logic_vector(7 DOWNTO 0);
SIGNAL ser_if_select : std_logic_vector(1 DOWNTO 0);
SIGNAL start_xmit : std_logic;
SIGNAL xmitdt_en : std_logic;
-- Component Declarations
COMPONENT address_decode
PORT (
addr : IN std_logic_vector (2 DOWNTO 0);
clk_div_en : OUT std_logic ;
clr_int_en : OUT std_logic ;
ser_if_select : OUT std_logic_vector (1 DOWNTO 0);
xmitdt_en : OUT std_logic
);
END COMPONENT;
COMPONENT clock_divider
PORT (
addr : IN std_logic ;
clk : IN std_logic ;
clk_div_en : IN std_logic ;
data_in : IN std_logic_vector (7 DOWNTO 0);
enable_rcv_clk : IN std_logic ;
enable_write : IN std_logic ;
enable_xmit_clk : IN std_logic ;
rst : IN std_logic ;
div_data : OUT std_logic_vector (7 DOWNTO 0);
sample : OUT std_logic
);
END COMPONENT;
COMPONENT cpu_interface
PORT (
clk : IN std_logic ;
clk_div_en : IN std_logic ;
clr_int_en : IN std_logic ;
cs : IN std_logic ;
div_data : IN std_logic_vector (7 DOWNTO 0);
nrw : IN std_logic ;
rst : IN std_logic ;
ser_if_data : IN std_logic_vector (7 DOWNTO 0);
xmitdt_en : IN std_logic ;
clear_flags : OUT std_logic ;
data_out : OUT std_logic_vector (7 DOWNTO 0);
enable_write : OUT std_logic ;
start_xmit : OUT std_logic
);
END COMPONENT;
COMPONENT serial_interface
PORT (
clear_flags : IN std_logic ;
clk : IN std_logic ;
data_in : IN std_logic_vector (7 DOWNTO 0);
enable_write : IN std_logic ;
rst : IN std_logic ;
sample : IN std_logic ;
ser_if_select : IN std_logic_vector (1 DOWNTO 0);
sin : IN std_logic ;
start_xmit : IN std_logic ;
xmitdt_en : IN std_logic ;
enable_rcv_clk : OUT std_logic ;
enable_xmit_clk : OUT std_logic ;
int : OUT std_logic ;
ser_if_data : OUT std_logic_vector (7 DOWNTO 0);
sout : OUT std_logic
);
END COMPONENT;
-- Optional embedded configurations
-- pragma synthesis_off
FOR ALL : address_decode USE ENTITY UART_TXT.address_decode;
FOR ALL : cpu_interface USE ENTITY UART_TXT.cpu_interface;
FOR ALL : serial_interface USE ENTITY UART_TXT.serial_interface;
-- pragma synthesis_on
BEGIN
-- Instance port mappings.
I3 : address_decode
PORT MAP (
addr => addr,
clk_div_en => clk_div_en,
clr_int_en => clr_int_en,
ser_if_select => ser_if_select,
xmitdt_en => xmitdt_en
);
I2 : clock_divider
PORT MAP (
addr => addr(0),
clk => clk,
clk_div_en => clk_div_en,
data_in => data_in,
enable_rcv_clk => enable_rcv_clk,
enable_write => enable_write,
enable_xmit_clk => enable_xmit_clk,
rst => rst,
div_data => div_data,
sample => sample
);
I1 : cpu_interface
PORT MAP (
clk => clk,
clk_div_en => clk_div_en,
clr_int_en => clr_int_en,
cs => cs,
div_data => div_data,
nrw => nrw,
rst => rst,
ser_if_data => ser_if_data,
xmitdt_en => xmitdt_en,
clear_flags => clear_flags,
data_out => data_out,
enable_write => enable_write,
start_xmit => start_xmit
);
I4 : serial_interface
PORT MAP (
clear_flags => clear_flags,
clk => clk,
data_in => data_in,
enable_write => enable_write,
rst => rst,
sample => sample,
ser_if_select => ser_if_select,
sin => sin,
start_xmit => start_xmit,
xmitdt_en => xmitdt_en,
enable_rcv_clk => enable_rcv_clk,
enable_xmit_clk => enable_xmit_clk,
int => int,
ser_if_data => ser_if_data,
sout => sout
);
END rtl;
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -