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

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

?? usbtstpak.vhd

?? 這是一個(gè)很好的USB程序。
?? VHD
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
--------------------------------------------------------------------------------
-- Copyright (c) 2000 by Trenz Electronic.
-- Duenner Kirchweg 77, 32257 Buende, Germany, www.trenz-electronic.de
--     
-- This program is free software; you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
-- the Free Software Foundation; either version 2 of the License, or
-- (at your option) any later version.
--     
-- This program is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-- GNU General Public License for more details.
--     
-- You should have received a copy of the GNU General Public License
-- along with this program; if not, write to the Free Software
-- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
--------------------------------------------------------------------------------
-- Project:      Full-Speed USB 1.1 Function Controller
-- File:         usbTSTPAK.vhd
-- Description:  USB testbench package.
-- Version:      FB, 2000jun06
--------------------------------------------------------------------------------

library IEEE;
use IEEE.STD_LOGIC_1164.all;

package usbTSTPAK is
	--------------------
	component usbTSTctrl
		port(
			signal sim:     in    STD_LOGIC;  -- TRUE while simulating
			signal stim:    in    STD_LOGIC;  -- TRUE to stimulate UUT
			--
			signal clk48:   out   STD_LOGIC;  -- 48MHz clock
			signal rst:     out   STD_LOGIC;  -- async reset
			--
			signal uut_rxd: out   STD_LOGIC;  -- UUT rxd pin
			signal uut_rx0: out   STD_LOGIC;  -- UUT rx0 pin
			signal uut_txd: in    STD_LOGIC;  -- UUT txd pin
			signal uut_tx0: in    STD_LOGIC;  -- UUT tx0 pin
			--
			signal tb_xd:   in    STD_LOGIC;  -- testbench xd signal
			signal tb_x0:   in    STD_LOGIC;  -- testbench x0 signal
			signal tb_clk:  out   STD_LOGIC   -- testbench clock
			);
	end component;
	
	--------------------
	subtype packetCHR is STD_LOGIC_VECTOR(7 downto 0);
	type    packetBUF is array (POSITIVE range <>) of packetCHR;
	
	procedure packetOUT(
	signal clk:  in    STD_LOGIC;
	signal xd:   out   STD_LOGIC;
	signal x0:   out   STD_LOGIC;
	addr:        in    STD_LOGIC_VECTOR(6 downto 0);
	ep:          in    STD_LOGIC_VECTOR(3 downto 0));
	
	procedure packetIN(
	signal clk:  in    STD_LOGIC;
	signal xd:   out   STD_LOGIC;
	signal x0:   out   STD_LOGIC;
	addr:        in    STD_LOGIC_VECTOR(6 downto 0);
	ep:          in    STD_LOGIC_VECTOR(3 downto 0));
	
	procedure packetSOF(
	signal clk:  in    STD_LOGIC;
	signal xd:   out   STD_LOGIC;
	signal x0:   out   STD_LOGIC;
	frame:       in    STD_LOGIC_VECTOR(10 downto 0));
	
	procedure packetSETUP(
	signal clk:  in    STD_LOGIC;
	signal xd:   out   STD_LOGIC;
	signal x0:   out   STD_LOGIC;
	addr:        in    STD_LOGIC_VECTOR(6 downto 0);
	ep:          in    STD_LOGIC_VECTOR(3 downto 0));
	
	procedure packetDATA0(
	signal clk:  in    STD_LOGIC;
	signal xd:   out   STD_LOGIC;
	signal x0:   out   STD_LOGIC;
	data:        in    packetBUF);
	
	procedure packetDATA0(
	signal clk:  in    STD_LOGIC;
	signal xd:   out   STD_LOGIC;
	signal x0:   out   STD_LOGIC;
	data:        in    packetCHR);
	
	procedure packetDATA0(
	signal clk:  in    STD_LOGIC;
	signal xd:   out   STD_LOGIC;
	signal x0:   out   STD_LOGIC);
	
	procedure packetDATA1(
	signal clk:  in    STD_LOGIC;
	signal xd:   out   STD_LOGIC;
	signal x0:   out   STD_LOGIC;
	data:        in    packetBUF);
	
	procedure packetDATA1(
	signal clk:  in    STD_LOGIC;
	signal xd:   out   STD_LOGIC;
	signal x0:   out   STD_LOGIC;
	data:        in    packetCHR);
	
	procedure packetDATA1(
	signal clk:  in    STD_LOGIC;
	signal xd:   out   STD_LOGIC;
	signal x0:   out   STD_LOGIC);
	
	procedure packetACK(
	signal clk:  in    STD_LOGIC;
	signal xd:   out   STD_LOGIC;
	signal x0:   out   STD_LOGIC);
	
	procedure packetNAK(
	signal clk:  in    STD_LOGIC;
	signal xd:   out   STD_LOGIC;
	signal x0:   out   STD_LOGIC);
	
	procedure packetSTALL(
	signal clk:  in    STD_LOGIC;
	signal xd:   out   STD_LOGIC;
	signal x0:   out   STD_LOGIC);
	
	procedure packetIDLE(
	signal clk:  in    STD_LOGIC;
	signal xd:   out   STD_LOGIC;
	signal x0:   out   STD_LOGIC;
	cycles:      in    INTEGER);
	
	procedure packetRESET(
	signal clk:  in    STD_LOGIC;
	signal xd:   out   STD_LOGIC;
	signal x0:   out   STD_LOGIC);
	
