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

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

?? ft245_r_w.v

?? USB芯片FT245BM讀寫代碼,在Quartus II V7.2上測試成功!---Verilog語言.
?? V
字號:
//*****************************************************
//模塊名稱:	FT245_R_W
//模塊功能:	FT245BM 讀寫模塊
//版本記錄:
//V 1.0		2008-02-18	謝朝壯
//*****************************************************
//模塊接口
//*****************************************************
module FT245_R_W(
		//系統信號
		input	wire	sclk,                     //sclk為FPGA工作時鐘,默認100MHz.
		input	wire	rst_n,            		  //異步復位信號,低有效.
		//FPGA和FT245MB間的USB接口
		input   wire    USB_RXF,
		input   wire    USB_TXE,		
		output	reg     USB_RD,
		output	reg     USB_WR,	
		inout   tri     [7:0] USB_DATA,            //USB和FPGA間的雙向數據庫總線
		//模塊內部和其他模塊或器件間的接口
		output	reg	    [7:0] RX_data_fm_usb,      //其他模塊或器件從本模塊讀取來自USB接口的數據
		input	wire    [7:0] TX_data_to_usb,      //其他模塊或器件向本模塊寫入發到USB接口的數據
		input   wire    RD_Enable,                 //其他模塊或器件從本模塊讀取來自USB接口數據的讀使能,高有效
		input   wire    WR_Enable,                 //其他模塊或器件向本模塊寫入發到USB接口數據的寫使能,高有效
		output  reg     USB_busy                   //USB接口忙/空閑狀態信號,高為忙碌,低為空閑
		);                                         //處于讀狀態時,由忙碌狀態變為空閑狀表示上一個數據開始有效
//******************************************************
//內部寄存器定義
reg	  [7:0]		data_fm_usb;        //從USB接收數據
reg	  [7:0]		data_to_usb;        //發送數據到USB
reg	  [7:0]		data_to_usb_buffer; //發送緩沖寄存器

reg   [4:0]   	RD_time_cont;       //讀等待時間計數器
reg   [4:0]   	WR_time_cont;       //寫等待時間計數器

parameter   RX_state0 = 2'b01;      //讀狀態0
parameter   RX_state1 = 2'b10;      //讀狀態1

parameter   TX_state0 = 2'b01;      //寫狀態0
parameter   TX_state1 = 2'b10;      //寫狀態1

