亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? phy_top.vhd

?? The xapp851.zip archive includes the following subdirectories. The specific contents of each subdi
?? VHD
?? 第 1 頁 / 共 2 頁
字號:
-------------------------------------------------------------------------------
-- Copyright (c) 2006 Xilinx, Inc.
-- This design is confidential and proprietary of Xilinx, All Rights Reserved.
-------------------------------------------------------------------------------
--   ____  ____
--  /   /\/   /
-- /___/  \  /   Vendor: Xilinx
-- \   \   \/    Version: 1.1
--  \   \        Filename: phy_top.vhd
--  /   /        Date Last Modified: 5/11/06
-- /___/   /\    Date Created:
-- \   \  /  \
--  \___\/\___\
-- 
--Device: Virtex-5
--Purpose: Top-level for memory "physical-layer" PHY interface. User would
--         instantiate this module (instead of either hwtb_ddr1_top or
--         ddr1_top) if they want to use their own memory controller, and only
--         need to use the physical layer logic (i.e. read data calibration and
--         capture, SDRAM initialization). Contains: (1) All SDRAM-related
--         IOBs, (2) SDRAM initialization logic, (3) write data path, (4) read
--         data path - specifically read data calibration/capture. Also
--         instantiated directly in this file (in addition to the major PHY
--         sub-modules): (1) I/O buffers for data/mask/DQS, (2) shift register
--         delay-chain for internal read enable valid signal.
--Reference:
--    XAPP851
--Revision History:
--    Rev 0.1 - Created. Author: Toshihiko Moriyama. 1/04/06.
--    Rev 1.0 - Internal release. Author: Toshihiko Moriyama. 4/29/06.
--    Rev 1.1 - External release. Added header. Added RST90 support.
--              Renamed OBUFT_DQ instance to OBUFT_DM. Changed CK to
--              vector. 5/11/06.
-------------------------------------------------------------------------------

library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_arith.all;
use IEEE.std_logic_unsigned.all;
use IEEE.std_logic_misc.all;

library unisim ;
use unisim.vcomponents.all ;

library work;
use work.ddr1_parameters.all;


entity phy_top is
port(

	rst				: in	std_logic;
        rst90                   : in    std_logic;
	clk0			: in	std_logic;
	clk90			: in	std_logic;

	-- IO signals (memory interface)
	CKE				: out	std_logic;
	CK				: out	std_logic_vector(clk_width - 1 downto 0);
	AD				: out	std_logic_vector(row_address - 1 downto 0);
	BA				: out	std_logic_vector(bank_address - 1 downto 0);
	CS_n			: out	std_logic_vector(no_of_cs - 1 downto 0);
	RAS_n			: out	std_logic;
	CAS_n			: out	std_logic;
	WE_n			: out	std_logic;
	DM				: out	std_logic_vector(data_mask_width - 1 downto 0);
	DQ				: inout	std_logic_vector(data_width - 1 downto 0);
	DQS				: inout	std_logic_vector(data_strobe_width - 1 downto 0);

	-- UI
	phy_rdy			: out	std_logic;
	phy_error		: out	std_logic;

	phy_addr_in		: in	std_logic_vector(row_address - 1 downto 0);
	phy_bank_in		: in	std_logic_vector(bank_address - 1 downto 0);
	phy_cs_n_in		: in	std_logic_vector(no_of_cs - 1 downto 0);
	phy_ras_n_in	: in	std_logic;
	phy_cas_n_in	: in	std_logic;
	phy_we_n_in		: in	std_logic;

	phy_wr_data_in	: in	std_logic_vector(data_width*2 - 1 downto 0);	-- Input write data with write command
	phy_wr_en_in	: in	std_logic;
	phy_wr_dm_in	: in	std_logic_vector(data_mask_width*2 - 1 downto 0);
	phy_rd_data_o	: out	std_logic_vector(data_width*2 - 1 downto 0);
	phy_rd_valid_o	: out	std_logic
);
end phy_top;