end usbTSTPAK;

--------------------------------------------------------------------------------
package body usbTSTPAK is
	-- token PIDs
	constant fieldOUTpid:   STD_LOGIC_VECTOR(7 downto 0):= "11100001";
	constant fieldINpid:    STD_LOGIC_VECTOR(7 downto 0):= "01101001";
	constant fieldSOFpid:   STD_LOGIC_VECTOR(7 downto 0):= "10100101";
	constant fieldSETUPpid: STD_LOGIC_VECTOR(7 downto 0):= "00101101";
	-- data PIDs
	constant fieldDATA0pid: STD_LOGIC_VECTOR(7 downto 0):= "11000011";
	constant fieldDATA1pid: STD_LOGIC_VECTOR(7 downto 0):= "01001011";
	-- handshake PIDs
	constant fieldACKpid:   STD_LOGIC_VECTOR(7 downto 0):= "11010010";
	constant fieldNAKpid:   STD_LOGIC_VECTOR(7 downto 0):= "01011010";
	constant fieldSTALLpid: STD_LOGIC_VECTOR(7 downto 0):= "00011110";
	-- special PIDs
	constant fieldPREpid:   STD_LOGIC_VECTOR(7 downto 0):= "00111100";
	-- CRC fields	
	constant fieldCRC5polynomial:  STD_LOGIC_VECTOR(4 downto 0):= "00101";
	constant fieldCRC5residual:    STD_LOGIC_VECTOR(4 downto 0):= "01100";
	constant fieldCRC16polynomial: STD_LOGIC_VECTOR(15 downto 0):= "1000000000000101";
	constant fieldCRC16residual:   STD_LOGIC_VECTOR(15 downto 0):= "1000000000001101";
	
	-- internal variables
	shared variable nrzi_x: STD_LOGIC;
	shared variable nrzi_n: integer;
	shared variable crc5:   STD_LOGIC_VECTOR(4 downto 0);
	shared variable crc16:  STD_LOGIC_VECTOR(15 downto 0);
	
	----------------------------------------
	-- part #1: levels
	procedure levelJ(	
		signal clk:  in    STD_LOGIC;
		signal xd:   out   STD_LOGIC;
		signal x0:   out   STD_LOGIC) is
	begin
		wait until rising_edge(clk);
		xd<= '1';
		x0<= '0';
	end procedure;
	
	--------------------
	procedure levelK(	
		signal clk:  in    STD_LOGIC;
		signal xd:   out   STD_LOGIC;
		signal x0:   out   STD_LOGIC) is
	begin
		wait until rising_edge(clk);
		xd<= '0';
		x0<= '0';
	end procedure;
	
	--------------------
	procedure levelSE0(	
		signal clk:  in    STD_LOGIC;
		signal xd:   out   STD_LOGIC;
		signal x0:   out   STD_LOGIC) is
	begin
		wait until rising_edge(clk);
		xd<= '-';
		x0<= '1';
	end procedure;
	
	--------------------
	procedure levelD01(	
		signal clk:  in    STD_LOGIC;
		signal xd:   out   STD_LOGIC;
		signal x0:   out   STD_LOGIC;
		d: in STD_LOGIC) is
	begin
		wait until rising_edge(clk);
		xd<= d;
		x0<= '0';
	end procedure;
	
	----------------------------------------
	-- part #2: bits
	procedure bitJ(	
		signal clk:  in    STD_LOGIC;
		signal xd:   out   STD_LOGIC;
		signal x0:   out   STD_LOGIC) is
	begin
		levelJ(clk, xd, x0);
		nrzi_x:= '1';
		nrzi_n:= 0;
	end procedure;
	
	--------------------
	procedure bitK(	
		signal clk:  in    STD_LOGIC;
		signal xd:   out   STD_LOGIC;
		signal x0:   out   STD_LOGIC) is
	begin
		levelK(clk, xd, x0);
		nrzi_x:= '0';
		nrzi_n:= 0;
	end procedure;
	
	--------------------
	procedure bitSE0(	
		signal clk:  in    STD_LOGIC;
		signal xd:   out   STD_LOGIC;
		signal x0:   out   STD_LOGIC) is
	begin
		levelSE0(clk, xd, x0);
		nrzi_x:= 'X';
		nrzi_n:= 0;
	end procedure;
	
	--------------------
	procedure bit01(	
		signal clk:  in    STD_LOGIC;
		signal xd:   out   STD_LOGIC;
		signal x0:   out   STD_LOGIC;
		d: in STD_LOGIC) is
	begin
		if d= '0' then
			levelD01(clk, xd, x0, not(nrzi_x));  -- zero: toggle
			nrzi_x:= not(nrzi_x);
			nrzi_n:= 0;
		elsif d= '1' then
			levelD01(clk, xd, x0, nrzi_x); -- one: keep value
			nrzi_n:= nrzi_n + 1;
			
			if nrzi_n= 6 then
				levelD01(clk, xd, x0, not(nrzi_x)); -- bitstuff: toggle
				nrzi_x:= not(nrzi_x);
				nrzi_n:= 0;
			end if;
		else
			levelD01(clk, xd, x0, 'X'); -- undefined
			nrzi_x:= 'X';
			nrzi_n:= 0;
		end if;
	end procedure;
	
	----------------------------------------
	-- part #3: fields
	procedure fieldComputeCRC5(d: in STD_LOGIC) is
		variable q: STD_LOGIC;
	begin
		--	For CRC generation and checking, the shift registers in the 
		--	generator and checker are seeded with an all-ones pattern. 
		--	For each data bit sent or received, the high order bit of 
		--	the current remainder is XORed with the data bit and then 
		--	the remainder is shifted left one bit and the low-order bit 
		--	set to zero. If the result of that XOR is one, then the 
		--	remainder is XORed with the generator polynomial.
		q:= crc5(crc5'left) xor d;
		crc5:= crc5(crc5'left-1 downto 0) & '0';
		if q= '1' then
			crc5:= crc5 xor fieldCRC5polynomial;
		end if;
	end procedure;
	
	--------------------
	procedure fieldComputeCRC16(d: in STD_LOGIC) is
		variable q: STD_LOGIC;
	begin
		q:= crc16(crc16'left) xor d;
		crc16:= crc16(crc16'left-1 downto 0) & '0';
		if q= '1' then
			crc16:= crc16 xor fieldCRC16polynomial;
		end if;
	end procedure;
	
	--------------------
	procedure fieldSYNC(	
		signal clk:  in    STD_LOGIC;
		signal xd:   out   STD_LOGIC;
		signal x0:   out   STD_LOGIC) is
	begin
		bitK(clk, xd, x0);
		bitJ(clk, xd, x0);
		bitK(clk, xd, x0);
		bitJ(clk, xd, x0);
		bitK(clk, xd, x0);
		bitJ(clk, xd, x0);
		bitK(clk, xd, x0);
		bitK(clk, xd, x0);
	end procedure;
	
	--------------------
	procedure fieldEOP(	
		signal clk:  in    STD_LOGIC;
		signal xd:   out   STD_LOGIC;
		signal x0:   out   STD_LOGIC) is
	begin
		bitSE0(clk, xd, x0);
		bitSE0(clk, xd, x0);
		bitJ  (clk, xd, x0);
	end procedure;
	
	--------------------
	procedure fieldIDLE(	
		signal clk:  in    STD_LOGIC;
		signal xd:   out   STD_LOGIC;
		signal x0:   out   STD_LOGIC) is
	begin
		bitJ  (clk, xd, x0);
	end procedure;
	
	--------------------
	procedure fieldSE0(
		signal clk:  in    STD_LOGIC;
		signal xd:   out   STD_LOGIC;
		signal x0:   out   STD_LOGIC) is
	begin
		bitSE0(clk, xd, x0);
	end procedure;
	
	--------------------
	procedure fieldADDR(
		signal clk:  in    STD_LOGIC;
		signal xd:   out   STD_LOGIC;
		signal x0:   out   STD_LOGIC;
		addr:        in    STD_LOGIC_VECTOR(6 downto 0)) is
	begin
		bit01(clk, xd, x0, addr(0)); fieldComputeCRC5(addr(0));
		bit01(clk, xd, x0, addr(1)); fieldComputeCRC5(addr(1));
		bit01(clk, xd, x0, addr(2)); fieldComputeCRC5(addr(2));
		bit01(clk, xd, x0, addr(3)); fieldComputeCRC5(addr(3));
		bit01(clk, xd, x0, addr(4)); fieldComputeCRC5(addr(4));
		bit01(clk, xd, x0, addr(5)); fieldComputeCRC5(addr(5));
		bit01(clk, xd, x0, addr(6)); fieldComputeCRC5(addr(6));
	end procedure;
	
	--------------------
	procedure fieldEP(
		signal clk:  in    STD_LOGIC;
		signal xd:   out   STD_LOGIC;
		signal x0:   out   STD_LOGIC;
		ep:          in    STD_LOGIC_VECTOR(3 downto 0)) is
	begin
		bit01(clk, xd, x0, ep(0)); fieldComputeCRC5(ep(0));
		bit01(clk, xd, x0, ep(1)); fieldComputeCRC5(ep(1));
		bit01(clk, xd, x0, ep(2)); fieldComputeCRC5(ep(2));
		bit01(clk, xd, x0, ep(3)); fieldComputeCRC5(ep(3));
	end procedure;
	
	--------------------
	procedure fieldFRAME(
		signal clk:  in    STD_LOGIC;
		signal xd:   out   STD_LOGIC;
		signal x0:   out   STD_LOGIC;
		frame:       in    STD_LOGIC_VECTOR(10 downto 0)) is
	begin
		bit01(clk, xd, x0, frame(0));  fieldComputeCRC5(frame(0));
		bit01(clk, xd, x0, frame(1));  fieldComputeCRC5(frame(1));
		bit01(clk, xd, x0, frame(2));  fieldComputeCRC5(frame(2));
		bit01(clk, xd, x0, frame(3));  fieldComputeCRC5(frame(3));
		bit01(clk, xd, x0, frame(4));  fieldComputeCRC5(frame(4));
		bit01(clk, xd, x0, frame(5));  fieldComputeCRC5(frame(5));
		bit01(clk, xd, x0, frame(6));  fieldComputeCRC5(frame(6));
		bit01(clk, xd, x0, frame(7));  fieldComputeCRC5(frame(7));
		bit01(clk, xd, x0, frame(8));  fieldComputeCRC5(frame(8));
		bit01(clk, xd, x0, frame(9));  fieldComputeCRC5(frame(9));
		bit01(clk, xd, x0, frame(10)); fieldComputeCRC5(frame(10));
	end procedure;
	
	--------------------
	procedure fieldPID(
		signal clk:  in    STD_LOGIC;
		signal xd:   out   STD_LOGIC;
		signal x0:   out   STD_LOGIC;
		data:        in    STD_LOGIC_VECTOR(7 downto 0)) is
	begin
		bit01(clk, xd, x0, data(0));
		bit01(clk, xd, x0, data(1));
		bit01(clk, xd, x0, data(2));
		bit01(clk, xd, x0, data(3));
		bit01(clk, xd, x0, data(4));
		bit01(clk, xd, x0, data(5));
		bit01(clk, xd, x0, data(6));
		bit01(clk, xd, x0, data(7));
		crc5:=  (others=> '1');
		crc16:= (others=> '1');
	end procedure;
	
	--------------------
	procedure fieldBYTE(
		signal clk:  in    STD_LOGIC;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品一品视频| 日本女人一区二区三区| 欧美一区二区三区在线观看视频| 亚洲欧美激情一区二区| 欧美三级在线视频| 免费不卡在线观看| 国产欧美日韩亚州综合| 99精品欧美一区二区三区小说 | 国产精品一区二区你懂的| 久久久不卡网国产精品一区| 99久久国产综合精品女不卡| 日韩精品电影一区亚洲| 欧美极品美女视频| 欧美三日本三级三级在线播放| 国产综合成人久久大片91| 亚洲视频一区在线观看| 欧美午夜免费电影| 国产精一区二区三区| 亚洲国产综合人成综合网站| 欧美精品一区二区三区蜜桃视频 | 一本一道波多野结衣一区二区| 亚洲综合色自拍一区| 欧美不卡一二三| 色天使色偷偷av一区二区| 久久精品免费观看| 一区二区三区精品在线| 久久免费国产精品| 69p69国产精品| 不卡的电影网站| 久久精工是国产品牌吗| 亚洲欧美日韩国产手机在线| 欧美日韩精品是欧美日韩精品| 精品在线播放午夜| 亚洲成人免费在线观看| 国产拍揄自揄精品视频麻豆| 欧美日韩国产三级| 99这里都是精品| 另类小说欧美激情| 亚洲一区二区三区影院| 国产精品久久久久久福利一牛影视| 欧美性高清videossexo| av综合在线播放| 美美哒免费高清在线观看视频一区二区| 国产精品乱子久久久久| 欧美日韩情趣电影| 99久久99久久免费精品蜜臀| 国产一区二区三区最好精华液| 首页国产丝袜综合| 亚洲一卡二卡三卡四卡五卡| 国产精品国产馆在线真实露脸| 26uuu国产日韩综合| 91精品国产乱| 欧美精品99久久久**| 一本一道久久a久久精品综合蜜臀| 国产一区二区三区四区五区入口| 视频在线在亚洲| 亚洲国产精品人人做人人爽| 亚洲精品视频免费看| 国产精品国产自产拍高清av王其| 久久久久综合网| 久久综合狠狠综合久久激情 | 欧美视频精品在线观看| 99精品视频一区二区三区| 成人午夜电影久久影院| 免费人成在线不卡| 一个色妞综合视频在线观看| 亚洲免费观看视频| 亚洲人精品午夜| 亚洲精品中文在线影院| 成人免费小视频| 亚洲视频免费观看| 一区二区高清在线| 亚洲国产人成综合网站| 欧美久久婷婷综合色| 欧美日韩免费视频| 69精品人人人人| 国产精品久久久久久久久图文区 | 欧美tickle裸体挠脚心vk| 日韩区在线观看| 久久嫩草精品久久久久| 国产色一区二区| 欧美国产精品专区| 综合电影一区二区三区| 夜夜爽夜夜爽精品视频| 天天av天天翘天天综合网色鬼国产| 五月激情六月综合| 久久精品国产精品亚洲精品| 国产乱码一区二区三区| eeuss鲁片一区二区三区在线观看| 成人黄色大片在线观看| 色婷婷综合久久| 欧美福利视频导航| 337p粉嫩大胆色噜噜噜噜亚洲 | 久久网站热最新地址| 久久久久国产精品麻豆| 久久男人中文字幕资源站| 中文字幕第一区二区| 国产精品福利一区二区| 一区二区三区四区在线免费观看| 午夜精品一区在线观看| 麻豆专区一区二区三区四区五区| 国产乱码精品一区二区三区忘忧草| 不卡的av网站| 777色狠狠一区二区三区| 久久一二三国产| 最近日韩中文字幕| 亚洲综合男人的天堂| 免费在线观看一区二区三区| 国产成人亚洲综合a∨婷婷| 91久久一区二区| 精品国产乱码久久久久久影片| 日本一二三不卡| 午夜精品123| 国产成人午夜电影网| 欧美视频一区二区三区在线观看| 精品国产一区二区三区四区四| 国产精品短视频| 国产精品久久久久久久久图文区 | 在线日韩国产精品| 7799精品视频| 国产精品乱码人人做人人爱| 亚洲国产精品久久久久秋霞影院| 国产综合久久久久影院| 久久夜色精品国产噜噜av| 亚洲一区在线观看视频| 日韩黄色一级片| 99久久精品国产麻豆演员表| 日韩视频永久免费| 亚洲激情校园春色| 成人免费视频一区| 欧美大片在线观看| 亚洲国产精品成人综合| 亚洲va韩国va欧美va| 91亚洲精品一区二区乱码| 久久综合九色欧美综合狠狠 | 亚洲欧美日本韩国| 加勒比av一区二区| 欧美在线一区二区三区| 久久久久国产精品麻豆| 国产女主播视频一区二区| 日韩精品电影在线观看| 日本高清成人免费播放| 亚洲三级在线免费观看| 国产**成人网毛片九色| 88在线观看91蜜桃国自产| 视频一区二区不卡| 欧美日韩精品一区二区三区| 亚洲国产综合人成综合网站| 色先锋资源久久综合| √…a在线天堂一区| 99精品国产99久久久久久白柏| 国产亚洲一区二区在线观看| 蜜桃视频一区二区三区在线观看 | 99久久婷婷国产综合精品| 久久久不卡网国产精品二区| 国产一区二区在线看| 久久这里都是精品| 国产一区免费电影| 久久先锋影音av鲁色资源| 激情文学综合网| 精品久久一二三区| 国产最新精品免费| 久久综合精品国产一区二区三区| 麻豆国产精品777777在线| 欧美日韩一级二级| 91欧美一区二区| 亚洲免费观看视频| 欧美日韩在线亚洲一区蜜芽| 丝袜美腿成人在线| 日韩女优电影在线观看| 国产成人av电影在线播放| 国产蜜臀97一区二区三区| 精油按摩中文字幕久久| 欧美国产日韩一二三区| 97久久精品人人做人人爽50路| 综合久久久久久| 色婷婷综合久色| 视频在线观看国产精品| 久久久久久日产精品| 成人午夜在线免费| 亚洲一区二区三区四区在线观看 | 8v天堂国产在线一区二区| 日韩影院精彩在线| 国产欧美日韩另类一区| av电影在线不卡| 亚洲一区在线播放| 2014亚洲片线观看视频免费| 国产成人综合在线| 亚洲高清免费在线| 精品国产乱码久久久久久浪潮| 国产成人综合精品三级| 亚洲高清久久久| 精品国产成人系列| eeuss鲁片一区二区三区在线观看| 三级成人在线视频| 国产日韩欧美高清在线| 色综合av在线| 国产成人综合亚洲91猫咪| 亚洲美女视频一区| 欧美性猛交xxxxxxxx|