- 博客(21)
- 资源 (3)
- 收藏
- 关注
原创 FPGA NVMe Host控制器介绍与测试
FPGA NVMe Host控制器采用纯PL 设计,设计语言为Verilog,支持NVMe硬盘PCie EP初始化,支持NVMe配置寄存器空间初始化,支持Admin指令管理,组要包括可识别命名空间和控制器数据结构,以及Namespace list ID的获取;同时支持IO队列的创建。NVme 读操作波形如下,用户侧支持31bit的总扇区数进行读写,NVMe Host控制器内部惊醒指令拆分。NVme 写操作波形如下,用户侧支持31bit的总扇区数进行读写,NVMe Host控制器内部惊醒指令拆分。
2024-05-05 10:49:09 442
原创 基于HDL Designer 的UART FPGA设计教程
1 准备工作... 31.1 UART工程描述... 31.1.1 Uart工程结构... 41.1.2 源文件结构... 41.2 安装ModelsimSE 2019.2软件... 51.3 安装HDL Designer2021.1软件... 51.4 安装Vivado 19.2软件... 62 设置HDS Setup Assistant配置... 62.1 HDS Setup Assistant介绍... 62.2 设置HDL语言... 72.3 设置目标FPGA器件... 82.4 设置仿真器选项..
2023-11-28 09:32:41 492 6
原创 通过HDQ8总线接口,执行2Byte读写操作
bq34z100的Control()command包括2个地址,即地址0x00和地址0x01;向该地址写入DEVICE_TYPE,即0x0001就可以从0x00和0x01地址获取device type。通过HDQ8总线读写操作时,每次执行一个byte的读写;那么,如何执行2byte地址的寄存器读写呢?其实,就是把每个字节分开读写就行。
2023-11-19 19:36:41 103
原创 HDQ时序仿真
通过这三张图片,介绍一下FPGA实现HDQ PHY的结构以及HDQ时序;通过HOST下发地址0x70,写使能位(即0x0000_0170),以及数据0x31;FPGA发送数据后,又回读回来。
2023-11-19 19:35:34 66
原创 HDQ协议
使用Zynq 作为Host,再PL中实现HDQ PHY接口,与电池通信;FPGA HOST可以对电池的信息进行查询或者配置;HDQ的协议采用8bit模式;HDQ协议包括Break,地址+RWbit,data三部分。HDQ的时序部分,如图所示,通过0的短长表示1和0;
2023-11-19 19:34:14 244
原创 ** Warning: (vsim-3473) Component instance “<protected> : <protected>“ is not bound.
FPGA;modelsim
2023-11-01 17:26:39 252 1
原创 ** Error: (vlog-7) Failed to open design unit file “ “ in read mode.
Modelsim error;Failed to open design unit file " " in read mode.
2023-11-01 16:50:37 1366 2
原创 Xilinx PCIe XDMA IP中断
(1)usr_irq_req拉高导致中断发送到PCIe Host,可以同时拉高多个bit;(5)等待下一个usr_irq_Ack后,我才可以发起下一个中断。此时,如果(3)步骤,我知道如果ISR处理中断,那么,我就可以把。(2)等到ack后,相应的usr_irq_req才可以拉低;(方法是通过驱动写寄存器,来告诉。)必须等到中断被处理后,才可以把。为高表示中断已经发送了。
2023-10-16 17:13:12 1726
原创 Xilinx PCIe XDMA 描述符结构
描述符的链状结构,如下图所示,描述符的数目由Dsc_Adj寄存器决定;每个描述符必须精确的描述,“其后所跟着的描述符或者描述符块”。Nxt_adj的值会逐个递减,直到最后一个描述符时,变为0.描述符中的control字段决定是否为最后一个描述符。Xilinx XDMA支持DMA操作,DMA操作时,基于描述符实现快速高效的数据搬移。来决定下一个描述符地址种描述符的个数。寄存器描述邻近描述符。
2023-10-16 17:05:54 583
原创 Xilinx JESD204 Core Deterministic delay操作
Xilinx 204B IP CORE在子类 1和子类 2模式下,支持deterministic delay(确定延时的介绍见《204B Deterministic delay概念》和《204B Deterministic delay示例》两篇博客)。子类1的设备通过SYSREF接口以及SYNC~来实现确定性延迟,本文主要介绍SYSREF。子类2的设备只通过SYNC~信号来实现确定性延迟。
2023-10-16 14:48:54 539
原创 Initial lane synchronization
在JESD204发射(TX)设备中,K 的值应该是可编程的。在JESD204接收(RX)设备中,建议 K 的值是可编程的。初始通道同步程序遵循其他标准的原则,例如 XAUI 标准,参考204B标准协议中的文献 6,第 48.2 条。Initial lane synchronization(初始通道同步)的目的就是实现204B系统中一组link之间的lane与lane之间的同步和对齐。完成同步过程(例如,FPGA作为RX时,实例化了4个RX serdes,但实际只使用了2个lane的serdes)。
2023-10-13 16:49:46 155
原创 204B Deterministic delay示例
在这种情况下,Rx 弹性缓冲区将比上述场景(即条目(2))晚 4 个multiframes释放(因为子类 1 设备的 ILA 序列中有 4 个多帧)。RX 弹性缓冲区所需的最小SIZE等于数据最早到达 RX 弹性缓冲区输入与下一个 RX 弹性缓冲区“释放机会”(在每个 LMFC 边界之后发生 RBD 帧周期)之间的差异。(2) 如果 ILA 序列通过了 Rx 弹性缓冲区,则上面提到的“有效数据”将是 ILA 序列的开始。对于需要不同确定性延迟的应用程序(即,当尝试最小化链路上的延迟或所需的 RX。
2023-10-13 14:58:12 185
原创 204B Deterministic delay概念
in unitsrepeatablefromtoand链路上的确定性延迟,如下图所示的示例),定义为从TX设备上基于并行帧的数据输入到RX设备上基于并行帧的数据从输出”,所有这些都在帧时钟域内测量。链路上的这种延迟(即),应以帧时钟周期为最小单位,进行设置;并且应可从上电周期到上电周期,以及跨链路重新同步时重复确定性的延时;前提是辅助定时信号(例如204B需要用到的SYSREF和SYNC~)满足器件输入端所需的规格。
2023-10-13 14:52:00 415 2
原创 Xilinx 204B IP Core时钟方案
再学习204B协议的过程中,我遇到了很多与时钟相关的概念,弄得一头雾水。通过这一段时间的学习,我把遇到的时钟总结一下,并与大家分享,如果有不正确的地方,欢迎指正。
2023-10-12 11:55:44 980
原创 204B协议Code group synchronization学习记录
subclass1、subclass2是204B协议特有的模式,主要目的是支持deterministic delay,即确定的延时;识别到K码后,也就找到了8B/10B编码后的symbol,为后续ILA序列的识别和lane对齐做准备。通道的Code group synchronization编码组同步过程,是通过以下过程实现的(先把204B协议的描述搬过来,见下边4条英文描述)。• ADC检测到FPGA已停止SYNC信号请求后,ADC将继续发射 /K/ 符号,直到下一个LMFC开始。
2023-10-10 12:28:44 410
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人