⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tb_rs232.vhd

📁 Working RS232 controller running at 9600 Hz. Consist of Transmitter and Receiver Module. Tested i
💻 VHD
字号:
library ieee;use ieee.std_logic_1164.all;entity tb_TopLevelRS232 isend tb_TopLevelRS232;architecture behav of tb_TopLevelRS232 iscomponent TopLevelRS232port( Reset, Send, Rxd: in std_logic;		SystemClock: in std_logic;		DataIn: in std_logic_vector (7 downto 0);		An: out std_logic_vector (3 downto 0);		Ca, Cb, Cc, Cd, Ce, Cf, Cg, Dp: out std_logic;		Txd: out std_logic;		RxdData: out std_logic_vector (7 downto 0));end component;signal tb_reset, tb_send, tb_rxd, tb_systemclock : std_logic;signal tb_DataIn : std_logic_vector(7 downto 0) ;signal tb_an : std_logic_vector (3 downto 0);signal tb_ca, tb_cb, tb_cc, tb_cd, tb_ce, tb_cf, tb_cg, tb_dp :std_logic;signal tb_txd : std_logic;signal tb_RxdData : std_logic_vector (7 downto 0);constant period : time := 6.5 us;begin-- unit under testUUT : TopLevelRS232 port map(					Reset=>tb_reset,					Send=>tb_send,					Rxd=>tb_rxd,					SystemClock=>tb_systemclock,					DataIn=>tb_dataIn,					An=>tb_an,					Ca=>tb_ca,					Cb=>tb_cb,					Cc=>tb_cc,					Cd=>tb_cd,					Ce=>tb_ce,					Cf=>tb_cf,					Cg=>tb_cg,					Dp=>tb_dp,					Txd=>tb_txd,					RxdData=>tb_RxdData);					-- produce clock signalprocessbegin	tb_systemclock <= '1';wait for period/2;	tb_systemclock <= '0';wait for period/2;end process;-- produce reset signalprocessbegintb_reset <= '1';wait for 1.5*period;tb_reset <= '0';wait;end process;-- produce data receivedprocessbegin	tb_rxd <= '1';wait for 5.5*period;	tb_rxd <= '0'; -- Start bitwait for 16*period;	tb_rxd <= '0'; -- Bit 0wait for 16*period;	tb_rxd <= '1'; -- Bit 1wait for 16*period;	tb_rxd <= '0'; -- Bit 2wait for 16*period;	tb_rxd <= '0'; -- Bit 3wait for 16*period;	tb_rxd <= '0'; -- Bit 4wait for 16*period;	tb_rxd <= '1'; -- Bit 5wait for 16*period;	tb_rxd <= '1'; -- Bit 6wait for 16*period;	tb_rxd <= '0'; -- Bit 7wait for 16*period;	tb_rxd <= '1'; -- Stop bitwait for 16*period;	tb_rxd <= '0'; -- Start bitwait for 16*period;	tb_rxd <= '0'; -- Bit 0wait for 16*period;	tb_rxd <= '1'; -- Bit 1wait for 16*period;	tb_rxd <= '0'; -- Bit 2wait for 16*period;	tb_rxd <= '0'; -- Bit 3wait for 16*period;	tb_rxd <= '0'; -- Bit 4wait for 16*period;	tb_rxd <= '1'; -- Bit 5wait for 16*period;	tb_rxd <= '1'; -- Bit 6wait for 16*period;	tb_rxd <= '1'; -- Bit 7wait for 16*period;	tb_rxd <= '1'; -- Stop bitwait for 16*period;	tb_rxd <= '0'; -- Start bitwait for 16*period;	tb_rxd <= '0'; -- Bit 0wait for 16*period;	tb_rxd <= '1'; -- Bit 1wait for 16*period;	tb_rxd <= '0'; -- Bit 2wait for 16*period;	tb_rxd <= '0'; -- Bit 3wait for 16*period;	tb_rxd <= '0'; -- Bit 4wait for 16*period;	tb_rxd <= '1'; -- Bit 5wait for 16*period;	tb_rxd <= '1'; -- Bit 6wait for 16*period;	tb_rxd <= '0'; -- Bit 7wait for 16*period;	tb_rxd <= '1'; -- Stop bitwait for 16*period;wait;end process;-- produce Send signalprocessbegin	tb_send <= '0';wait for 200*period;	tb_send <= '1';	wait for 160*period;	tb_send <= '0';	wait for 64*period;	tb_send <= '1';	wait for 160 period;	tb_send <= '0';wait for period;wait;end process;-- produce data to be transmittedprocessbegin	tb_dataIn <= x"62";wait for 360*period;	tb_dataIn <= x"28";wait;end process;end behav;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -