usbrefdesign.v

来自「这是一个在MAX II CPLD利用FT245BM 模块实现USB传输的读写程序」· Verilog 代码 · 共 82 行

V
82
字号
module USBRefDesign(
		//系统信号
		input	wire	sclk,                     //sclk为FPGA工作时钟,默认100MHz.
		//FPGA和FT245MB间的USB接口
		input   wire    USB_RXE,		
		output	reg     USB_RD,	
		input  wire     [7:0] USB_DATA,          //USB和FPGA间的双向数据库总线
		output wire     USB_SI,
		output reg     [7:0] LED
		);                                         //处于读状态时,由忙碌状态变为空闲状表示上一个数据开始有效
//******************************************************
//内部寄存器定义


reg   [4:0]   	RD_time_cont;       //读等待时间计数器
reg   [4:0]   	WR_time_cont;       //写等待时间计数器


reg [8:0] count;
reg istrue;

parameter   TX_state0 = 2'b00;      //写状态0
parameter   TX_state1 = 2'b01;      //写状态1
parameter   TX_state2 = 2'b10;      //写状态2
parameter   TX_state3 = 2'b11;      //写状态3

reg	[1:0]	TX_state;               //写状态
//******************************************************
//本模块与FT245B间的数据总线
//******************************************************
assign USB_SI=1;
//******************************************************
//其他模块与本模块之间的数据交换
//******************************************************








//******************************************************
//本模块写FT254BM状态机
//******************************************************
always@(posedge sclk )  //sclk为FPGA工作时钟,默认100MHz.

begin 
if(USB_RXE==1'b0)         //WR_Enable 高有效   
 begin
   case(TX_state)
        TX_state0:
            begin
               USB_RD<=1'b0;                      //产生写信号的上升沿
               TX_state<=TX_state1;
            end
        TX_state1:
            begin
               //USB_DATA <=8'b10110101;  //写一个字节到FIFO,data_to_usb_buffer为发送缓冲寄存器
               LED<=USB_DATA;
               TX_state<=TX_state2; 
            end
        TX_state2:
            begin
               USB_RD  <=1'b1;
               TX_state<=TX_state3;
            end
        TX_state3:
            begin 
            end
               
    endcase
  end
else
  begin
    TX_state<=TX_state0;
    USB_RD  <=1'b1;
  end
end
 
endmodule
//////////////////////////////////////////////////////////

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?