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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? pdiusbd12_package.vhd

?? fpga介紹及其相關(guān)實驗代碼等等,fpga介紹及其相關(guān)實驗代碼
?? VHD
字號:
---------------------------------------------------------------------------------------------------
--
-- File        : PDIUSBD12_PACKAGE.vhd
-- Create Time : Fri Apr 16 20:39:30 2004
-- Title       : PDIUSBD12_PACKAGE
-- Design      : USB Interface IP Core
-- Author      : Lou Xinghua (louxinghua99@mails.tsinghua.edu.cn)
-- Company     : Department of Engineering Physics in Tsinghua Unversity, Beijing, China
-- Version     : 1.0
--
---------------------------------------------------------------------------------------------------
--
-- Description : 
-- USB Package, where device detail information included.
-- Written by Lou Xinghua	
--
---------------------------------------------------------------------------------------------------


library IEEE;
use IEEE.STD_LOGIC_1164.all;
use IEEE.STD_LOGIC_UNSIGNED.all;
use WORK.USB_PACKAGE.all;



package PDIUSBD12_PACKAGE is	   

---------------------------------------------------------------------------------------------------
-- State Machine
---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------
-- PDIUSBD12 Device Constant
---------------------------------------------------------------------------------------------------

-- Constant
constant CLOCK_DIV_FACTOR: INTEGER8 := 15;	  
constant PULSE_WIDTH_FACTOR: INTEGER8 := 32; 
constant RESET_D12_DELAY: INTEGER range 0 to 10000 := 3;

-- A0 Values
constant D12_COMMAND: STD_LOGIC := '1';
constant D12_DATA: STD_LOGIC := '0';

-- D12 Command														  
constant D12_COMMAND_ENABLE_ADDRESS: STD_LOGIC_VECTOR(7 downto 0) := X"D0"; 
constant D12_COMMAND_ENABLE_ENDPOINT: STD_LOGIC_VECTOR(7 downto 0) := X"D8";
constant D12_COMMAND_SET_MODE: STD_LOGIC_VECTOR(7 downto 0) := X"F3";
constant D12_COMMAND_SET_DMA: STD_LOGIC_VECTOR(7 downto 0) := X"FB";
constant D12_COMMAND_READ_IR: STD_LOGIC_VECTOR(7 downto 0) := X"FB";
constant D12_COMMAND_SEL_EP0_OUT: STD_LOGIC_VECTOR(7 downto 0) := X"00";
constant D12_COMMAND_SEL_EP0_IN: STD_LOGIC_VECTOR(7 downto 0) := X"01";
constant D12_COMMAND_SEL_EP1_OUT: STD_LOGIC_VECTOR(7 downto 0) := X"02";
constant D12_COMMAND_SEL_EP1_IN: STD_LOGIC_VECTOR(7 downto 0) := X"03";
constant D12_COMMAND_SEL_EP2_OUT: STD_LOGIC_VECTOR(7 downto 0) := X"04";
constant D12_COMMAND_SEL_EP2_IN: STD_LOGIC_VECTOR(7 downto 0) := X"05";
constant D12_COMMAND_READ_LTS_EP0_OUT: STD_LOGIC_VECTOR(7 downto 0) := X"40";
constant D12_COMMAND_READ_LTS_EP0_IN: STD_LOGIC_VECTOR(7 downto 0) := X"41";
constant D12_COMMAND_READ_LTS_EP1_OUT: STD_LOGIC_VECTOR(7 downto 0) := X"42";
constant D12_COMMAND_READ_LTS_EP1_IN: STD_LOGIC_VECTOR(7 downto 0) := X"43";
constant D12_COMMAND_READ_LTS_EP2_OUT: STD_LOGIC_VECTOR(7 downto 0) := X"44";
constant D12_COMMAND_READ_LTS_EP2_IN: STD_LOGIC_VECTOR(7 downto 0) := X"45";
constant D12_COMMAND_RW_BUFFER: STD_LOGIC_VECTOR(7 downto 0) := X"F0"; 
constant D12_COMMAND_ACK_SETUP: STD_LOGIC_VECTOR(7 downto 0) := X"F0";
constant D12_COMMAND_CLEAR_EP_BUFFER: STD_LOGIC_VECTOR(7 downto 0) := X"F0";   
constant D12_COMMAND_ENABLE_BUFFER: STD_LOGIC_VECTOR(7 downto 0) := X"FA";  

