亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
国产欧美日韩另类一区| 一区二区国产盗摄色噜噜| 亚洲情趣在线观看| 狠狠狠色丁香婷婷综合久久五月| 成人免费高清视频在线观看| 欧美精品 国产精品| 国产精品私人自拍| 国内精品不卡在线| 欧美日韩免费观看一区二区三区| 欧美激情一区在线| 美腿丝袜亚洲色图| 欧美一区二区日韩| 亚洲精品福利视频网站| 高清久久久久久| 精品美女一区二区三区| 日韩av电影免费观看高清完整版在线观看| www.亚洲国产| 国产精品素人一区二区| 国内成+人亚洲+欧美+综合在线 | 3atv一区二区三区| 亚洲自拍偷拍图区| 欧美性受xxxx| 一区二区三区色| 91免费版在线| 一二三四社区欧美黄| 色综合久久中文字幕综合网| 国产精品三级久久久久三级| 国产一区二区剧情av在线| 精品免费日韩av| 国产一区二区三区国产| 337p粉嫩大胆噜噜噜噜噜91av| 亚洲国产日产av| 91国在线观看| 亚洲大片一区二区三区| 欧美精品 国产精品| 视频一区二区三区入口| 5858s免费视频成人| 日韩制服丝袜先锋影音| 91精品国产综合久久香蕉的特点| 日韩制服丝袜av| 日韩精品中文字幕一区| 国产曰批免费观看久久久| 久久综合久久鬼色中文字| 国产精品一二三四| 国产精品欧美综合在线| 色综合久久88色综合天天6| 亚洲三级在线免费| 欧美精品亚洲二区| 麻豆视频一区二区| 久久久久97国产精华液好用吗| 国产成人精品免费| 亚洲精品国产一区二区精华液| 欧美在线免费播放| 精品一区二区免费看| 欧美极品aⅴ影院| 色94色欧美sute亚洲线路一久| 性欧美大战久久久久久久久| 欧美成人乱码一区二区三区| 高清视频一区二区| 一区二区三区色| 亚洲精品一区二区三区影院| 99久久精品国产麻豆演员表| 日韩黄色免费网站| 亚洲欧洲国产专区| 日韩一区二区三区高清免费看看| 国产精品一品二品| 亚洲视频一二区| 欧美精品第1页| av在线综合网| 激情国产一区二区| 亚洲电影欧美电影有声小说| 国产亚洲精品超碰| 在线播放一区二区三区| 成人精品在线视频观看| 天堂一区二区在线免费观看| 亚洲欧洲无码一区二区三区| 欧美一区二区精品| 91成人网在线| 色女孩综合影院| 国产一区二区三区在线看麻豆 | 26uuu欧美日本| 色综合久久88色综合天天| 日本欧美一区二区| 亚洲激情欧美激情| 日本一区二区三区久久久久久久久不| 欧美丝袜第三区| 99久久久无码国产精品| 国产综合色视频| 日韩 欧美一区二区三区| 亚洲色图欧美激情| 日本一区二区电影| 久久婷婷国产综合精品青草| 欧美精品在线观看一区二区| 欧洲在线/亚洲| 99免费精品视频| 国产九色sp调教91| 久久99国产精品久久| 亚洲国产日韩综合久久精品| 亚洲免费在线电影| 自拍视频在线观看一区二区| 国产日韩欧美一区二区三区乱码 | 激情欧美日韩一区二区| 午夜成人免费视频| 亚洲国产精品人人做人人爽| 亚洲视频在线一区二区| 国产精品久久久爽爽爽麻豆色哟哟| 日韩欧美久久一区| 日韩情涩欧美日韩视频| 91精品国产综合久久婷婷香蕉| 欧美午夜寂寞影院| 精品视频在线免费看| 色哟哟国产精品免费观看| 成人毛片在线观看| 91丝袜国产在线播放| heyzo一本久久综合| 成人ar影院免费观看视频| 99久久99久久精品免费看蜜桃| 欧美日本免费一区二区三区| 欧美专区在线观看一区| 欧美日韩一区三区| 777午夜精品免费视频| 在线播放欧美女士性生活| 日韩一级完整毛片| 精品精品欲导航| 久久久99久久| 自拍偷拍亚洲激情| 亚洲一区二区三区国产| 午夜不卡av免费| 麻豆精品久久精品色综合| 韩国v欧美v日本v亚洲v| 成人免费的视频| 欧美专区日韩专区| 日韩欧美国产高清| 国产精品午夜在线| 亚洲国产成人av好男人在线观看| 丝袜美腿高跟呻吟高潮一区| 久久99国产精品久久99果冻传媒| 国产91丝袜在线播放| 色哟哟国产精品| 91精品国产乱码| 中文字幕精品在线不卡| 亚洲午夜在线视频| 国产在线精品一区二区不卡了 | 精品女同一区二区| 国产偷国产偷精品高清尤物| 亚洲欧洲一区二区在线播放| 亚洲一区二区三区四区的 | 偷拍一区二区三区四区| 国产乱码精品1区2区3区| 色乱码一区二区三区88| 日韩一区二区在线播放| 中文字幕亚洲一区二区av在线| 视频一区二区三区入口| 成人夜色视频网站在线观看| 欧美三级日韩在线| 欧美极品少妇xxxxⅹ高跟鞋 | 成人免费视频播放| 在线综合亚洲欧美在线视频 | 精品国产一区二区在线观看| 中文字幕一区不卡| 黄网站免费久久| 欧美三级三级三级爽爽爽| 国产色产综合色产在线视频| 婷婷中文字幕一区三区| 99精品视频中文字幕| 亚洲精品一区在线观看| 午夜精品aaa| 色哟哟国产精品| 国产日韩精品一区二区三区在线| 日韩主播视频在线| 在线亚洲免费视频| 国产精品乱码人人做人人爱| 精品亚洲国产成人av制服丝袜| 欧美午夜影院一区| 亚洲精品国产成人久久av盗摄| 国产白丝网站精品污在线入口| 日韩一级完整毛片| 日韩影院在线观看| 欧美午夜精品久久久久久孕妇 | 色综合天天综合网国产成人综合天| 欧美va天堂va视频va在线| 日韩高清不卡一区二区| 91久久免费观看| 自拍av一区二区三区| 成人免费视频网站在线观看| 久久婷婷国产综合精品青草| 韩国精品主播一区二区在线观看| 欧美一级二级在线观看| 亚洲成人免费看| 欧美日韩大陆在线| 一区二区三区.www| 欧美中文字幕一区二区三区| 亚洲日本va午夜在线电影| voyeur盗摄精品| 亚洲欧美日本韩国| 色偷偷久久一区二区三区| 1区2区3区精品视频| 91麻豆精品在线观看| 自拍偷拍欧美精品| 欧美亚洲国产bt|