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

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

?? atahost_pio_tctrl.v

?? PowerFull ATA Host Controller
?? V
字號:
/////////////////////////////////////////////////////////////////////////                                                             ////////  OpenCores ATA/ATAPI-5 Host Controller                      ////////  PIO Timing Controller (common for all OCIDEC cores)        ////////                                                             ////////  Author: Richard Herveille                                  ////////          richard@asics.ws                                   ////////          www.asics.ws                                       ////////                                                             /////////////////////////////////////////////////////////////////////////////                                                             //////// Copyright (C) 2001, 2002 Richard Herveille                  ////////                          richard@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: atahost_pio_tctrl.v,v 1.3 2002/02/18 14:25:43 rherveille Exp $////  $Date: 2002/02/18 14:25:43 $//  $Revision: 1.3 $//  $Author: rherveille $//  $Locker:  $//  $State: Exp $//// Change History://               Rev. 1.0 June 27th, 2001. Initial Verilog release//               Rev. 1.1 July  2nd, 2001. Fixed incomplete port list and some Verilog related issues.//               Rev. 1.2 July 11th, 2001. Changed 'igo' & 'hold_go' generation.////               $Log: atahost_pio_tctrl.v,v $//               Revision 1.3  2002/02/18 14:25:43  rherveille//               Moved wishbone interface into 'atahost_wb_slave.v'//               Major revisions in all cores.////               Revision 1.2  2002/02/16 10:42:17  rherveille//               Added disclaimer//               Added CVS information//               Changed core for new internal counter libraries (synthesis fixes).//////// Timing	PIO mode transfers//--------------------------------------------// T0:	cycle time// T1:	address valid to DIOR-/DIOW-// T2:	DIOR-/DIOW- pulse width// T2i:	DIOR-/DIOW- recovery time// T3:	DIOW- data setup// T4:	DIOW- data hold// T5:	DIOR- data setup// T6:	DIOR- data hold// T9:	address hold from DIOR-/DIOW- negated// Trd:	Read data valid to IORDY asserted// Ta:	IORDY setup time// Tb:	IORDY pulse width//// Transfer sequence//--------------------------------// 1)	set address (DA, CS0-, CS1-)// 2)	wait for T1// 3)	assert DIOR-/DIOW-//	   when write action present Data (timing spec. T3 always honored), enable output enable-signal// 4)	wait for T2// 5)	check IORDY//	   when not IORDY goto 5// 	  when IORDY negate DIOW-/DIOR-, latch data (if read action)//    when write, hold data for T4, disable output-enable signal// 6)	wait end_of_cycle_time. This is T2i or T9 or (T0-T1-T2) whichever takes the longest// 7)	start new cycle`include "timescale.v"module atahost_pio_tctrl(clk, nReset, rst, IORDY_en, T1, T2, T4, Teoc, go, we, oe, done, dstrb, DIOR, DIOW, IORDY);	// parameter declarations	parameter TWIDTH = 8;	parameter PIO_MODE0_T1   =  6;             // 70ns	parameter PIO_MODE0_T2   = 28;             // 290ns	parameter PIO_MODE0_T4   =  2;             // 30ns	parameter PIO_MODE0_Teoc = 23;             // 240ns		// inputs & outputs	input clk; // master clock	input nReset; // asynchronous active low reset	input rst; // synchronous active high reset		// timing & control register settings	input IORDY_en;          // use IORDY (or not)	input [TWIDTH-1:0] T1;   // T1 time (in clk-ticks)	input [TWIDTH-1:0] T2;   // T1 time (in clk-ticks)	input [TWIDTH-1:0] T4;   // T1 time (in clk-ticks)	input [TWIDTH-1:0] Teoc; // T1 time (in clk-ticks)	// control signals	input go; // PIO controller selected (strobe signal)	input we; // write enable signal. 1'b0 == read, 1'b1 == write	// return signals	output oe; // output enable signal	reg oe;	output done; // finished cycle	output dstrb; // data strobe, latch data (during read)	reg dstrb;	// ata signals	output DIOR; // IOread signal, active high	reg DIOR;	output DIOW; // IOwrite signal, active high	reg DIOW;	input  IORDY; // IOrDY signal	//	// constant declarations	//	// PIO mode 0 settings (@100MHz clock)	wire [TWIDTH-1:0] T1_m0   = PIO_MODE0_T1;	wire [TWIDTH-1:0] T2_m0   = PIO_MODE0_T2;	wire [TWIDTH-1:0] T4_m0   = PIO_MODE0_T4;	wire [TWIDTH-1:0] Teoc_m0 = PIO_MODE0_Teoc;	//	// variable declaration	//	reg busy, hold_go;	wire igo;	wire T1done, T2done, T4done, Teoc_done, IORDY_done;	reg hT2done;	//	// module body	//	// generate internal go strobe	// strecht go until ready for new cycle	always@(posedge clk or negedge nReset)		if (~nReset)			begin				busy    <= #1 1'b0;				hold_go <= #1 1'b0;			end		else if (rst)			begin				busy    <= #1 1'b0;				hold_go <= #1 1'b0;			end		else			begin				busy    <= #1 (igo | busy) & !Teoc_done;				hold_go <= #1 (go | (hold_go & busy)) & !igo;			end	assign igo = (go | hold_go) & !busy;	// 1)	hookup T1 counter	ro_cnt #(TWIDTH, 1'b0, PIO_MODE0_T1)		t1_cnt(			.clk(clk),			.rst(rst),			.nReset(nReset),			.cnt_en(1'b1),			.go(igo),			.d(T1),			.q(),			.done(T1done)		);	// 2)	set (and reset) DIOR-/DIOW-, set output-enable when writing to device	always@(posedge clk or negedge nReset)		if (~nReset)			begin				DIOR <= #1 1'b0;				DIOW <= #1 1'b0;				oe   <= #1 1'b0;			end		else if (rst)			begin				DIOR <= #1 1'b0;				DIOW <= #1 1'b0;				oe   <= #1 1'b0;			end		else			begin				DIOR <= #1 (!we & T1done) | (DIOR & !IORDY_done);				DIOW <= #1 ( we & T1done) | (DIOW & !IORDY_done);				oe   <= #1 ( (we & igo) | oe) & !T4done;           // negate oe when t4-done			end	// 3)	hookup T2 counter	ro_cnt #(TWIDTH, 1'b0, PIO_MODE0_T2)		t2_cnt(			.clk(clk),			.rst(rst),			.nReset(nReset),			.cnt_en(1'b1),			.go(T1done),			.d(T2),			.q(),			.done(T2done)		);	// 4)	check IORDY (if used), generate release_DIOR-/DIOW- signal (ie negate DIOR-/DIOW-)	// hold T2done	always@(posedge clk or negedge nReset)		if (~nReset)			hT2done <= #1 1'b0;		else if (rst)			hT2done <= #1 1'b0;		else			hT2done <= #1 (T2done | hT2done) & !IORDY_done;	assign IORDY_done = (T2done | hT2done) & (IORDY | !IORDY_en);	// generate datastrobe, capture data at rising DIOR- edge	always@(posedge clk)		dstrb <= #1 IORDY_done;	// hookup data hold counter	ro_cnt #(TWIDTH, 1'b0, PIO_MODE0_T4)		dhold_cnt(			.clk(clk),			.rst(rst),			.nReset(nReset),			.cnt_en(1'b1),			.go(IORDY_done),			.d(T4),			.q(),			.done(T4done)		);	assign done = T4done; // placing done here provides the fastest return possible,                         // while still guaranteeing data and address hold-times	// 5)	hookup end_of_cycle counter	ro_cnt #(TWIDTH, 1'b0, PIO_MODE0_Teoc)		eoc_cnt(			.clk(clk),			.rst(rst),			.nReset(nReset),			.cnt_en(1'b1),			.go(IORDY_done),			.d(Teoc),			.q(),			.done(Teoc_done)		);endmodule

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
综合自拍亚洲综合图不卡区| 亚洲人成小说网站色在线| 色综合久久中文综合久久牛| 国产精品99久| 成人午夜在线视频| 成人aaaa免费全部观看| 成人精品免费视频| 99精品视频在线观看| 色噜噜偷拍精品综合在线| 在线视频你懂得一区二区三区| 99久久久国产精品| 欧美丝袜自拍制服另类| 欧美精品日韩精品| 精品欧美一区二区在线观看| 精品国产自在久精品国产| 精品福利一二区| 国产精品午夜春色av| 亚洲特黄一级片| 舔着乳尖日韩一区| 国产黄色精品网站| 97久久精品人人爽人人爽蜜臀| 欧美中文字幕一二三区视频| 欧美男生操女生| 精品久久国产97色综合| 中文字幕免费观看一区| 亚洲国产乱码最新视频| 久久国产精品72免费观看| 成人精品一区二区三区四区| 欧美三级在线播放| 精品对白一区国产伦| 亚洲色图清纯唯美| 蜜臀av亚洲一区中文字幕| 国产成人精品在线看| 精品视频一区三区九区| 久久综合九色综合97_久久久| 亚洲欧美欧美一区二区三区| 免费观看91视频大全| av亚洲精华国产精华精华| 欧美妇女性影城| 国产精品成人免费| 麻豆国产一区二区| 91官网在线观看| 日韩精品一区二区三区四区| 成人欧美一区二区三区白人| 精品亚洲aⅴ乱码一区二区三区| 色综合久久综合网| 国产农村妇女毛片精品久久麻豆 | 136国产福利精品导航| 午夜私人影院久久久久| 成人激情文学综合网| 91麻豆精品国产自产在线| 国产片一区二区| 奇米精品一区二区三区四区| 日本电影欧美片| 中文字幕av一区二区三区| 理论片日本一区| 欧美丰满少妇xxxxx高潮对白| 亚洲欧美日韩中文播放 | 亚洲成年人影院| a级精品国产片在线观看| 26uuu国产一区二区三区| 亚洲18色成人| 91黄色免费网站| 一区二区视频在线看| 成人午夜精品一区二区三区| 欧美久久久久免费| 中文字幕亚洲精品在线观看| 国产精品一区二区你懂的| 日韩一区二区三区免费观看| 亚洲高清免费视频| 欧美日韩一区二区三区四区五区| 亚洲视频免费观看| 一本色道a无线码一区v| 亚洲欧美日韩国产综合| 色噜噜夜夜夜综合网| 一区二区三区中文免费| 欧美在线一区二区| 亚洲1区2区3区4区| 日韩精品一区二区三区蜜臀| 精品无人区卡一卡二卡三乱码免费卡| 欧美精品久久久久久久久老牛影院 | 欧美无砖砖区免费| 午夜影院久久久| 91麻豆精品国产91久久久使用方法 | 在线成人午夜影院| 日本大胆欧美人术艺术动态| 精品少妇一区二区三区| 韩国成人精品a∨在线观看| 国产亚洲综合性久久久影院| 成人黄色免费短视频| 一区精品在线播放| 欧美日精品一区视频| 五月天视频一区| 精品国产自在久精品国产| 高清久久久久久| 一区二区三区自拍| 欧美一级二级三级乱码| 国产麻豆精品在线| 亚洲精品老司机| 制服丝袜中文字幕亚洲| 国产乱人伦偷精品视频免下载| 国产精品网站导航| 欧美日韩国产首页| 粉嫩aⅴ一区二区三区四区五区| 亚洲伦在线观看| 制服.丝袜.亚洲.另类.中文| 青青草伊人久久| 亚洲国产精品传媒在线观看| 欧美亚洲国产bt| 韩国三级中文字幕hd久久精品| 中文字幕一区二区三区蜜月| 欧美巨大另类极品videosbest| 韩国av一区二区三区四区| 亚洲欧美成aⅴ人在线观看| 欧美亚洲一区二区在线| 国产成人自拍在线| 香蕉久久一区二区不卡无毒影院 | 国产91高潮流白浆在线麻豆 | 麻豆91在线播放| 亚洲蜜臀av乱码久久精品| 日韩精品一区二区三区视频| 在线看一区二区| 国产麻豆精品视频| 亚洲成a人v欧美综合天堂下载| 欧美激情一区在线观看| 欧美日韩精品一区二区三区四区 | 国产精品一区二区免费不卡| 亚洲电影你懂得| 欧美国产精品一区二区三区| 3d动漫精品啪啪一区二区竹菊 | 亚洲成人黄色影院| 中文字幕免费不卡在线| 精品日韩成人av| 777久久久精品| 在线精品视频一区二区三四| 成人福利视频在线| 韩国女主播成人在线观看| 亚洲二区在线观看| 亚洲激情校园春色| 国产精品毛片a∨一区二区三区| 欧美va亚洲va香蕉在线| 欧美久久久久久久久中文字幕| 色香色香欲天天天影视综合网 | 亚洲午夜视频在线| 成人欧美一区二区三区| 国产精品国产三级国产三级人妇| 国产日韩欧美综合一区| 精品国产青草久久久久福利| 欧美一级国产精品| 91精品国产aⅴ一区二区| 欧美日韩视频第一区| 欧美日韩国产综合视频在线观看| 色综合久久88色综合天天| 91一区二区三区在线观看| 成人性生交大片免费看中文| 成人动漫视频在线| 91色在线porny| 日本韩国精品一区二区在线观看| 在线免费av一区| 欧美精品 日韩| 精品免费视频.| 欧美精品一区二区精品网| 国产亚洲一区二区三区| 中文字幕欧美国产| 亚洲乱码国产乱码精品精98午夜 | 岛国精品在线观看| www.欧美色图| 色94色欧美sute亚洲线路二| 欧美在线不卡视频| 51精品国自产在线| 久久久久国产免费免费| 1区2区3区精品视频| 午夜精品福利在线| 国内精品久久久久影院一蜜桃| 国产精品影视天天线| 99视频在线精品| 欧美色图片你懂的| 久久综合成人精品亚洲另类欧美| 日本一区二区三区视频视频| 一区二区三区色| 久久精品噜噜噜成人88aⅴ| 成人激情校园春色| 欧美美女一区二区| 久久久久久久久久久久久女国产乱| 亚洲欧洲精品一区二区三区| 天堂av在线一区| 国产伦理精品不卡| 欧美午夜精品久久久| 久久色在线视频| 亚洲一区二区三区在线看| 九九九精品视频| 91久久精品日日躁夜夜躁欧美| 日韩精品在线一区| 亚洲欧美自拍偷拍| 久久成人18免费观看| 99久久99久久免费精品蜜臀| 欧美videossexotv100| 一个色妞综合视频在线观看| 国产精选一区二区三区| 欧美日韩美女一区二区|