-- D12 Configuration 
constant D12_DMA:STD_LOGIC_VECTOR(7 downto 0) := X"C0";
constant D12_MODE_CONFIG:STD_LOGIC_VECTOR(7 downto 0) := X"12";
constant D12_MODE_CLOCK_DIV:STD_LOGIC_VECTOR(7 downto 0) := X"43";

-- D12 Constants
constant D12_NOLAZYCLOCK: STD_LOGIC_VECTOR(7 downto 0) := X"02";
constant D12_CLOCKRUNNING: STD_LOGIC_VECTOR(7 downto 0) := X"04";
constant D12_INTERRUPTMODE: STD_LOGIC_VECTOR(7 downto 0) := X"08";
constant D12_SOFTCONNECT: STD_LOGIC_VECTOR(7 downto 0) := X"10";
constant D12_ENDP_NONISO: STD_LOGIC_VECTOR(7 downto 0) := X"00";
constant D12_ENDP_ISOOUT: STD_LOGIC_VECTOR(7 downto 0) := X"40";
constant D12_ENDP_ISOIN: STD_LOGIC_VECTOR(7 downto 0) := X"80";
constant D12_ENDP_ISOIO: STD_LOGIC_VECTOR(7 downto 0) := X"C0";

constant D12_CLOCK_12M: STD_LOGIC_VECTOR(7 downto 0) := X"03";
constant D12_CLOCK_4M: STD_LOGIC_VECTOR(7 downto 0) := X"0B";
constant D12_SETTOONE: STD_LOGIC_VECTOR(7 downto 0) := X"40";
constant D12_SOFONLY: STD_LOGIC_VECTOR(7 downto 0) := X"80";

constant D12_DMASINGLE: STD_LOGIC_VECTOR(7 downto 0) := X"00";
constant D12_BURST_4: STD_LOGIC_VECTOR(7 downto 0) := X"01";
constant D12_BURST_8: STD_LOGIC_VECTOR(7 downto 0) := X"02";
constant D12_BURST_16: STD_LOGIC_VECTOR(7 downto 0) := X"03";
constant D12_DMAENABLE: STD_LOGIC_VECTOR(7 downto 0) := X"04";
constant D12_DMA_INTOKEN: STD_LOGIC_VECTOR(7 downto 0) := X"08";
constant D12_AUTOLOAD: STD_LOGIC_VECTOR(7 downto 0) := X"10";
constant D12_NORMALPLUSSOF: STD_LOGIC_VECTOR(7 downto 0) := X"20";
constant D12_ENDP4INTENABLE: STD_LOGIC_VECTOR(7 downto 0) := X"40";
constant D12_ENDP5INTENABLE: STD_LOGIC_VECTOR(7 downto 0) := X"80";

constant D12_INT_ENDPOINT0_OUT: STD_LOGIC_VECTOR(7 downto 0) := X"01";
constant D12_INT_ENDPOINT0_IN: STD_LOGIC_VECTOR(7 downto 0) := X"02";
constant D12_INT_ENDPOINT1_OUT: STD_LOGIC_VECTOR(7 downto 0) := X"04";
constant D12_INT_ENDPOINT1_IN: STD_LOGIC_VECTOR(7 downto 0) := X"08";
constant D12_INT_ENDPOINT2_OUT: STD_LOGIC_VECTOR(7 downto 0) := X"10";
constant D12_INT_ENDPOINT2_IN: STD_LOGIC_VECTOR(7 downto 0) := X"20";
constant D12_INT_BUSRESET: STD_LOGIC_VECTOR(7 downto 0) := X"40";
constant D12_INT_SUSPENDCHANGE: STD_LOGIC_VECTOR(7 downto 0) := X"80";
constant D12_INT_EOT: STD_LOGIC_VECTOR(7 downto 0) := X"01";

constant D12_SETUPPACKET_BIT: INTEGER8 := 5;

constant D12_BUFFER0FULL: STD_LOGIC_VECTOR(7 downto 0) := X"20";
constant D12_BUFFER1FULL: STD_LOGIC_VECTOR(7 downto 0) := X"40";

