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

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

?? flash_interface08.v

?? flash interface controller, verilog coding
?? V
字號:
`timescale 1ns/1nsmodule Flash_InterFace(CLK,RST_N,CE_h,OE_h,WE_h,SecEr,Adr_h,DataIn_h,DataOut_h,DataValid_N,DataIdle_N,											 CE_s,OE_s,WE_s,Adr_s,Data_s);	input CLK;                   //System Clock;系統時鐘信號;	input RST_N;                 //System Reset, active when it is low;系統復位清零信號,低電平有效;	input CE_h;                  //Host Chip Select, active when it is low; 主端片選信號,低電平有效;	input OE_h;                  //Host Output Control,主端輸出控制信號,高電平寫,低電平讀;	input WE_h;                  //Host Write Control, 主端操作控制信號,低電平有效,啟動讀/寫;	input SecEr;                 //Host Sector Erase, active when it is High,主端輸入Sector Erase信號,高電平有效;	input [20:0]Adr_h;           //Host Address, 主端地址信號,21bits;	input [31:0]DataIn_h;        //Host Input Data, 主端方輸入數據線;	output [31:0]DataOut_h;      //Host Output Data,主端方輸出數據線;	output DataValid_N;          //Data Valid Signal, Active when it is low;數據有效信號,低電平有效;	output DataIdle_N;           //Data Idle Signal, active when it is low;數據空閑信號,第電平有效;		output CE_s;                 //Slave Chip Select,active when it is low;從端片選信號,低電平有效;	output OE_s;                 //Slave Output Control,從端輸出控制信號,高電平寫,低電平讀;	output WE_s;                 //Slave Write Control,從端操作控制信號,低電平有效,啟動讀/寫操作;	output [20:0]Adr_s;          //Slave Address,從端地址信號,21bits;		inout [15:0]Data_s;          //inout port of the Slave Part on the Flash;直接連接到Flash上;		parameter Delay_Read=4'b1010;        // Delay at least 90ns;	parameter Delay_WE_P=4'b0110;        //Delay of the WE Pulse,Mix Time is 40ns;	parameter Delay_WE_PH=4'b0100;       //Delay of the WE Pulse High, Mix Time is 30ns;	parameter Delay_1us=8'b01100100;     //Delay of 1us of the polling time;			wire CLK,RST_N,CE_h,OE_h,WE_h,SecEr;	wire [20:0]Adr_h;	wire [31:0]DataIn_h;		reg DataValid_N;	reg DataIdle_N;	reg CE_s;	reg OE_s;	reg WE_s;	reg [20:0]Adr_s;	reg [31:0]DataOut_h;	reg DQ7_Temp;              //Temp Data of the DQ7 for the DataPolling; DataPolling中的DQ7的臨時貯存;	reg [15:0] Data_temp;       //Temp Data for the Slave;從端數據臨時存儲;	reg [20:0] Adr_temp;             //臨時地址		reg [3:0]CountRead;          //CLK Counts for the Delay of Read Operation;讀延時時鐘周期計數;	reg [3:0]CountStep;          //CLK Counts for the Delay of the Steps;Load Steps延時時鐘周期計數;	reg [3:0]CountWE;            //WE Counts,WE變化計數;	reg [7:0] Count_1us;         //ius Counts,1us計數;		wire FlashRead_N;             //Flash Word Read Time Control;Flash讀延時控制,當信號為低時,已經從Flash中讀出了一個Word;	reg ReadCtrl;                //Read Data Control Signal;讀操作地址變換控制信號	reg Busy;                    //Busy Signal in the Internal Program of the Write Operation;高電平未完成,Programming;		//Read Delay CLK Counter;讀延時時鐘周期計數器;	assign FlashRead_N=|CountRead;       //這樣寫綜合好嗎?還是直接用AND門處理?		always @(posedge CLK or negedge RST_N)		begin			if (RST_N == 0)				begin					ReadCtrl<=0;					CountRead<=4'b0000;				end			else if((OE_h==0)&&(CE_h==0)&&(WE_h==0))  //Read Operation permitted;				begin					ReadCtrl<=ReadCtrl+&(~CountRead);					if (CountRead<Delay_Read)						CountRead<=CountRead+1;					else						CountRead<=4'b0000;				end		end				//Step Sequence Delay Counts;	always @(posedge CLK or negedge RST_N)		begin			if (RST_N == 0)				CountStep<=4'b0000;			else if ((CE_s==0)&&(OE_s==1))    //Only Counts in the Write And Sector Erase Operation;				begin					if (CountStep<(Delay_WE_P+Delay_WE_PH-1))						CountStep<=CountStep+1;					else						CountStep<=4'b0000;				end		end																//Control Block,控制模塊,根據主端輸入控制接口操作		always @(posedge CLK or negedge RST_N )			begin				if (RST_N == 0)					begin									DataValid_N<=1;       //Data Not Valid;						DataIdle_N<=0;        //DataBus Idle, OK to write New datas;						Adr_temp<=21'h000000;						DataOut_h<=32'h00000000;						CE_s<=0;						OE_s<=0;						WE_s<=0;						Data_temp<=16'hZ;						Adr_s<=21'hZ;						Busy<=0;					end									else if ((CE_h==0)&&(SecEr==1)&&(OE_h==1)&&(WE_h==0))         //Sector Erase,Sector Erase操作;					begin                 //Controlled by WE_s;						CE_s<=0;						OE_s<=1;						if ((CountStep<Delay_WE_P)&&(CountWE<4'b1100))							WE_s<=0;						else							WE_s<=1;												//Control the Sequences Load of the Sector Erase;							case (CountWE+1)							4'b0001: Adr_s<=21'h5555;            //First Word's Address;							4'b0010: Data_temp<=16'hXXAA;							4'b0011: Adr_s<=21'h2AAA;            //Second Word's Address;														4'b0100: Data_temp<=16'hXX55;							4'b0101: Adr_s<=21'h5555;            //Third Word's Address;							4'b0110: Data_temp<=16'hXX80;							4'b0111: Adr_s<=21'h5555;            //Forth Word's Address;							4'b1000: Data_temp<=16'hXXAA;							4'b1001: Adr_s<=21'h2AAA;            //Fifth Word's Address;							4'b1010: Data_temp<=16'hXX55;							4'b1011: Adr_s[20:11]<=Adr_h[20:11];               //Sector Address;							4'b1100: Data_temp<=16'hXX30;						endcase					end													//Program Operation;				else if ((CE_h==0)&&(SecEr==0)&&(OE_h==1)&&(WE_h==0)&&(Count_1us<=8'h01))					begin						CE_s<=0;						OE_s<=1;						if ((CountStep<Delay_WE_P)&&(CountWE<4'b1000))							WE_s<=0;						else							WE_s<=1;												//Control the Sequences Load of the Sector Erase;							case (CountWE+1)							4'b0001: Adr_s<=21'h5555;            //First Word's Address;							4'b0010: Data_temp<=16'hXXAA;							4'b0011: Adr_s<=21'h2AAA;            //Second Word's Address;							4'b0100: Data_temp<=16'hXX55;							4'b0101: Adr_s<=21'h5555;            //Third Word's Address;							4'b0110: Data_temp<=16'hXXA0;							4'b0111:								begin										if (Adr_temp!=Adr_h)										begin											Adr_s<=Adr_h;               //Input Word's Address;											if (CountStep==4'b0000)												Adr_temp<=Adr_h;										end									else if (Adr_temp==Adr_h)										Adr_s<=Adr_h+1;								end							4'b1000:								begin									Busy<=1;									if (Adr_temp!=Adr_h)										begin											Data_temp<=DataIn_h[15:0];											DQ7_Temp<=DataIn_h[7];										end									else if (Adr_temp==Adr_h)										begin											Data_temp<=DataIn_h[31:16];											DQ7_Temp<=DataIn_h[22];										end																end						endcase												if (Count_1us==8'b01100100)							begin								if (DQ7_Temp==Data_s[7])									begin										Busy<=0;										DataIdle_N<=0;									end								else									begin										Busy<=1;										DataIdle_N<=1;									end							end					end									//Read Operation				else if ((CE_h==0)&&(OE_h==0)&&(WE_h==0))					begin						CE_s<=0;						OE_s<=0;						WE_s<=0;						if(FlashRead_N==0)  //Read OPeration Permitted and Time is OK;							begin								if(!ReadCtrl)								   begin								      Adr_s<=Adr_h;								      DataOut_h[15:0]<=Data_s;								      DataValid_N<=1;								   end								else if(ReadCtrl)									begin									  Adr_s<=Adr_h+1;										DataOut_h[31:16]<=Data_s;    //是否考慮此處產生的鎖存器?										DataValid_N<=0;                //Data is Valid;數據有效									end							end					end				else					begin						CE_s<=1;					end			end				//Inout Port Data Process;雙向端口數據處理		assign Data_s = ((OE_h==1)&&(WE_h==0)) ?  Data_temp : 16'hZZZZ ;				//1us Counter;1us計數器;		always @(posedge CLK or negedge RST_N)			begin				if (!RST_N)					Count_1us<=8'b00000000;				else if (CountWE==4'b1000)					if (Count_1us<Delay_1us)						Count_1us<=Count_1us+1;					else						Count_1us<=8'b00000000;			end							//對WE的翻轉進行計數,便于控制時間		always @(WE_s)			begin				if ((CE_s==0)&&(SecEr==1)&&(OE_s==1))					begin						if (CountWE<4'b1100)							CountWE<=CountWE+1;						else							CountWE<=4'b0000;					end				else if ((CE_s==0)&&(SecEr==0)&&(OE_s==1))					begin						if (CountWE<4'b1000)							CountWE<=CountWE+1;						else							CountWE<=4'b0000;					end			endendmodule

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品国产精品乱码不99| 亚洲综合av网| 久久久久久夜精品精品免费| 日韩一区二区在线看| 7777精品伊人久久久大香线蕉超级流畅| 色婷婷亚洲婷婷| 一本到不卡精品视频在线观看| 91香蕉视频污| 欧美性猛交xxxx黑人交| 欧美日韩免费一区二区三区| 欧美女孩性生活视频| 欧美日韩你懂的| 日韩欧美成人激情| 久久欧美一区二区| 中文字幕中文在线不卡住| 一区二区中文视频| 一级日本不卡的影视| 午夜精品久久久| 久久精品二区亚洲w码| 精品一区二区三区在线播放视频| 国产主播一区二区三区| 国产iv一区二区三区| 91蝌蚪porny| 欧美日韩高清在线| 精品粉嫩超白一线天av| 亚洲国产经典视频| 亚洲国产色一区| 精品无人码麻豆乱码1区2区 | 亚洲精品成a人| 亚洲国产cao| 国产在线观看免费一区| 成人黄色国产精品网站大全在线免费观看 | 一区二区三区产品免费精品久久75| 一区二区三区在线播放| 日韩成人一级片| 成人永久aaa| av电影在线观看完整版一区二区| 欧美精品免费视频| 91精品免费在线观看| 久久这里只有精品首页| 中文字幕一区二区三区乱码在线| 亚洲最大成人综合| 欧美aaaaa成人免费观看视频| 国产在线视频一区二区| 91香蕉视频黄| 精品欧美一区二区久久 | 久久99国产乱子伦精品免费| 福利91精品一区二区三区| 欧美伊人精品成人久久综合97 | 精品粉嫩aⅴ一区二区三区四区| 国产精品久久久久久久岛一牛影视| 有码一区二区三区| 国内精品嫩模私拍在线| 色欧美乱欧美15图片| 日韩精品中文字幕在线不卡尤物| 国产精品理论在线观看| 日韩国产欧美在线视频| www.一区二区| 久久综合色一综合色88| 一二三区精品福利视频| 国产精品亚洲午夜一区二区三区| 欧美性色黄大片| 国产精品视频线看| 免费人成黄页网站在线一区二区 | 久久嫩草精品久久久精品一| 亚洲黄色性网站| 国内精品嫩模私拍在线| 欧美日韩中文字幕一区| 国产精品欧美一区二区三区| 日韩和欧美一区二区| av成人老司机| www国产亚洲精品久久麻豆| 亚洲一区二区三区国产| 丁香激情综合国产| 日韩精品专区在线| 午夜精品久久久| 91麻豆免费观看| 久久精品视频免费| 美腿丝袜亚洲色图| 欧美色国产精品| 中文字幕一区二区日韩精品绯色| 国产做a爰片久久毛片| 91麻豆精品国产91久久久久久 | 国产午夜精品久久久久久免费视| 日本va欧美va瓶| 色狠狠综合天天综合综合| 爽爽淫人综合网网站| 日韩欧美二区三区| 一级特黄大欧美久久久| 韩国毛片一区二区三区| 国产成人丝袜美腿| 天堂av在线一区| 亚洲少妇中出一区| 国产福利精品一区| 日韩欧美中文一区二区| 亚洲综合在线视频| 91视频在线看| 中文字幕一区在线| 成人免费av资源| 欧美国产日韩在线观看| 国产尤物一区二区在线| 7777精品伊人久久久大香线蕉超级流畅| 亚洲主播在线观看| 91福利视频在线| 亚洲嫩草精品久久| 91久久精品一区二区三| 亚洲欧美一区二区三区国产精品| 成人精品国产福利| 国产精品久久三| 99久久综合精品| 自拍偷拍亚洲综合| 91美女片黄在线观看91美女| 亚洲男人的天堂av| 欧美性一级生活| 亚洲r级在线视频| 欧美日韩国产高清一区二区| 香蕉久久一区二区不卡无毒影院| 欧美日韩国产一区二区三区地区| 午夜日韩在线电影| 欧美成人伊人久久综合网| 狠狠色综合日日| 欧美高清在线一区| eeuss鲁片一区二区三区| 亚洲乱码中文字幕综合| 日本韩国欧美一区二区三区| 亚洲在线中文字幕| 日韩一区二区三区观看| 国内欧美视频一区二区| 国产精品美日韩| 91高清在线观看| 免费的成人av| 中文字幕第一页久久| 91麻豆自制传媒国产之光| 午夜精品一区在线观看| 91精品国产手机| 日本欧美肥老太交大片| 欧美精品一区二区在线播放| 国产成人精品网址| 亚洲人妖av一区二区| 欧美午夜在线一二页| 91精品久久久久久蜜臀| 日韩午夜在线影院| 国产精品久久久久久久第一福利| 五月天激情小说综合| 色婷婷综合中文久久一本| 国产欧美精品一区aⅴ影院 | av不卡在线观看| 日韩一区二区视频在线观看| 欧美经典一区二区三区| 亚洲欧美日韩国产另类专区| 七七婷婷婷婷精品国产| 懂色av一区二区在线播放| 国产精品12区| 国产美女娇喘av呻吟久久| 亚洲一区二区三区爽爽爽爽爽| 自拍偷在线精品自拍偷无码专区| 国产精品久久久久久久久晋中 | 久久久美女艺术照精彩视频福利播放| 制服丝袜亚洲精品中文字幕| 欧美成人激情免费网| 国产肉丝袜一区二区| 最新国产精品久久精品| 一区二区三区在线视频观看58| 亚洲精品伦理在线| 日本va欧美va精品发布| 成人免费不卡视频| 91精品国产一区二区三区| 国产日韩精品一区二区三区| 亚洲免费观看视频| 国产精品中文字幕一区二区三区| 高清在线观看日韩| 欧美老女人第四色| 国产精品美女久久久久久久久 | 99在线精品视频| 9191久久久久久久久久久| 久久综合网色—综合色88| 一区二区三区在线免费观看| 一本大道久久a久久精品综合| 99精品热视频| 欧美日韩国产美| 国产精品电影院| 高清不卡一区二区| 精品国产三级a在线观看| 91蜜桃传媒精品久久久一区二区 | 日日摸夜夜添夜夜添国产精品 | 国产精品国产三级国产普通话三级| 欧美日韩一区久久| eeuss影院一区二区三区| 国产一区二区精品久久99| 日韩av午夜在线观看| 一区二区三区欧美亚洲| 国产精品久久久久一区| 国产日韩精品一区二区浪潮av| 日韩精品在线看片z| 欧美猛男超大videosgay| 91一区二区三区在线观看| 国产精品国产a级| 国产一区二区三区不卡在线观看| 欧美电影影音先锋| 日日夜夜免费精品|