reg	[1:0]	RX_state;               //讀狀態
reg	[1:0]	TX_state;               //寫狀態
//******************************************************
//本模塊與FT245B間的數據總線
//******************************************************
assign USB_DATA=(USB_WR==1'b1)?data_to_usb:8'bzz;
//******************************************************
//其他模塊與本模塊之間的數據交換
//******************************************************
always@(posedge sclk or negedge rst_n)//接收數據
 if(!rst_n)
	 RX_data_fm_usb <= 8'b00;
 else if(RD_Enable == 1'b1)
 	 RX_data_fm_usb <= data_fm_usb;
////////////////////////////////// 	 
always@(posedge sclk or negedge rst_n)//發送數據
 if(!rst_n)
	 data_to_usb_buffer <= 8'b00;
 else if(WR_Enable == 1'b1)
 	 data_to_usb_buffer <= TX_data_to_usb;
//******************************************************
//USB接口忙/空閑狀態信號USB_busy處理
//******************************************************
always@(posedge sclk or negedge rst_n)
 if(!rst_n)
	 USB_busy<=1'b0;   //狀態機復位到空閑
 else if((USB_RXF==1'b0 && RD_Enable == 1'b1)||(USB_TXE==1'b0 && WR_Enable==1'b1))
 	 USB_busy<=1'b1;   //狀態機忙碌
 else
 	 USB_busy<=1'b0;   //狀態機空閑
//******************************************************
//讀/寫FT254BM相關等待時間計數
//******************************************************
always@(posedge sclk or negedge rst_n)
 if(!rst_n)
	 RD_time_cont<=5'b0;
 else if(USB_RD==1'b0)		            //讀使能到來開始計數.
 	 RD_time_cont<=RD_time_cont + 1'b1;
 else if(USB_RXF == 1'b1)               //USB_RXF沒拉高之前不允許有其他跨讀(寫)操作
 	 RD_time_cont<=5'b0;
//******************************************************
always@(posedge sclk or negedge rst_n)
 if(!rst_n)
	 WR_time_cont<=5'b0;
 else if(USB_WR==1'b1)		            //寫使能到來開始計數.
 	 WR_time_cont<=WR_time_cont + 1'b1;
 else if(USB_TXE == 1'b1)               //USB_TXE沒拉高之前不允許有其他跨讀(寫)操作
 	 WR_time_cont<=5'b0;
//******************************************************
//本模塊讀FT254BM狀態機
//******************************************************		
always@(posedge sclk or negedge rst_n)  //sclk為FPGA工作時鐘,默認100MHz.
if(!rst_n)
    begin
       RX_state<=RX_state0;
       USB_RD  <=1'b1;
    end 
else if(USB_RXF==1'b0 && RD_Enable == 1'b1)   //RD_Enable 高有效
  begin
   case(RX_state)
        RX_state0:
               begin
                if(RD_time_cont==5'b0)
                  USB_RD<=1'b0;               //產生讀信號的下降沿
                else if(RD_time_cont==5'd5)   //產生讀信號的下降沿50ns后轉到讀狀態1
                  RX_state<=RX_state1;
               end
        RX_state1:
               begin
                if(RD_time_cont==5'd6)        //產生讀信號的下降沿60ns后讀數據
                  data_fm_usb<=USB_DATA;      //讀FT245BM芯片FIFO的當前字節
                else if(RD_time_cont==5'd7)   //USB_RD有效脈沖寬度最小為50ns,這里用70ns.
                  USB_RD<=1'b1;
               end
     endcase
   end
else
    begin
       RX_state<=RX_state0;
       USB_RD<=1'b1;
    end
//******************************************************
//本模塊寫FT254BM狀態機
//******************************************************
always@(posedge sclk or negedge rst_n)  //sclk為FPGA工作時鐘,默認100MHz.
if(!rst_n)
  begin
    TX_state<=TX_state0;
    USB_WR  <=1'b0;
  end 
else if(USB_TXE==1'b0 && WR_Enable==1'b1)         //WR_Enable 高有效   
 begin
   case(TX_state)
        TX_state0:
            begin
             if(WR_time_cont==5'b0)
               USB_WR<=1'b1;                      //產生寫信號的上升沿
             else if(WR_time_cont==5'd5)          //產生寫信號的上升沿50ns后轉到寫狀態1
               TX_state<=TX_state1;
            end
        TX_state1:
            begin
             if(WR_time_cont==5'd6)               //產生寫信號的上升沿60ns發送數據
               data_to_usb <=data_to_usb_buffer;  //寫一個字節到FIFO,data_to_usb_buffer為發送緩沖寄存器
             else if(WR_time_cont==5'd7)          //USB_WR有效脈沖寬度最小為50ns,這里用70ns.
               USB_WR  <=1'b0;
            end
    endcase
  end
else
  begin
    TX_state<=TX_state0;
    USB_WR  <=1'b0;
  end
 
endmodule
//////////////////////////////////////////////////////////

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产亚洲一区二区在线观看| 亚洲精品自拍动漫在线| 丝袜美腿成人在线| 欧美色综合影院| 亚洲黄色免费网站| 在线免费观看不卡av| 精品福利一区二区三区 | 五月激情综合色| 中文字幕欧美一| 国产成人精品1024| 欧美一区二区三区性视频| 国产精品国产三级国产普通话蜜臀| 国产精品一区二区久激情瑜伽 | 国产精品久久久久久久久免费相片| 精品在线播放免费| 久久久久久久久久久黄色| 国产精品99精品久久免费| 日韩欧美国产一区在线观看| 美女久久久精品| 日韩三区在线观看| 狠狠色伊人亚洲综合成人| 欧美一区二区三区喷汁尤物| 久久国产精品72免费观看| ww久久中文字幕| 成人国产精品视频| 亚洲国产欧美在线人成| 欧美探花视频资源| 欧美放荡的少妇| 69久久99精品久久久久婷婷| 日本不卡免费在线视频| 精品国产免费一区二区三区香蕉| 九一九一国产精品| 国产精品免费人成网站| 欧美色图片你懂的| 麻豆一区二区在线| 中文字幕成人av| 在线不卡a资源高清| 首页国产欧美久久| 久久亚洲精华国产精华液| 91蜜桃网址入口| 奇米精品一区二区三区四区| 日本一区二区不卡视频| 欧美日韩精品专区| 国产成人综合网| 水蜜桃久久夜色精品一区的特点| 久久久久久久电影| 欧美日韩国产中文| 成人性色生活片| 日韩国产欧美在线视频| k8久久久一区二区三区| www.成人在线| 亚洲午夜一二三区视频| 久久久精品天堂| 色欧美日韩亚洲| 国产精品一二三区在线| 亚洲午夜精品一区二区三区他趣| 欧美疯狂做受xxxx富婆| 成人激情免费网站| 蜜臀久久99精品久久久久久9 | 北岛玲一区二区三区四区| 亚洲综合成人在线视频| 欧美极品少妇xxxxⅹ高跟鞋 | 欧美三级电影网站| 不卡的av电影| 国产一区在线观看视频| 日韩av一二三| 在线不卡一区二区| 国产一区二区三区久久悠悠色av| 亚洲午夜一区二区| 国产精品不卡在线| 久久九九全国免费| 日韩视频一区二区三区| 欧美视频一区二区三区| thepron国产精品| 国产**成人网毛片九色| 久久国产日韩欧美精品| 日韩1区2区日韩1区2区| 偷窥国产亚洲免费视频| 亚洲一级电影视频| 亚洲一区精品在线| 亚洲免费观看高清完整版在线| 欧美激情一区二区三区| 26uuu久久天堂性欧美| 欧美成人一级视频| 日韩精品一区二区三区四区视频| 69堂成人精品免费视频| 3atv在线一区二区三区| 成人综合激情网| 成人午夜视频网站| thepron国产精品| av成人动漫在线观看| zzijzzij亚洲日本少妇熟睡| 国产一区二区三区电影在线观看| 精品一区二区三区久久久| 美女国产一区二区| 国产又粗又猛又爽又黄91精品| 韩国在线一区二区| 国产剧情在线观看一区二区| 国产69精品久久久久毛片| 成人免费视频一区| 一本一道综合狠狠老| 欧美日韩精品是欧美日韩精品| 宅男在线国产精品| 欧美精品一区视频| 国产欧美精品一区aⅴ影院 | 亚洲精品一线二线三线| 亚洲精品一区二区三区香蕉| 日韩午夜三级在线| 26uuu亚洲综合色| 久久久久国产精品麻豆ai换脸 | 日本欧美肥老太交大片| 久久国产综合精品| 成人18精品视频| 欧美精品久久天天躁| 久久精品欧美日韩精品| 一区二区激情小说| 国产精品一区二区久久精品爱涩 | 日韩一区二区三区视频| 国产精品的网站| 日韩主播视频在线| 99在线精品免费| 日韩欧美123| 亚洲激情欧美激情| 国产精品一区三区| 国产视频一区不卡| 婷婷中文字幕一区三区| 不卡视频一二三| 精品电影一区二区三区| 亚洲一区在线观看视频| 粉嫩av一区二区三区| 欧美一区二区三区在线观看| 亚洲欧美成aⅴ人在线观看| 国模娜娜一区二区三区| 欧美xxxx在线观看| 极品美女销魂一区二区三区 | 久久久精品免费网站| 亚洲国产欧美日韩另类综合| 国产精品1区2区3区在线观看| 欧美吻胸吃奶大尺度电影| 国产精品素人一区二区| 国内精品在线播放| 678五月天丁香亚洲综合网| 亚洲日本电影在线| 成人久久久精品乱码一区二区三区| 精品久久久久久最新网址| 天天综合色天天综合| 日本高清无吗v一区| 1024亚洲合集| 成人18精品视频| 欧美极品美女视频| 国产传媒欧美日韩成人| 久久综合狠狠综合久久综合88| 丝袜美腿亚洲综合| 欧美久久久久久蜜桃| 亚洲五码中文字幕| 色屁屁一区二区| 一区二区三区日韩在线观看| 亚洲素人一区二区| 国产精品久久午夜夜伦鲁鲁| 欧美亚洲高清一区| 久久综合综合久久综合| 日本视频一区二区| 亚洲激情中文1区| 精品国产乱码久久久久久牛牛 | 日韩av一区二区三区四区| 亚洲欧洲日韩av| 久久综合久久99| 国产一区二区三区免费观看| 欧美日韩精品一区二区三区四区| 成人综合婷婷国产精品久久| 久久网这里都是精品| 国产在线不卡视频| 亚洲第一激情av| 欧美不卡一区二区三区| 久久久.com| 视频一区视频二区中文字幕| 成人99免费视频| 久久男人中文字幕资源站| 免费成人在线观看视频| 日本道在线观看一区二区| 亚洲国产激情av| 国产一区美女在线| 欧美videos中文字幕| 亚洲成a人片综合在线| aaa国产一区| 国产精品久久久久久久浪潮网站| 国产精品一区二区三区99| 欧美成人艳星乳罩| 九色porny丨国产精品| 51精品视频一区二区三区| 三级欧美在线一区| 在线视频观看一区| 亚洲欧美电影一区二区| av电影在线观看一区| 国产精品美女久久久久av爽李琼| 国产.欧美.日韩| 国产精品不卡在线观看| 精品少妇一区二区三区日产乱码| 亚洲一区二区三区四区五区中文 | 国产99精品国产|