constant D12_FULLEMPTY: STD_LOGIC_VECTOR(7 downto 0) := X"01";
constant D12_STALL: STD_LOGIC_VECTOR(7 downto 0) := X"02"; 

---------------------------------------------------------------------------------------------------
-- PDIUSBD12 Device Config Data
---------------------------------------------------------------------------------------------------
constant D12_CONNECT_DATA: REG8x8:=
(
	D12_COMMAND_SET_DMA,
	D12_DMA,
	D12_COMMAND_SET_MODE,
	D12_MODE_CONFIG,
	D12_MODE_CLOCK_DIV,
	others => X"00"
); 
constant D12_CONNECT_DATA_TYPE: REG8x1:=
( 
	D12_COMMAND,
	D12_DATA, 
	D12_COMMAND,
	D12_DATA, 
	D12_DATA,
	others => '0'
);	
constant D12_CONNECT_DATA_LENGTH: INTEGER8 := 5;  

constant D12_EP0_ACK_DATA: REG8x8:=
(
	D12_COMMAND_SEL_EP0_OUT,
	D12_COMMAND_ACK_SETUP,
	D12_COMMAND_CLEAR_EP_BUFFER,
	D12_COMMAND_SEL_EP0_IN,
	D12_COMMAND_ACK_SETUP,
	others => X"00"
); 
constant D12_EP0_ACK_DATA_LENGTH: INTEGER8 := 5;
constant ep0_ack_data: REG8x8 := D12_EP0_ACK_DATA;

-- functions & procedures

function GetInterruptHandler(ir_0: STD_LOGIC_VECTOR(7 downto 0); ir_1: STD_LOGIC)
return TRANSEIVER_STATE;

function GetCommandHandler(cmd: STD_LOGIC_VECTOR(7 downto 0))
return TRANSEIVER_STATE;

function GetDataLength(w_high: STD_LOGIC_VECTOR(7 downto 0); w_low: STD_LOGIC_VECTOR(7 downto 0))
return INTEGER8;


end PDIUSBD12_PACKAGE;
--}} End of automatically maintained section

package body PDIUSBD12_PACKAGE is

	-- functions & procedures	
	function GetInterruptHandler(ir_0: STD_LOGIC_VECTOR(7 downto 0); ir_1: STD_LOGIC)
	return TRANSEIVER_STATE is
	variable check: STD_LOGIC_VECTOR(7 downto 0); 
	variable return_state: TRANSEIVER_STATE;
	begin
		return_state:= TS_IDLE;
		
		check := ir_0 and D12_INT_ENDPOINT0_OUT;
		if check = D12_INT_ENDPOINT0_OUT then 
			return_state:= TS_EP0_RECEIVE;
		end if;
		
		check := ir_0 and D12_INT_ENDPOINT0_IN;
		if check = D12_INT_ENDPOINT0_IN then 
			return_state:= TS_EP0_TRANSMIT;
		end if;

		check := ir_0 and D12_INT_ENDPOINT2_OUT;
		if check = D12_INT_ENDPOINT2_OUT then 
			return_state:= TS_EP2_RECEIVE;
		end if;
		
		check := ir_0 and D12_INT_ENDPOINT2_IN;
		if check = D12_INT_ENDPOINT2_IN then 
			return_state:= TS_EP2_TRANSMIT;
		end if;

		check := ir_0 and D12_INT_ENDPOINT1_OUT;
		if check = D12_INT_ENDPOINT1_OUT then
			return_state := TS_IDLE;
		end if;

		check := ir_0 and D12_INT_ENDPOINT1_IN;
		if check = D12_INT_ENDPOINT1_IN then
			return_state := TS_IDLE;
		end if;

		check := ir_0 and D12_INT_BUSRESET;
		if check = D12_INT_BUSRESET then
			return_state := TS_BUSRESET;
		end if;

		check := ir_0 and D12_INT_SUSPENDCHANGE;
		if check = D12_INT_SUSPENDCHANGE then
			return_state := TS_SUSPENDCHANGE;
		end if;

		if ir_1 = '1' then
			return_state := TS_IDLE;
		end if;
		
		return return_state;
		
	end GetInterruptHandler;   
	
	function GetCommandHandler(cmd: STD_LOGIC_VECTOR(7 downto 0))
	return TRANSEIVER_STATE is
	variable check: STD_LOGIC_VECTOR(7 downto 0); 
	variable return_state: TRANSEIVER_STATE;
	begin
		return_state:= TS_IDLE;
		
		case cmd is
		when RH_SEND_DESCRIPTOR_1ST =>
			return_state := TS_SEND_DESCRIPTOR;--TS_SEND_DESCRIPTOR_1ST;
		when RH_SEND_DESCRIPTOR =>
			return_state := TS_SEND_DESCRIPTOR;
		when RH_SET_ADDRESS =>
			return_state := TS_SET_ADDRESS;
		when RH_SET_CONFIGURATION =>
			return_state := TS_SET_CONFIGURATION; 
		when RH_SEND_CONFIGURATION =>
			return_state := TS_GET_CONFIGURATION; 
		when RH_SEND_INTERFACE =>
			return_state := TS_GET_INTERFACE;
		when RH_SEND_STATUS =>
			return_state := TS_SEND_STATUS;
		when RH_CLEAR_FEATURE =>
			return_state := TS_CLEAR_FEATURE;
		when RH_SET_FEATURE =>
			return_state := TS_SET_FEATURE;
		when RH_SET_INTERFACE =>
			return_state := TS_SET_INTERFACE;
		when others =>
			NULL;
		end case;
			
		return return_state;
		
	end GetCommandHandler;   	
	
	function GetDataLength(w_high: STD_LOGIC_VECTOR(7 downto 0); w_low: STD_LOGIC_VECTOR(7 downto 0))
	return INTEGER8 is
	begin
		return conv_integer(w_high);
	end;

	
