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

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

?? usbf_pa.v

?? usb的verilog 代碼。對理解usb的原理有很大幫助
?? V
字號:
/////////////////////////////////////////////////////////////////////////                                                             ////////  Packet Assembler                                           ////////  Assembles Token and Data USB packets                       ////////                                                             ////////  Author: Rudolf Usselmann                                   ////////          rudi@asics.ws                                      ////////                                                             ////////                                                             ////////  Downloaded from: http://www.opencores.org/cores/usb/       ////////                                                             /////////////////////////////////////////////////////////////////////////////                                                             //////// Copyright (C) 2000 Rudolf Usselmann                         ////////                    rudi@asics.ws                            ////////                                                             //////// This source file may be used and distributed without        //////// restriction provided that this copyright statement is not   //////// removed from the file and that any derivative work contains //////// the original copyright notice and the associated disclaimer.////////                                                             ////////     THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY     //////// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED   //////// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS   //////// FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL THE AUTHOR      //////// OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,         //////// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES    //////// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE   //////// GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR        //////// BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF  //////// LIABILITY, WHETHER IN  CONTRACT, STRICT LIABILITY, OR TORT  //////// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT  //////// OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE         //////// POSSIBILITY OF SUCH DAMAGE.                                 ////////                                                             ///////////////////////////////////////////////////////////////////////////  CVS Log////  $Id: usbf_pa.v,v 1.2 2001/08/10 08:48:33 rudi Exp $////  $Date: 2001/08/10 08:48:33 $//  $Revision: 1.2 $//  $Author: rudi $//  $Locker:  $//  $State: Exp $//// Change History://               $Log: usbf_pa.v,v $//               Revision 1.2  2001/08/10 08:48:33  rudi////               - Changed IO names to be more clear.//               - Uniquifyed define names to be core specific.////               Revision 1.1  2001/08/03 05:30:09  rudi//////               1) Reorganized directory structure////               Revision 1.0  2001/03/07 09:17:12  rudi//////               Changed all revisions to revision 1.0. This is because OpenCores CVS//               interface could not handle the original '0.1' revision ....////               Revision 0.1.0.1  2001/02/28 08:10:54  rudi//               Initial Release////`include "usbf_defines.v"module usbf_pa(	clk, rst,		// UTMI TX I/F		tx_data, tx_valid, tx_valid_last, tx_ready,		tx_first,		// Protocol Engine Interface		send_token, token_pid_sel,		send_data, data_pid_sel,		// IDMA Interface		tx_data_st, rd_next		);input		clk, rst;// UTMI TX Interfaceoutput	[7:0]	tx_data;output		tx_valid;output		tx_valid_last;input		tx_ready;output		tx_first;// Protocol Engine Interfaceinput		send_token;input	[1:0]	token_pid_sel;input		send_data;input	[1:0]	data_pid_sel;// IDMA Interfaceinput	[7:0]	tx_data_st;output		rd_next;/////////////////////////////////////////////////////////////////////// Local Wires and Registers//parameter	[3:0]	// synopsys enum state		IDLE   = 4'b0001,		DATA   = 4'b0010,		CRC1   = 4'b0100,		CRC2   = 4'b1000;reg	[3:0]	/* synopsys enum state */ state, next_state;// synopsys state_vector statereg		last;reg		rd_next;reg	[7:0]	token_pid, data_pid;	// PIDs from selectorsreg	[7:0]	tx_data_d;reg	[7:0]	tx_data_data;reg		dsel;reg		tx_valid_d;reg		send_token_r;reg	[7:0]	tx_spec_data;reg		crc_sel1, crc_sel2;reg		tx_first_r;reg		send_data_r;wire		crc16_clr;reg	[15:0]	crc16;wire	[15:0]	crc16_next;wire	[15:0]	crc16_rev;wire		crc16_add;reg		send_data_r2;/////////////////////////////////////////////////////////////////////// Misc Logic//always @(posedge clk)	if(!rst)	send_token_r <= #1 0;	else	if(send_token)	send_token_r <= #1 1;	else	if(tx_ready)	send_token_r <= #1 0;// PID Selectalways @(token_pid_sel)	case(token_pid_sel)		// synopsys full_case parallel_case	   0: token_pid = {  ~`USBF_T_PID_ACK,   `USBF_T_PID_ACK};	   1: token_pid = { ~`USBF_T_PID_NACK,  `USBF_T_PID_NACK};	   2: token_pid = {~`USBF_T_PID_STALL, `USBF_T_PID_STALL};	   3: token_pid = { ~`USBF_T_PID_NYET,  `USBF_T_PID_NYET};	endcasealways @(data_pid_sel)	case(data_pid_sel)		// synopsys full_case parallel_case	   0: data_pid = { ~`USBF_T_PID_DATA0, `USBF_T_PID_DATA0};	   1: data_pid = { ~`USBF_T_PID_DATA1, `USBF_T_PID_DATA1};	   2: data_pid = { ~`USBF_T_PID_DATA2, `USBF_T_PID_DATA2};	   3: data_pid = { ~`USBF_T_PID_MDATA, `USBF_T_PID_MDATA};	endcase// Data path Muxesalways @(send_token or send_token_r or token_pid or tx_data_data)	if(send_token | send_token_r)	tx_data_d = token_pid;	else				tx_data_d = tx_data_data;always @(dsel or tx_data_st or tx_spec_data)	if(dsel)	tx_data_data = tx_spec_data;	else		tx_data_data = tx_data_st;always @(crc_sel1 or crc_sel2 or data_pid or crc16_rev)	if(!crc_sel1 & !crc_sel2)	tx_spec_data = data_pid;	else	if(crc_sel1)			tx_spec_data = crc16_rev[15:8];	// CRC 1	else				tx_spec_data = crc16_rev[7:0];	// CRC 2assign tx_data = tx_data_d;// TX Valid assignmentassign tx_valid_last = send_token | last;assign tx_valid = tx_valid_d;always @(posedge clk)	tx_first_r <= #1 send_token | send_data;assign tx_first = (send_token | send_data) & ! tx_first_r;// CRC Logicalways @(posedge clk)	send_data_r <= #1 send_data;always @(posedge clk)	send_data_r2 <= #1 send_data_r;assign crc16_clr = send_data & !send_data_r;assign crc16_add = (send_data_r & !send_data_r2) | (rd_next & !crc_sel1);always @(posedge clk)	if(crc16_clr)		crc16 <= #1 16'hffff;	else	if(crc16_add)		crc16 <= #1 crc16_next;usbf_crc16 u1(	.crc_in(	crc16		),	.din(	{tx_data_st[0], tx_data_st[1],		tx_data_st[2], tx_data_st[3],		tx_data_st[4], tx_data_st[5],		tx_data_st[6], tx_data_st[7]}	),	.crc_out(	crc16_next		) );assign crc16_rev[15] = ~crc16[8];assign crc16_rev[14] = ~crc16[9];assign crc16_rev[13] = ~crc16[10];assign crc16_rev[12] = ~crc16[11];assign crc16_rev[11] = ~crc16[12];assign crc16_rev[10] = ~crc16[13];assign crc16_rev[9]  = ~crc16[14];assign crc16_rev[8]  = ~crc16[15];assign crc16_rev[7]  = ~crc16[0];assign crc16_rev[6]  = ~crc16[1];assign crc16_rev[5]  = ~crc16[2];assign crc16_rev[4]  = ~crc16[3];assign crc16_rev[3]  = ~crc16[4];assign crc16_rev[2]  = ~crc16[5];assign crc16_rev[1]  = ~crc16[6];assign crc16_rev[0]  = ~crc16[7];/////////////////////////////////////////////////////////////////////// Transmit/Encode state machine//always @(posedge clk)	if(!rst)	state <= #1 IDLE;	else		state <= #1 next_state;always @(state or send_data or tx_ready )   begin	next_state = state;	// Default don't change current state	tx_valid_d = 0;	dsel = 0;	rd_next = 0;	last = 0;	crc_sel1 = 0;	crc_sel2 = 0;	case(state)		// synopsys full_case parallel_case	   IDLE:		   begin			if(send_data)	// Send DATA packet			   begin				tx_valid_d = 1;				next_state = DATA;				dsel = 1;			   end		   end	   DATA:		   begin			if(tx_ready)				rd_next = 1;			tx_valid_d = 1;			if(!send_data & tx_ready)			   begin				dsel = 1;				crc_sel1 = 1;				next_state = CRC1;			   end		   end	   CRC1:		   begin			dsel = 1;			tx_valid_d = 1;			if(tx_ready)			   begin				last = 1;				crc_sel2 = 1;				next_state = CRC2;			   end			else			   begin				tx_valid_d = 1;				crc_sel1 = 1;			   end		   end	   CRC2:		   begin			dsel = 1;			crc_sel2 = 1;			if(tx_ready)			   begin				next_state = IDLE;			   end			else			   begin				last =1;			   end		   end	endcase   endendmodule

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本不卡一二三| 91亚洲精品乱码久久久久久蜜桃| 国内外精品视频| 色乱码一区二区三区88| 亚洲精品在线免费观看视频| 一区二区免费看| 国产成人精品一区二| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 欧美va亚洲va香蕉在线| 亚洲伦在线观看| 国产a精品视频| 日韩一级成人av| 亚洲高清视频中文字幕| 成人国产精品免费观看| 成人免费在线观看入口| 国产精品久久久久影院亚瑟| 18欧美亚洲精品| 亚洲一区二区三区中文字幕| 五月婷婷综合激情| 日本va欧美va欧美va精品| 图片区小说区区亚洲影院| 免费久久99精品国产| 久久精品72免费观看| 高清成人免费视频| 99re热视频精品| 欧美人妇做爰xxxⅹ性高电影| 欧美一区二区福利视频| 国产亚洲1区2区3区| 亚洲人成电影网站色mp4| 三级欧美韩日大片在线看| 国产资源在线一区| 色香色香欲天天天影视综合网| 欧美日韩久久久一区| 2023国产精品视频| 自拍av一区二区三区| 日韩精品五月天| 成人免费不卡视频| 欧美裸体一区二区三区| 久久精品这里都是精品| 亚洲福利一二三区| 岛国av在线一区| 国产盗摄女厕一区二区三区| 欧美日本一区二区三区四区| 亚洲成人av资源| 日韩一区二区三区四区| 精品亚洲国产成人av制服丝袜| 精品国产免费人成在线观看| 激情久久五月天| 国产精品毛片高清在线完整版| 成人久久久精品乱码一区二区三区| 亚洲成人动漫在线观看| 7777精品伊人久久久大香线蕉最新版| 亚洲一二三四区| 日韩女优电影在线观看| 国产电影一区二区三区| 亚洲人成网站影音先锋播放| 欧美色国产精品| 激情综合网天天干| 亚洲欧美综合另类在线卡通| 欧美无人高清视频在线观看| 99国产精品久久久| 欧美唯美清纯偷拍| 亚洲另类春色校园小说| av电影天堂一区二区在线观看| 日韩欧美电影一二三| 亚洲成av人片一区二区| 日本久久精品电影| 亚洲欧美日韩精品久久久久| 91香蕉视频黄| 亚洲三级电影网站| 麻豆国产91在线播放| 国产无一区二区| 欧美综合久久久| 国产成a人无v码亚洲福利| 亚洲精品国产无套在线观| 欧美大片一区二区三区| 91在线国产观看| 美女诱惑一区二区| 亚洲欧美一区二区三区国产精品| 日韩欧美一区二区久久婷婷| 91麻豆免费看| 国产成人av网站| 日本不卡视频一二三区| 亚洲免费观看视频| 2024国产精品| 精品视频一区二区不卡| youjizz国产精品| 久久av中文字幕片| 亚洲一二三四区不卡| 日本一区二区高清| 欧美大片免费久久精品三p| 欧美色偷偷大香| 99久久久精品| 成人一二三区视频| 另类欧美日韩国产在线| 亚洲午夜电影在线观看| 国产精品嫩草99a| 久久久精品蜜桃| 日韩精品一区二| 欧美美女一区二区在线观看| 色婷婷av一区二区三区软件 | 亚洲激情在线激情| 欧美韩国日本一区| 久久午夜免费电影| 精品国产一区二区在线观看| 欧美一区二区三区视频| 精品视频在线看| 在线亚洲人成电影网站色www| 国产成人精品网址| 激情五月婷婷综合| 国产一区二区不卡在线| 麻豆成人免费电影| 激情文学综合网| 国产在线看一区| 国产一区二区视频在线播放| 精品一区二区三区蜜桃| 精品一区二区免费视频| 狠狠色综合播放一区二区| 久久国产福利国产秒拍| 精品一区二区免费看| 在线视频你懂得一区二区三区| 91麻豆免费看| 91精品福利视频| 亚洲国产综合在线| 欧美福利视频一区| 99久久精品一区| 国产成人综合在线播放| 日韩和欧美一区二区| 欧美一区二区三区在线看| 91麻豆精品国产综合久久久久久| 欧美精品乱码久久久久久 | 欧美va亚洲va香蕉在线| 国产二区国产一区在线观看| 国产精品麻豆视频| 26uuu色噜噜精品一区二区| 欧美在线短视频| 91视频免费播放| 成人免费电影视频| 国产麻豆精品在线| 久久er精品视频| 日本亚洲一区二区| 亚洲小少妇裸体bbw| 亚洲人123区| 国产精品灌醉下药二区| 国产日韩精品一区二区三区| 欧美va在线播放| 欧美一区二区精美| 欧美福利一区二区| 欧美久久一二三四区| 欧美亚洲综合色| 欧洲人成人精品| 色爱区综合激月婷婷| av成人动漫在线观看| www.性欧美| 91蝌蚪国产九色| 91色porny蝌蚪| 欧美日韩在线观看一区二区| 91福利精品视频| 欧美日韩精品三区| 宅男噜噜噜66一区二区66| 久久精品免费看| 91成人网在线| 亚洲国产精品激情在线观看| 亚洲va欧美va天堂v国产综合| 国产尤物一区二区在线| 在线观看国产一区二区| 久久女同精品一区二区| 午夜精品久久久久久久| 成人高清视频在线观看| 欧美一级片免费看| 韩国成人福利片在线播放| 91精品福利在线| 国产精品免费免费| 韩国精品久久久| 欧美一区二区黄| 亚洲狠狠爱一区二区三区| 成人一区二区在线观看| 精品少妇一区二区三区在线视频| 一区二区三区在线视频播放| 国产91综合网| 久久蜜桃av一区精品变态类天堂| 日韩高清在线观看| 在线观看网站黄不卡| 亚洲成人激情自拍| 日本不卡中文字幕| 国产成人av资源| 欧美无人高清视频在线观看| 精品国产91亚洲一区二区三区婷婷| 国产三级一区二区三区| 伊人夜夜躁av伊人久久| 日本不卡一区二区三区高清视频| 国产剧情av麻豆香蕉精品| 色综合久久天天综合网| 欧美大胆一级视频| 1000部国产精品成人观看| 日韩成人精品在线| 成人app在线| 精品久久久久一区二区国产| 亚洲精品视频免费看| 国产乱码字幕精品高清av|