-----------------------------------------------
architecture rtl of phy_top is

	component phy_adr_out is
	port(
	rst		: in	std_logic;
	clk0	: in	std_logic;

	-- internal interface
	addr_in	: in	std_logic_vector(row_address - 1 downto 0);
	bank_in	: in	std_logic_vector(bank_address - 1 downto 0);

	-- Memory interface
	AD		: out	std_logic_vector(row_address - 1 downto 0);
	BA		: out	std_logic_vector(bank_address - 1 downto 0)
	);
	end component;

	component phy_ctrl_out is
	port(
	rst		: in	std_logic;
	clk0		: in	std_logic;

	-- internal interface
	cs_n_in		: in	std_logic_vector(no_of_cs - 1 downto 0);
	ras_n_in	: in	std_logic;
	cas_n_in	: in	std_logic;
	we_n_in		: in	std_logic;

	-- Memory interface
	CS_n		: out	std_logic_vector(no_of_cs - 1 downto 0);
	RAS_n		: out	std_logic;
	CAS_n		: out	std_logic;
	WE_n		: out	std_logic;
	CK		: out	std_logic_vector(clk_width - 1 downto 0)
	);
	end component;

	component phy_data_read is
	port(
	rst				: in	std_logic;
	clk0			: in	std_logic;

	-- internal interface
	rd_data			: out	std_logic_vector(dq_per_dqs*2 - 1 downto 0);
	rd_lat			: out	std_logic_vector(5 downto 0);
	latency			: in	std_logic_vector(3 downto 0);	-- Fixed latency
	rd_en_in		: in	std_logic;	-- from controller

	calib_start0	: in	std_logic;	-- calibration phase 1 starts
	calib_start1	: in	std_logic;	-- calibration phase 2 starts
	calib_done0		: out	std_logic;	-- calibration phase 1 done
	calib_done1		: out	std_logic;	-- calibration phase 2 done
	error			: out	std_logic;

	-- Memory interface
	DQ				: in	std_logic_vector(dq_per_dqs - 1 downto 0);
	DQS				: in	std_logic
	);
	end component;

	component phy_data_write is
	port(
	rst			: in	std_logic;
        rst90           : in    std_logic;
	clk0		: in	std_logic;
	clk90		: in	std_logic;

	-- internal interface
	wr_data		: in	std_logic_vector(dq_per_dqs*2 - 1 downto 0);
	wr_dm		: in	std_logic_vector(1 downto 0);
	wr_en		: in	std_logic;

	-- Memory interface
	DQ			: out	std_logic_vector(dq_per_dqs - 1 downto 0);
	DQ_T		: out	std_logic_vector(dq_per_dqs - 1 downto 0);
	DQS			: out	std_logic_vector(0 downto 0);
	DQS_T		: out	std_logic_vector(0 downto 0);
	DM			: out	std_logic_vector(0 downto 0);
	DM_T		: out	std_logic_vector(0 downto 0)
	);
	end component;

	component phy_init is
	port(
	rst				: in	std_logic;
	clk0			: in	std_logic;

	-- from/to memory
	-- During initialization, PHY controller issues commands
	cke_o			: out	std_logic;
	cs_n_o			: out	std_logic;
	ras_n_o			: out	std_logic;
	cas_n_o			: out	std_logic;
	we_n_o			: out	std_logic;
	addr_o			: out	std_logic_vector(row_address - 1 downto 0);
	bank_o			: out	std_logic_vector(bank_address - 1 downto 0);

	-- internal interface
	init_done		: out	std_logic
	);
	end component;

	component phy_ptn_gen is
	port(
	rst				: in	std_logic;
	clk0			: in	std_logic;

	-- Handshaking signals with controller
	init_done		: in	std_logic;
	calib_start0	: out	std_logic;	-- calib_start
	calib_start1	: out	std_logic;
	calib_done0		: in	std_logic;
	calib_done1		: in	std_logic;
	rd_rdy			: out	std_logic;

	cs_n_o			: out	std_logic;
	ras_n_o			: out	std_logic;
	cas_n_o			: out	std_logic;
	we_n_o			: out	std_logic;
	addr_o			: out	std_logic_vector(row_address - 1 downto 0);
	bank_o			: out	std_logic_vector(bank_address - 1 downto 0);
	wr_data_o		: out	std_logic_vector(data_width*2 - 1 downto 0);
	wr_en_o			: out	std_logic
	);
	end component;

	-- States
	TYPE DDR1_STATE_TYPE is (
	WAIT_INIT_DONE_ST,
	WAIT_CALIB_DONE_ST,
	MAIN_ST
	);

	signal state_c		: DDR1_STATE_TYPE;
	signal state_n		: DDR1_STATE_TYPE;

	signal addr_i		: std_logic_vector(row_address - 1 downto 0);
	signal bank_i		: std_logic_vector(bank_address - 1 downto 0);

	signal cke_i		: std_logic;
	signal cs_n_i		: std_logic_vector(no_of_cs - 1 downto 0);
	signal ras_n_i		: std_logic;
	signal cas_n_i		: std_logic;
	signal we_n_i		: std_logic;

	signal rd_latency	: std_logic_vector(3 downto 0);
	signal rd_en_in_i	: std_logic;
	signal rd_en_brst	: std_logic_vector(3 downto 0);

	signal wr_data_i	: std_logic_vector(data_width*2 - 1 downto 0);
	signal wr_dm_i		: std_logic_vector(data_mask_width*2 - 1 downto 0);
	signal wr_en_i		: std_logic;

	signal calib_start0		: std_logic;
	signal calib_start1		: std_logic;
	signal calib_done0		: std_logic;
	signal calib_done1		: std_logic;
	signal calib_done0_i	: std_logic_vector(no_of_comps*dqs_per_comp - 1 downto 0);
	signal calib_done1_i	: std_logic_vector(no_of_comps*dqs_per_comp - 1 downto 0);
	signal error_i			: std_logic_vector(no_of_comps*dqs_per_comp - 1 downto 0);
	signal rd_rdy			: std_logic;

	type slv6Array is array (no_of_comps*dqs_per_comp - 1 downto 0) of std_logic_vector(5 downto 0);
	signal rd_lat			: slv6Array;
	signal rd_lat8			: std_logic_vector(no_of_comps*dqs_per_comp - 1 downto 0);
	signal rd_lat7			: std_logic_vector(no_of_comps*dqs_per_comp - 1 downto 0);
	signal rd_lat6			: std_logic_vector(no_of_comps*dqs_per_comp - 1 downto 0);
	signal rd_lat5			: std_logic_vector(no_of_comps*dqs_per_comp - 1 downto 0);
	signal rd_lat4			: std_logic_vector(no_of_comps*dqs_per_comp - 1 downto 0);
	signal rd_lat3			: std_logic_vector(no_of_comps*dqs_per_comp - 1 downto 0);

	signal addr_init		: std_logic_vector(row_address - 1 downto 0);
	signal bank_init		: std_logic_vector(bank_address - 1 downto 0);
	signal cke_init			: std_logic;
	signal cs_n_init		: std_logic;
	signal ras_n_init		: std_logic;
	signal cas_n_init		: std_logic;
	signal we_n_init		: std_logic;
	signal init_done_i		: std_logic;

	signal addr_calib		: std_logic_vector(row_address - 1 downto 0);
	signal bank_calib		: std_logic_vector(bank_address - 1 downto 0);
	signal cs_n_calib		: std_logic;
	signal ras_n_calib		: std_logic;
	signal cas_n_calib		: std_logic;
	signal we_n_calib		: std_logic;
	signal wr_data_calib	: std_logic_vector(data_width*2 - 1 downto 0);
	signal wr_en_calib		: std_logic;

	signal phy_rd_data		: std_logic_vector(data_width*2 - 1 downto 0);
	signal phy_wr_data		: std_logic_vector(data_width*2 - 1 downto 0);
	signal phy_wr_dm		: std_logic_vector(data_mask_width*2 - 1 downto 0);

	signal DQ_in			: std_logic_vector(dq_per_comp * no_of_comps - 1 downto 0);
	signal DQ_o				: std_logic_vector(dq_per_comp * no_of_comps - 1 downto 0);
	signal DQ_T_o			: std_logic_vector(dq_per_comp * no_of_comps - 1 downto 0);
	signal DQS_in			: std_logic_vector(dqs_per_comp * no_of_comps - 1 downto 0);
	signal DQS_o			: std_logic_vector(dqs_per_comp * no_of_comps - 1 downto 0);
	signal DQS_T_o			: std_logic_vector(dqs_per_comp * no_of_comps - 1 downto 0);
	signal DM_o				: std_logic_vector(dm_per_comp * no_of_comps - 1 downto 0);
	signal DM_T_o			: std_logic_vector(dm_per_comp * no_of_comps - 1 downto 0);

	signal rd_en_A			: std_logic_vector(3 downto 0);
	signal rd_en_srl		: std_logic;
	signal phy_rdy_i		: std_logic;

	signal burst_length		: std_logic_vector(2 downto 0);
	signal command			: std_logic_vector(3 downto 0);	-- CS_n & RAS_n & CAS_n & WE_n
	-- commands used in init phase
	constant DESEL_CMD		: std_logic_vector(3 downto 0) := "1111";
	constant NOP_CMD		: std_logic_vector(3 downto 0) := "0111";
	constant BSTP_CMD		: std_logic_vector(3 downto 0) := "0110";
	constant PRECHARGE_CMD	: std_logic_vector(3 downto 0) := "0010";
	constant AUTOREF_CMD	: std_logic_vector(3 downto 0) := "0001";
	constant LMR_CMD		: std_logic_vector(3 downto 0) := "0000";
	constant ACT_CMD		: std_logic_vector(3 downto 0) := "0011";
	constant RD_CMD			: std_logic_vector(3 downto 0) := "0101";	-- not auto precharge
	constant WR_CMD			: std_logic_vector(3 downto 0) := "0100";	-- not auto precharge