end PDIUSBD12_PACKAGE;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线电影欧美成精品| 亚洲激情图片qvod| 免费av成人在线| 在线播放91灌醉迷j高跟美女| 亚洲丝袜另类动漫二区| av一区二区三区四区| 亚洲天堂2016| 欧美精品在线一区二区三区| 亚洲电影视频在线| 日韩精品专区在线| 国产精品一区二区免费不卡 | 色婷婷综合五月| 亚洲成a人v欧美综合天堂| 色播五月激情综合网| 亚洲成年人网站在线观看| 正在播放一区二区| 精品在线一区二区| 国产精品盗摄一区二区三区| 91片黄在线观看| 亚洲国产va精品久久久不卡综合| 51精品国自产在线| 国产精品一二三区在线| 国产精品大尺度| 7777女厕盗摄久久久| 国产精品一二三区| 亚洲精品国产视频| 欧美理论片在线| 丁香六月久久综合狠狠色| 亚洲自拍与偷拍| 久久综合久久综合九色| 91麻豆免费观看| 激情文学综合插| 亚洲综合色网站| 国产亚洲欧美色| 欧美日韩精品一区二区三区蜜桃 | 国产综合久久久久久鬼色 | 高清在线观看日韩| 亚洲国产综合视频在线观看| 久久综合久久鬼色| 91玉足脚交白嫩脚丫在线播放| 日韩高清在线电影| 中文字幕一区二区三区在线观看| 欧美年轻男男videosbes| 国产一区久久久| 亚洲一卡二卡三卡四卡五卡| 久久人人超碰精品| 欧美日韩在线观看一区二区| 麻豆精品视频在线| 中文字幕一区二区三区在线播放 | 日韩一区中文字幕| 26uuu国产电影一区二区| 91麻豆精品在线观看| 国产精品一区在线观看你懂的| 亚洲国产欧美另类丝袜| 国产色产综合色产在线视频| 欧美日韩一区不卡| 99热99精品| 国产在线精品免费| 日韩激情视频网站| 亚洲午夜久久久久中文字幕久| 亚洲国产成人午夜在线一区| 日韩一卡二卡三卡国产欧美| 91免费国产在线观看| 香港成人在线视频| 一区二区三区欧美日韩| 国产人成亚洲第一网站在线播放| 日韩精品一区二区三区视频播放 | 国产精品美女一区二区在线观看| 91.com在线观看| 一本一本久久a久久精品综合麻豆| 精品在线一区二区三区| 日本视频在线一区| 婷婷中文字幕综合| 视频一区二区三区中文字幕| 亚洲一区二区三区四区在线免费观看 | 欧美一级日韩不卡播放免费| 欧美日韩aaaaa| 欧美丝袜自拍制服另类| 日本精品视频一区二区三区| 成人国产电影网| 懂色av一区二区三区免费观看 | 国产在线精品免费| 开心九九激情九九欧美日韩精美视频电影| 亚洲福利视频导航| 亚洲午夜三级在线| 日韩电影在线观看一区| 日本不卡一区二区三区| 午夜在线成人av| 男男成人高潮片免费网站| 男男gaygay亚洲| 国产毛片精品国产一区二区三区| 精品亚洲国内自在自线福利| 老色鬼精品视频在线观看播放| 麻豆精品一区二区综合av| 精品一区在线看| 国产成人欧美日韩在线电影| 成人综合婷婷国产精品久久蜜臀| 国产成人自拍网| 91丨九色丨尤物| 欧美日韩国产一区二区三区地区| 欧美精品久久久久久久久老牛影院| 7777精品伊人久久久大香线蕉最新版 | 中文字幕中文字幕一区| 亚洲精品免费电影| 午夜天堂影视香蕉久久| 国产曰批免费观看久久久| 成人免费视频视频| 在线观看亚洲精品| 日韩一级二级三级| 日本一区二区三区电影| 一区二区三区四区视频精品免费| 亚洲午夜久久久久久久久电影网 | 国内不卡的二区三区中文字幕| 高清成人在线观看| 欧美私人免费视频| 久久麻豆一区二区| 亚洲一区二区在线免费看| 麻豆成人91精品二区三区| 成人免费看视频| 欧美日韩国产一二三| 久久久综合九色合综国产精品| 亚洲免费观看视频| 美国一区二区三区在线播放| 99久久精品免费精品国产| 538prom精品视频线放| 国产午夜精品在线观看| 亚洲r级在线视频| 成人在线视频一区二区| 7777精品伊人久久久大香线蕉经典版下载 | 日本二三区不卡| 精品精品欲导航| 亚洲精品视频观看| 国产综合色视频| 在线播放国产精品二区一二区四区| 国产午夜精品美女毛片视频| 天天综合网 天天综合色| 国产91高潮流白浆在线麻豆| 91麻豆精品国产91久久久久久久久 | 91黄色在线观看| 久久久久久亚洲综合| 五月天丁香久久| 91在线一区二区三区| 精品处破学生在线二十三| 亚洲午夜一区二区三区| 99综合影院在线| 久久嫩草精品久久久精品一| 天天综合色天天| 欧美午夜宅男影院| 18欧美乱大交hd1984| 国产精品1区二区.| 日韩免费电影一区| 亚洲国产成人av| 日本精品一区二区三区高清| 中文字幕av资源一区| 国内外精品视频| 777午夜精品免费视频| 亚洲成人av资源| 欧美亚洲动漫精品| 一区二区三区免费看视频| 波多野结衣中文字幕一区| 久久久久久久久久久久久久久99| 免费观看在线综合| 欧美精品乱码久久久久久| 亚洲综合偷拍欧美一区色| 色播五月激情综合网| 亚洲精品美腿丝袜| 日本道精品一区二区三区| 亚洲女爱视频在线| 色综合色综合色综合色综合色综合| 国产精品久久久久久久久久免费看 | 国产综合色产在线精品 | 国产精品系列在线| 国产98色在线|日韩| 欧美激情一区二区三区在线| 国产高清精品网站| 国产日韩欧美激情| 成人av网站免费| 亚洲欧美成aⅴ人在线观看| 色噜噜久久综合| 一区二区三区日韩精品| 欧美色倩网站大全免费| 亚洲国产另类精品专区| 欧美日韩激情一区二区三区| 亚洲风情在线资源站| 91精品国产综合久久久久久久| 免费在线观看视频一区| 精品国产乱码久久久久久免费| 国模少妇一区二区三区| 国产精品久线在线观看| 91丝袜呻吟高潮美腿白嫩在线观看| 亚洲人成伊人成综合网小说| 欧美亚一区二区| 久久国产乱子精品免费女| 久久久天堂av| 91在线播放网址| 蜜臀av一级做a爰片久久| 国产婷婷色一区二区三区| aa级大片欧美| 日韩av电影免费观看高清完整版| 欧美精品一区二区三区视频|