⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 usbf_defines.v

📁 USB2.0 chip的一部分verilog源码。opencore上下的
💻 V
字号:
`timescale 1ns / 10ps//芯片调制符号`define USBF_DEBUG//芯片测试实现符号`define USBF_TEST_IMPL// 对于那些能实际例化的节点,则可定义下面的符号为数值1。// 芯片的全部节点应该是按顺序进行例化的,在这里笔者只// 定义了3个节点的例化符号,其余节点的符号可仿效定义`ifdef USBF_TEST_IMPL		// 用于测试		`define	USBF_HAVE_EP1	1		`define	USBF_HAVE_EP2	1		`define	USBF_HAVE_EP3	1`else		// 可修改,最多支持16个节点		`define	USBF_HAVE_EP1	1		`define	USBF_HAVE_EP2	1		`define	USBF_HAVE_EP3	1`endif// 该符号定义了连接至芯片的最大地址线数目,通常系统只需要// 18根地址线(A0至A17),且A17是内部数据存储与寄存器的选择信号`ifdef USBF_TEST_IMPL		// 用于测试		`define USBF_UFC_HADR	17		`define USBF_RF_SEL	(!wb_addr_i[17])		`define USBF_MEM_SEL	(wb_addr_i[17])		`define USBF_SSRAM_HADR	14`else		// 可修改		`define USBF_UFC_HADR	12		// 解码地址信息,供寄存器寻址使用		`define USBF_RF_SEL	(!wb_addr_i[12])		// 解码地址信息,供数据缓存寻址使用		`define USBF_MEM_SEL	(wb_addr_i[12])		`define USBF_SSRAM_HADR	9`endif// 下面的宏定义符号不可修改,它们定义了数据的PID信息// PID编码字`define USBF_T_PID_OUT		4'b0001`define USBF_T_PID_IN		4'b1001`define USBF_T_PID_SOF		4'b0101`define USBF_T_PID_SETUP	4'b1101`define USBF_T_PID_DATA0	4'b0011`define USBF_T_PID_DATA1	4'b1011`define USBF_T_PID_DATA2	4'b0111`define USBF_T_PID_MDATA	4'b1111`define USBF_T_PID_ACK		4'b0010`define USBF_T_PID_NACK		4'b1010`define USBF_T_PID_STALL	4'b1110`define USBF_T_PID_NYET		4'b0110`define USBF_T_PID_PRE		4'b1100`define USBF_T_PID_ERR		4'b1100`define USBF_T_PID_SPLIT	4'b1000`define USBF_T_PID_PING		4'b0100`define USBF_T_PID_RES		4'b0000// 符号HMS_DEL表示时间常量,即0.5us。`define USBF_HMS_DEL		5'h1c// 这两个符号定义了在全速和高速通信模式下,芯片对数据接收// 做出响应所需要的时间(采用UTMI的工作时钟周期数目来记录)`define USBF_RX_ACK_TO_VAL_FS	8'd36`define USBF_RX_ACK_TO_VAL_HS	8'd22// 这两个符号定义了在全速和高速通信模式下,芯片对数据发送// 做出响应所需要的时间(采用UTMI的工作时钟周期数目来记录)`define USBF_TX_DATA_TO_VAL_FS	8'd36`define USBF_TX_DATA_TO_VAL_HS	8'd22// USB连线上的状态和通信速率信息// 该预定标器符号用来产生长度为0.25us的脉冲`define	USBF_T1_PS_250_NS	4'd13// 微秒计数器,它用来表示2.5us的计数时长`define	USBF_T1_C_2_5_US	8'd10// 微秒计数器的复位数值`define USBF_T1_C_62_5_US	8'd250// 毫秒计数器,它用来表示3.0ms的计数时长`define USBF_T1_C_3_0_MS	8'd48// 毫秒计数器,它用来表示3.125ms的计数时长`define USBF_T1_C_3_125_MS	8'd50// 毫秒计数器,它用来表示5.0ms的计数时长`define USBF_T1_C_5_MS		8'd80// 多功能计数器,它用来表示2.5us的周期`define	USBF_T2_C_2_5_US	8'd148// 该符号表示在2.5 us周期的时钟下生成0.5ms周期// 500/2.5 = 200`define	USBF_T2_C_0_5_MS	8'd200// 该符号表示内部恢复的完成时间,应小于10ms`define USBF_T2_C_WAKEUP	8'd10// 该符号表示100us的时间间隔`define USBF_T2_C_100_US	8'd40// 该符号表示1ms的时间间隔// me_cnt counts 0.5 mS intervals. 1.0mS are (1/0.5) 2 ticks`define USBF_T2_C_1_0_MS	8'd2// 该符号表示1.25ms的时间间隔`define USBF_T2_C_1_2_MS	8'd2// 该符号表示100ms的时间间隔`define USBF_T2_C_100_MS	8'd200

⌨️ 快捷键说明

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