begin

	burst_length <= load_mode_register(2 downto 0);

	G_DQ : for I in 0 to no_of_comps * dq_per_comp - 1 generate

	IOBUF_DQ : IOBUF
	port map (
	IO => DQ(I), O=> DQ_in(I), I => DQ_o(I), T => DQ_T_o(I)
	);

	end generate;

	G_DQS : for I in 0 to no_of_comps * dqs_per_comp - 1 generate

	IOBUF_DQS : IOBUF
	port map (
	IO => DQS(I), O => DQS_in(I), I => DQS_o(I), T => DQS_T_o(I)
	);

	end generate;

	G_DM : for I in 0 to no_of_comps * dm_per_comp - 1 generate

	OBUFT_DM : OBUFT
	port map (
	O => DM(I), I => DM_o(I), T => DM_T_o(I)
	);
	end generate;

	CKE <= cke_i;
	phy_rdy <= phy_rdy_i;

	-------------------------------------------------------
	--	DDR1 memory controller initialization state machine
	-------------------------------------------------------
	P_SM_NEXT : process(clk0)
	begin
	if clk0'event and clk0='1' then
		if rst = '1' then

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩精品一区二区三区中文不卡| 欧美丰满美乳xxx高潮www| 久久精品国产免费| 亚洲成人激情自拍| 亚洲国产精品一区二区久久恐怖片| 中文字幕精品一区| 久久―日本道色综合久久| 欧美一级理论性理论a| 欧美三级日本三级少妇99| 欧美最猛性xxxxx直播| 欧美在线短视频| 91久久免费观看| 欧美日韩一二区| 欧美精品久久久久久久久老牛影院 | av电影天堂一区二区在线观看| 国产资源在线一区| 成人性生交大片免费看中文| 成人免费高清在线观看| 色哟哟一区二区在线观看| 色噜噜狠狠成人中文综合| 欧美视频三区在线播放| 69成人精品免费视频| 欧美电影免费观看完整版| 久久精品人人做人人爽人人| 亚洲私人黄色宅男| 日日摸夜夜添夜夜添精品视频 | 亚洲国产日产av| 亚洲欧美日韩在线| 亚洲一二三级电影| 国产乱人伦精品一区二区在线观看 | 国产盗摄一区二区| 亚洲免费在线观看视频| 欧美精品vⅰdeose4hd| 丰满少妇久久久久久久| 丝袜亚洲另类欧美| 亚洲品质自拍视频| 久久久久国产精品厨房| 欧美精品自拍偷拍动漫精品| 波多野结衣中文字幕一区 | 精品国产伦一区二区三区观看体验 | 97精品国产97久久久久久久久久久久 | 成人丝袜高跟foot| 国产一区二区在线电影| 亚洲猫色日本管| 国产精品久久久久久久久快鸭| 91精品一区二区三区久久久久久| www.成人网.com| 国产精品亚洲一区二区三区在线| 五月激情综合网| 亚洲国产一二三| 一区二区成人在线| 一区二区国产视频| 一区二区三区美女| 亚洲一区视频在线观看视频| 国产精品福利影院| 国产精品久久久久久久久晋中| 久久看人人爽人人| 欧美高清在线一区| 亚洲欧美色一区| 一区二区三区精品| 日日摸夜夜添夜夜添亚洲女人| 性久久久久久久久| 久久91精品国产91久久小草| 麻豆成人免费电影| 韩国在线一区二区| 国产精品一级片| 色嗨嗨av一区二区三区| 欧美日韩精品二区第二页| 日韩欧美一区在线观看| 国产免费成人在线视频| 亚洲女子a中天字幕| 美腿丝袜在线亚洲一区 | 国产精品资源在线| 国v精品久久久网| 在线免费观看成人短视频| 欧美日韩国产大片| 欧美激情一区二区三区全黄| 一区二区三区四区在线| 青青草国产精品亚洲专区无| 国产99久久久国产精品免费看| 91美女视频网站| 日韩精品一区二区三区在线观看 | 日韩美女一区二区三区四区| 国产人妖乱国产精品人妖| 精品欧美乱码久久久久久| 成人动漫av在线| 欧美精品一级二级三级| 国产亚洲精品免费| 裸体一区二区三区| 色婷婷久久久亚洲一区二区三区| 久久人人超碰精品| 麻豆国产精品视频| 欧美男男青年gay1069videost| 国产精品免费av| 国产乱码精品一区二区三区五月婷| 欧美精品一级二级三级| 亚洲精品免费一二三区| 成人精品在线视频观看| 中文字幕av一区二区三区| 韩国精品主播一区二区在线观看| 日韩午夜在线观看| 免费一级片91| www欧美成人18+| 麻豆国产精品官网| 精品国产乱码久久久久久免费| 首页综合国产亚洲丝袜| 91精品国产综合久久精品麻豆 | 欧美精品一区二区三区很污很色的| 午夜精品久久久久久| 欧美一区二区三区在| 裸体健美xxxx欧美裸体表演| 日韩欧美久久一区| 国产成人夜色高潮福利影视| 国产日韩精品一区| 91蜜桃免费观看视频| 日本va欧美va瓶| 久久久国产综合精品女国产盗摄| 福利一区福利二区| 亚洲综合久久久| 欧美大片国产精品| voyeur盗摄精品| 麻豆一区二区三区| 国产精品国产三级国产aⅴ入口| 色视频欧美一区二区三区| 免费一级片91| 亚洲人成小说网站色在线| 欧美一级片免费看| 99久久精品久久久久久清纯| 免费观看久久久4p| 一区二区三区中文免费| 国产亚洲欧洲一区高清在线观看| 91麻豆免费看| 国产一区二区三区观看| 亚洲在线视频免费观看| 欧美国产日韩a欧美在线观看| 欧美日韩精品欧美日韩精品一 | 国产精品视频九色porn| 欧美一级一级性生活免费录像| 成人午夜电影久久影院| 久久精品国产免费看久久精品| 亚洲午夜电影在线观看| 欧美国产禁国产网站cc| 国产亚洲精品中文字幕| 精品人伦一区二区色婷婷| 日韩欧美在线综合网| 欧美一区二区三区免费在线看 | 欧美喷水一区二区| 欧美日韩视频专区在线播放| 91蝌蚪porny成人天涯| 99精品视频中文字幕| 成人sese在线| 色综合一区二区| 欧美色图片你懂的| 欧美伊人久久久久久午夜久久久久| 99久久久免费精品国产一区二区 | 爽爽淫人综合网网站| 欧美精品一区二区三区蜜桃| 欧美日韩久久一区| 777精品伊人久久久久大香线蕉| 欧美日韩亚洲综合一区二区三区| 色天天综合久久久久综合片| 在线观看精品一区| 日韩欧美国产麻豆| 国产清纯美女被跳蛋高潮一区二区久久w | 久久久久国色av免费看影院| 国产性天天综合网| 国产精品久久久久久久第一福利| 亚洲欧美二区三区| 蜜桃久久av一区| 99久久精品国产精品久久| 色呦呦日韩精品| 日韩精品一区二区三区蜜臀| 国产精品国产三级国产有无不卡 | 日本精品一级二级| 精品久久国产老人久久综合| 中文字幕亚洲区| 视频一区国产视频| 色综合一个色综合亚洲| 精品久久久久久久久久久久久久久 | 精品一区免费av| 欧美色精品天天在线观看视频| 日韩欧美一区二区不卡| 亚洲欧美日韩系列| 国产91在线|亚洲| 欧美一区二区免费视频| 夜夜精品视频一区二区| youjizz久久| 国产精品无遮挡| 国产suv精品一区二区三区| 欧美精品乱人伦久久久久久| 亚洲视频1区2区| 成人性生交大片免费看中文| 亚洲精品在线网站| 青娱乐精品在线视频| 91精品欧美久久久久久动漫| 亚洲一区欧美一区| 日本电影欧美片| 亚洲国产精品影院| 欧美日韩综合色| 日韩av一区二区三区|