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

📄 adc_interface_tb.vhd

📁 Serial ADC Interface write in VHDL based on xilinx cpld
💻 VHD
字号:
-- **************************************************************
--
-- Owner:	Xilinx Inc.
-- File:  	adc_interface_tb.vhd
--
-- Purpose: 	Test bench for ADC_INTERFACE entity.  Checks that
--		data is sent to ADC from configure registers.  Simulates
--		Dout from ADC is = '1';
--
-- **************************************************************

library ieee;
use IEEE.std_logic_1164.all;

entity ADC_INTERFACE_TB is 
end ADC_INTERFACE_TB;


architecture BEHAVIOR of ADC_INTERFACE_TB is

-- ********************** CONSTANT DECLARATIONS *********************
constant 	RESET_ACTIVE 		: 	STD_LOGIC := '0';

constant	CLOCK_PERIOD		:	time	:= 400 nS;
constant	HALFCLOCKPERIOD 	:	time	:= 200 nS;
constant	CLOCKSKEW		:	time	:= 5500 pS;
constant	CLK2QDELAY		:	time	:= 5 nS;
constant	CLKOUTDELAY		:	time	:= 3 nS;


-- ************************ SIGNAL DECLARATIONS **********************
signal Cclk	: STD_LOGIC := '0';
signal Sclk 	: STD_LOGIC;
signal Dout	: STD_LOGIC;
signal busy	: STD_LOGIC; 
signal Din, AD_CHIP2_ENn, busy_test, ADS_reset, RISE_FALL, CONVERT, OSC_CNTRL : STD_LOGIC;

signal ADC_DATA			: STD_LOGIC_vector(15 downto 0);
signal Reset_Button		: STD_LOGIC;
signal Mux_Sel			: STD_LOGIC;
signal statemachine_sram_enn	: STD_LOGIC;
signal statemachine_we		: STD_LOGIC;
signal statemachine_oe		: STD_LOGIC;
signal SM_WE			: STD_LOGIC;
signal SM_ADDRESS		: STD_LOGIC_VECTOR(22 DOWNTO 0);


-- ************************* COMPONENT DECLARATIONS ********************

component ADC_INTERFACE
	port(
	
		--ADS7870 Signals 
		Cclk			:  in	 STD_LOGIC;
		Sclk			:  inout STD_LOGIC;
		Din			:  out STD_LOGIC;
		Dout			:  in  STD_LOGIC;
		AD_CHIP2_ENn		:  out STD_LOGIC;
		busy			:  in  STD_LOGIC;
		busy_test		:  out STD_LOGIC;
		ADS_reset		:  out STD_LOGIC;
		RISE_FALL 		:  out STD_LOGIC;
		CONVERT 	 	:  out STD_LOGIC;
		OSC_CNTRL 		:  out STD_LOGIC;

		-- Miscellaneous Signals
		ADC_DATA		:  out STD_LOGIC_vector(15 downto 0);
		Reset_Button		:  in  STD_LOGIC;


		-- StateMachine Specific Signals
		Mux_Sel			:  out STD_LOGIC;
		statemachine_sram_enn	:  inout STD_LOGIC;
		statemachine_we		:  inout STD_LOGIC;
		statemachine_oe		:  out STD_LOGIC;
		SM_ADDRESS		:  inout STD_LOGIC_VECTOR(22 DOWNTO 0);
		SM_WE			:  out STD_LOGIC
		
	   );


end component;

begin

	-- ********************** COMPONENT DEFINITION *****************
	
	SM : ADC_INTERFACE
	port map (
	
		--ADS7870 Signals 
		Cclk			=> Cclk,
		Sclk			=> Sclk,
		Din			=> Din,
		Dout			=> Dout,
		AD_CHIP2_ENn		=> AD_CHIP2_Enn,
		busy			=> busy,
		busy_test		=> busy_test,
		ADS_reset		=> ADS_reset,
		RISE_FALL 		=> RISE_FALL,
		CONVERT 	 	=> CONVERT,
		OSC_CNTRL 		=> OSC_CNTRL,

		-- Miscellaneous Signals
		ADC_DATA		=> ADC_DATA,
		Reset_Button		=> Reset_Button,


		-- StateMachine Specific Signals
		Mux_Sel			=> Mux_Sel,
		statemachine_sram_enn	=> statemachine_sram_enn,
		statemachine_we		=> statemachine_we,
		statemachine_oe		=> statemachine_oe,
		SM_ADDRESS		=> SM_ADDRESS,
		SM_WE			=> SM_WE );

 
	dout <= '1';
 
	-- ******************** Process: GEN_CLOCK ********************
	-- Generate 2.5 MHz clock from ADC
	GEN_CLOCK: process
	begin

		Cclk <= '0';
		wait for 800 nS;

		loop
			Cclk <= not(Cclk) after CLOCKSKEW;
			wait for HALFCLOCKPERIOD;

		end loop;

	end process GEN_CLOCK;


	-- ******************** Process: GEN_RESET ********************
	-- Generate RESET_BUTTON
	GEN_RESET: process
	begin
		Reset_Button <= '1';
		wait for 200 nS;

		Reset_Button <= '0';
		wait for 400 nS;
		
		Reset_Button <= '1';
		wait;

	end process GEN_RESET;
	

end BEHAVIOR;























⌨️ 快捷键说明

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