- 博客(172)
- 资源 (11)
- 收藏
- 关注
原创 基于FPGA的万兆网卡实现(二)——功能测试
本文在前文代码的基础上进行拓展,通过引入40G以太网子系统,简单实现40G万兆网卡。FPGA使用Xilinx Ultrascale+ VCU128开发板,操作系统使用Ubuntu20.04,使用到的驱动代码与RHEL8.8(RedHat)兼容。
2024-07-15 23:20:15
2744
原创 【AMD/Xilinx】FPGA远程烧录调试工具安装及使用
遇到了连接FPGA的服务器电脑没有Vivado或Vivado版本较低,导致没办法查看ila的情况,可以在服务器端安装相同或更高版本的Xilinx Hardware Server程序。客户端可以使用Vivado远程调试连接到服务器端的FPGA。
2024-07-15 23:12:00
1430
原创 基于FPGA的千兆网卡实现(一)——回环测试
本系列介绍如何利用FPGA实现一个基本的千兆网卡。本文介绍除以太网子系统(Ethernet Subsystem)外其他部分功能设计。FPGA使用Xilinx Ultrascale+ VCU128开发板,操作系统使用RHEL8.8(RedHat)。
2024-05-18 14:23:04
1998
原创 DMAR: [INTR-REMAP] Present field in the IRTE entry is clear 的解决办法
DMAR: DRHD: handling fault status reg 2DMAR: [INTR-REMAP] Request device [01:00.0] fault index 0x39 [fault reason 0x22] Present field in the IRTE entry is clear
2024-05-07 23:13:54
1103
原创 【PCIE】基于PCIE4C的数据传输(四)——使用MSIX中断
本文基于Xilinx Ultrascale+HBM VCU128开发板与linux(RHEL8.9),介绍MSIX中断方式的代码实现。本文分为MSIX中断简述、FPGA逻辑设计、驱动程序设计、上板测试四个部分。
2024-05-07 21:22:47
2020
3
原创 基于PCIE4C的数据传输(三)——使用遗留中断与MSI中断
本文继续基于PCIE4C IP核实现主机(RHEL 8.9)与FPGA(Xilinx Ultrascale+HBM VCU128开发板)间DMA数据传输时的中断控制。
2024-04-30 00:01:59
1581
原创 【I2C】基于SystemVerilog的16比特I/O拓展芯片TCA6416A读写控制
本文基于Xilinx Virtex Ultrascale+HBM VCU128 FPGA开发板,通过利用开发板上的TCA6416A芯片,对I2C通信方式进行学习。根据VCU128用户手册,128中具有两条I2C总线,其中一条连接有4个I2C芯片,能够与系统监视器(SYSMON)、EEPROM、QSFP等硬件资源进行通信。根据手册介绍,TCA6416A芯片为I/O拓展芯片,PCA9544A、PCA9548A芯片为1-4、1-8通道总线交换芯片。
2024-04-26 14:38:47
1114
原创 基于Ultrascale+系列GTY收发器64b/66b编码方式的数据传输(四)——Buffer Bypass简单使用及上板测试
一般情况下,GT的TX和RX中都会存在Buffer用于进行XCLK与TXUSRCLK/RXUSRCLK间的时钟域转换。Buffer的存在会带来较长的逻辑级数进而带来额外的数据路径,进而影响延迟。为此,GT支持选择Buffer Bypass模式,通过相位调整电路和延迟调整电路代替Buffer进行时钟域的转换,如下图所示。GT手册中对于Buffer Bypass的介绍十分详细,在实际使用时,GTY IP核会生成自动相位及延迟对齐模式所需的逻辑电路,无需用户过多参与。
2024-04-20 09:06:32
828
原创 基于Ultrascale+系列GTY收发器64b/66b编码方式的数据传输(三)——CAUI模式使用及上板测试
CAUI模式与普通模式的区别从以下两张来自GTY手册的CAUI框图可以看出。个人理解它通过时分复用的方式,通过MUX选择器支持两个数据流的独立收发。相比正常模式,CAUI模式将发送及接收一个8字节位宽的数据流拆分成发送及接收两个4字节位宽的数据流A和B,每个数据流可以负责的64B/66B 或 64B/ 67B(编码必须相同)数据业务传送,两者彼此独立。
2024-04-20 09:02:02
1464
原创 基于Ultrascale+系列GTY收发器64b/66b编码方式的数据传输(二)——Sync Gearbox使用及上板测试
由于Async Gearbox方式下无法使用buffer bypass方式提供的低延时,因此本文介绍另一种64B/66B实现方式Sync Gearbox的使用方法。
2024-04-19 00:38:30
1413
1
原创 基于Ultrascale+系列GTY收发器64b/66b编码方式的数据传输(一)——Async Gearbox使用及上板测试
64B/66B仍采用突发数据传输的方式传输数据,一个完整的数据传输过程包含S(起始位)、D(数据位)、T(停止位)三种类型的字符,在空闲时刻,可以发送C / Z(控制类字符)。不同于8B/10B的是,64B/66B会对一个完整的数据流进行分割,变成几个64bit的蓝色小段。几个蓝色小段的格式需要满足如下表格中的某一模式,64B/66B会对这些64bit的小段编码成66bit(加上2bit Sync字段)的数据。
2024-04-18 00:06:02
2055
3
原创 基于Ultrascale+系列GTY收发器8b/10b编码方式的数据传输(三)——利用In System IBERT优化信号质量
本文介绍使用In System IBERT IP核构建ibert眼图测试,以及通过设置参数以优化信号传输质量的方法。
2024-04-17 12:33:16
2386
原创 基于Ultrascale+系列GTY收发器8b/10b编码方式的数据传输(二)——数据收发及上板测试
本文基于前文配置的8B/10B编码GTY IP核进行数据收发模块编写及仿真测试,并基于Xilinx Ultrascale+HBM VCU128开发板进行上板验证。
2024-04-15 20:51:58
1891
原创 基于Ultrascale+系列GTY收发器的8b/10b编码方式的数据传输(一)——GTY IP核介绍及配置
本文介绍了Ultrascale+系列GTY高速收发器的基本构成,以及进行8B/10B传输所需的GTY IP核配置,下文将利用本文配置的IP核进行数据收发。
2024-04-15 20:43:02
2711
原创 OpenC910 datasheet 2.0 翻译
C910是由THEAD半导体有限公司开发的一款RISC-V兼容的64位高性能处理器。它通过架构和微架构创新,在控制流、计算和频率方面提供行业领先的性能。C910处理器基于RV64GC指令集,并实现了XIE(XuanTie指令扩展)技术。C910采用先进的12级乱序多发射超标量流水线,具有高频率、IPC和功率效率。C910支持硬件缓存一致性。每个集群包含2个核心。C910支持AXI4总线接口。C910使用带有XMAE(XuanTie内存属性扩展)技术的Sv39虚拟地址系统。
2024-04-10 22:04:50
1317
原创 【PCIE】基于PCIE4C的数据传输(二)—— DMA
本文继续基于PCIE4C IP核实现主机(RHEL 8.9)与FPGA(Xilinx Ultrascale+HBM VCU128开发板)间的DMA数据传输。本文分为四个部分:DMA设计、FPGA设计、仿真设计、驱动程序设计。
2024-04-10 10:50:12
3955
原创 vim copilot插件安装使用
使用不熟悉的开发语言或函数库进行开发工作学习成本较高、效率较低。本文介绍vim Copilot代码补全插件的安装及使用过程
2024-04-01 15:44:53
2808
原创 【AXIS】AXI-Stream FIFO设计实现(四)——异步时钟
本文介绍AXIS FIFO与FWFT FIFO间的关系,并通过仿真辅助验证
2024-03-31 21:49:11
1326
6
原创 【FIFO】Standard / FWFT FIFO设计实现(二)——异步时钟
本文介绍如何使用Systemverilog实现异步标准FIFO及FWFT FIFO,结尾提供代码下载
2024-03-31 21:43:45
461
原创 【FIFO】Standard / FWFT FIFO设计实现(一)——同步时钟
本文介绍如何使用Systemverilog实现标准FIFO及FWFT FIFO,结尾提供代码下载
2024-03-31 21:35:43
902
1
原创 【AXIS】AXI-Stream FIFO设计实现(二)——包模式
为了实现上述要求,在原有FIFO的基础上,增加packet_wr_cnt_r包写指针和packet_rd_cnt_r包读指针,在master上游发来tlast信号表示数据包结束时,packet_wr_cnt_r加1,在slave下游输出tlast信号表示数据包结束时,packet_rd_cnt_r加1,在GSR复位后,数据包读写指针均为0,因此只要数据包读写指针不等,FIFO中就存在上游模块已写完但下游模块尚未读完的数据包。如上图所示,有时下游模块要求当有数据输入时需要保持连续,直到一个完整的数据包结束。
2024-03-29 23:50:33
1681
4
原创 【Memory】Ultrascale系列URAM存储资源使用方法
Xilinx自Ultrascale系列开始引入URAM(Ultra RAM)存储资源,该资源容量为288Kb(8倍于BRAM36),在不使用级联的情况下,读延时1-2个时钟周期(是否使用输出寄存器)与BRAM36相同
2024-03-28 23:23:13
4474
4
原创 【AXIS】AXI-Stream FIFO设计实现
在FPGA中,遇到数据流传输时经常会用到AXI-Stream协议,本文介绍了AXI-Stream 同步FIFO的设计与实现代码
2024-03-28 14:37:27
1999
原创 跨时钟域学习记录(一)
本文介绍跨时钟域数据传输问题及处理方式,包括亚稳态及其影响、使用两级触发器同步异步信号、跨时钟域信号的多路径传输、跨时钟域信号中组合逻辑的处理、信号从快时钟与向慢时钟域转化的处理方式、并行数据的跨时钟域处理
2024-03-24 17:58:42
1133
原创 【PCIE】基于PCIE4C的数据传输(一)——PC访问FPGA
PCIE4C是Ultrascale+系列开始引入的硬核,本文介绍了利用PCIE4C对PC发送的读写操作进行响应的代码实现
2024-03-18 22:45:00
4053
1
原创 【RS422】基于未来科技FT4232HL芯片的多波特率串口通信收发实现
本文对多波特率RS422串口收发进行了SystemVerilog代码实现,同时基于Xilinx Virtex Ultrascale+HBM 128 开发板进行了上板实现及仿真
2024-03-16 22:15:24
2951
原创 Verilog Coding Styles For Improved Simulation Efficiency论文学习记录
原文基于Verilog-XL仿真器,测试了几种编码方式对Verilog-XL仿真效率的影响。
2024-03-04 22:19:13
411
RHELXDMA-linux-driver
2024-03-02
Xilinx hbm英文手册(pg276)
2024-01-08
Xilinx dsp英文手册(ug579)
2024-01-08
Xilinx UltraScale 架构 SelectIO 资源英文手册
2024-01-08
Xilinx UltraScale内存资源英文手册(ug573)
2024-01-08
Xilinx PCIE4C中文手册(pg213)
2024-01-08
Xilinx 100Gb以太网中文手册(pg203)
2024-01-08
VGGNET16神经网络参数
2022-03-08
指定转速 / 指定pwm 控制直流电机转速
2022-01-24
头条中文新闻训练集、验证集、测试集toutiao_cat_data.(train/dev/test).txt
2021-08-11
构建SPOOLING 技术例程库.zip
2021-08-03
ppt转图片(支持动画帧的转换)
2021-07-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人