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

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

?? usbf_pa.v

?? USB2.0 chip的一部分verilog源碼。opencore上下的
?? V
字號:
`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,		send_zero_length,		// 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;input		send_zero_length;// IDMA Interfaceinput	[7:0]	tx_data_st;output		rd_next;/////////////////////////////////////////////////////////////////////// Local Wires and Registers//parameter	[4:0]	// synopsys enum state		IDLE   = 5'b00001,		DATA   = 5'b00010,		CRC1   = 5'b00100,		CRC2   = 5'b01000,		WAIT   = 5'b10000;reg	[4: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;reg		tx_valid_r;reg		tx_valid_r1;reg		zero_length_r;reg		send_zero_length_r;/////////////////////////////////////////////////////////////////////// Misc Logic//always @(posedge clk)	send_zero_length_r <= send_zero_length;`ifdef USBF_ASYNC_RESETalways @(posedge clk or negedge rst)`elsealways @(posedge clk)`endif	if(!rst)	zero_length_r <= 1'b0;	else	if(last)	zero_length_r <= 1'b0;	else	if(crc16_clr)	zero_length_r <= send_zero_length_r;always @(posedge clk)	tx_valid_r1 <= tx_valid;always @(posedge clk)	tx_valid_r <= tx_valid_r1;`ifdef USBF_ASYNC_RESETalways @(posedge clk or negedge rst)`elsealways @(posedge clk)`endif	if(!rst)	send_token_r <= 1'b0;	else	if(send_token)	send_token_r <= 1'b1;	else	if(tx_ready)	send_token_r <= 1'b0;// PID Selectalways @(token_pid_sel)	case(token_pid_sel)		// synopsys full_case parallel_case	   2'd0: token_pid = {  ~`USBF_T_PID_ACK,   `USBF_T_PID_ACK};	   2'd1: token_pid = { ~`USBF_T_PID_NACK,  `USBF_T_PID_NACK};	   2'd2: token_pid = {~`USBF_T_PID_STALL, `USBF_T_PID_STALL};	   2'd3: token_pid = { ~`USBF_T_PID_NYET,  `USBF_T_PID_NYET};	endcasealways @(data_pid_sel)	case(data_pid_sel)		// synopsys full_case parallel_case	   2'd0: data_pid = { ~`USBF_T_PID_DATA0, `USBF_T_PID_DATA0};	   2'd1: data_pid = { ~`USBF_T_PID_DATA1, `USBF_T_PID_DATA1};	   2'd2: data_pid = { ~`USBF_T_PID_DATA2, `USBF_T_PID_DATA2};	   2'd3: 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 <= send_token | send_data;assign tx_first = (send_token | send_data) & ! tx_first_r;// CRC Logicalways @(posedge clk)	send_data_r <= send_data;always @(posedge clk)	send_data_r2 <= send_data_r;assign crc16_clr = send_data & !send_data_r;assign crc16_add =  !zero_length_r & (send_data_r & !send_data_r2) | (rd_next & !crc_sel1); always @(posedge clk)	if(crc16_clr)		crc16 <= 16'hffff;	else	if(crc16_add)		crc16 <= 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//`ifdef USBF_ASYNC_RESETalways @(posedge clk or negedge rst)`elsealways @(posedge clk)`endif	if(!rst)	state <= IDLE;	else		state <= next_state;always @(state or send_data or tx_ready or tx_valid_r or send_zero_length_r)   begin	next_state = state;	// Default don't change current state	tx_valid_d = 1'b0;	dsel = 1'b0;	rd_next = 1'b0;	last = 1'b0;	crc_sel1 = 1'b0;	crc_sel2 = 1'b0;	case(state)		// synopsys full_case parallel_case	   IDLE:		   begin			if(send_zero_length_r && send_data)			   begin				tx_valid_d = 1'b1;				next_state = WAIT;				dsel = 1'b1;			   end			else			if(send_data)			// Send DATA packet			   begin				tx_valid_d = 1'b1;				next_state = DATA;				dsel = 1'b1;			   end		   end	   DATA:		   begin			if(tx_ready && tx_valid_r)				rd_next = 1'b1;			tx_valid_d = 1'b1;			if(!send_data && tx_ready && tx_valid_r)			   begin				dsel = 1'b1;				crc_sel1 = 1'b1;				next_state = CRC1;			   end		   end	   WAIT:		// In case of early tx_ready ...		   begin			crc_sel1 = 1'b1;			dsel = 1'b1;			tx_valid_d = 1'b1;			next_state = CRC1;		   end	   CRC1:		   begin			dsel = 1'b1;			tx_valid_d = 1'b1;			if(tx_ready)			   begin				last = 1'b1;				crc_sel2 = 1'b1;				next_state = CRC2;			   end			else			   begin				tx_valid_d = 1'b1;				crc_sel1 = 1'b1;			   end		   end	   CRC2:		   begin			dsel = 1'b1;			crc_sel2 = 1'b1;			if(tx_ready)			   begin				next_state = IDLE;			   end			else			   begin				last = 1'b1;			   end		   end	endcase   endendmodule

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产剧情一区二区| 麻豆91精品91久久久的内涵| 欧美tk丨vk视频| 欧美日韩国产在线观看| 在线看不卡av| 欧美久久久久久蜜桃| 在线观看日韩国产| 欧美日韩一区二区电影| 欧美日韩成人在线一区| 欧美一区二区精美| 久久久夜色精品亚洲| 国产精品天干天干在观线| 国产精品婷婷午夜在线观看| 亚洲视频你懂的| 夜夜嗨av一区二区三区网页| 亚洲国产精品欧美一二99| 日韩av电影免费观看高清完整版| 日产精品久久久久久久性色| 久久成人羞羞网站| 国产成人aaa| 在线这里只有精品| 精品欧美久久久| 国产精品护士白丝一区av| 一区二区三区在线视频免费| 亚洲一区二区黄色| 国模娜娜一区二区三区| 99综合影院在线| 欧美乱妇23p| 国产欧美一区二区三区沐欲| 亚洲精品视频在线看| 视频一区欧美日韩| 国产宾馆实践打屁股91| 日本高清成人免费播放| 欧美成人女星排行榜| 国产精品美女久久久久久久久 | 丁香激情综合国产| 日本精品一级二级| 精品蜜桃在线看| 一区二区三区四区在线免费观看| 秋霞电影一区二区| 色婷婷综合久久久中文一区二区| 欧美成人乱码一区二区三区| 亚洲乱码国产乱码精品精的特点| 人人狠狠综合久久亚洲| 不卡一区二区在线| 欧美一区二区三区免费视频| 日韩毛片精品高清免费| 国产一区不卡视频| 欧美日韩亚州综合| 一区在线中文字幕| 国产一区二区免费视频| 欧美日本韩国一区二区三区视频 | 国产精品视频第一区| 亚洲无线码一区二区三区| www.欧美色图| 久久久国际精品| 久久精品国产99国产精品| 欧美亚洲动漫精品| 亚洲欧美日韩国产中文在线| 国产尤物一区二区| 日韩免费观看高清完整版| 亚洲成人免费观看| 一本久久a久久精品亚洲| 久久精品免费在线观看| 韩国毛片一区二区三区| 欧美一区二区免费| 美日韩黄色大片| 欧美一级国产精品| 蜜臀91精品一区二区三区 | 欧美一区2区视频在线观看| 一区二区三区在线免费播放| 不卡的看片网站| 亚洲国产精品v| 粉嫩一区二区三区性色av| 久久久精品影视| 国产成人鲁色资源国产91色综| 精品国产伦一区二区三区观看方式 | 日韩精品一二三四| 欧美色欧美亚洲另类二区| 一区二区三区 在线观看视频| 99久久99久久久精品齐齐| 国产精品第五页| 色婷婷亚洲婷婷| 亚洲一二三四在线| 欧美一区二区免费视频| 美日韩一区二区| 国产三级欧美三级日产三级99| 国产乱码字幕精品高清av | 在线看日本不卡| 午夜视频在线观看一区二区| 91精品国产91久久综合桃花| 天天综合天天做天天综合| 日韩欧美资源站| 国产高清成人在线| 国产精品大尺度| 欧美日韩五月天| 国内精品视频一区二区三区八戒| 久久蜜桃av一区二区天堂 | 一区二区欧美精品| 欧美日韩欧美一区二区| 久久激情综合网| 17c精品麻豆一区二区免费| 欧洲一区二区三区在线| 久久成人免费电影| 国产精品剧情在线亚洲| 色94色欧美sute亚洲13| 日本中文字幕一区二区有限公司| 国产欧美在线观看一区| 欧美天堂一区二区三区| 国内精品伊人久久久久av一坑| 国产蜜臀97一区二区三区| 欧美伊人久久大香线蕉综合69| 免费美女久久99| 亚洲免费av观看| 日韩欧美国产午夜精品| 91丨porny丨蝌蚪视频| 蜜臀a∨国产成人精品| 亚洲丝袜制服诱惑| 精品99999| 欧美日韩精品一区视频| 成人黄色777网| 另类小说欧美激情| 亚洲成人自拍一区| 中文字幕中文字幕一区| 欧美大度的电影原声| 91福利社在线观看| 成人亚洲一区二区一| 老司机免费视频一区二区| 青娱乐精品视频| 中文字幕一区二区三区视频| 欧美一二区视频| 欧美亚洲愉拍一区二区| 国产成人免费视频| 国内偷窥港台综合视频在线播放| 亚洲图片有声小说| 亚洲另类春色国产| 国产精品久久久久久妇女6080| 日韩美女一区二区三区| 欧美日本在线播放| 欧美日韩精品欧美日韩精品一| 99精品国产热久久91蜜凸| 国产一区二区三区在线观看免费| 日韩av一区二区在线影视| 亚洲综合一区二区三区| 亚洲狠狠丁香婷婷综合久久久| 欧美国产成人精品| 日本一区二区免费在线观看视频| 久久久噜噜噜久噜久久综合| 日韩精品资源二区在线| 日韩女优视频免费观看| 91精品国产一区二区| 91麻豆精品国产91久久久久久| 欧美日韩视频在线观看一区二区三区 | 欧美成人激情免费网| 日韩欧美国产小视频| 日韩一级高清毛片| 精品久久久三级丝袜| 欧美第一区第二区| 久久久久久毛片| 久久天天做天天爱综合色| 国产午夜精品一区二区三区嫩草 | 欧美精品丝袜久久久中文字幕| 欧美日韩一区二区三区视频| 欧美日韩一区三区| 欧美一区二区三区日韩| 日韩欧美激情四射| 国产欧美日韩在线观看| 中文字幕亚洲不卡| 洋洋av久久久久久久一区| 亚洲h精品动漫在线观看| 麻豆精品国产传媒mv男同| 国产在线精品视频| 成人福利视频网站| 在线精品视频免费播放| 欧美一区二区三区日韩| 欧美韩国日本综合| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆 | 成人av网站在线观看| 色婷婷香蕉在线一区二区| 欧美精品粉嫩高潮一区二区| 欧美大片国产精品| 亚洲国产高清在线观看视频| 夜夜嗨av一区二区三区中文字幕| 日韩高清电影一区| 高清视频一区二区| 欧美三级视频在线| 久久久久88色偷偷免费| 亚洲午夜一区二区三区| 国产在线精品免费| 欧美色男人天堂| 国产精品萝li| 蜜桃精品视频在线| 色婷婷亚洲综合| 久久一区二区三区国产精品| 一区二区三区日韩精品视频| 久久成人免费电影| 欧美天天综合网| 中文字幕一区二区三区色视频| 免费观看日韩电影| 欧美日韩专区在线|