博客
十多年前,我们不会料到加速器在数据中心会这么流行。尽管它们并不普遍,但许多新的工作负载具备加速条件,并且移植工作使旧版应用程序可以卸载以提高性能。这种过渡在GPU上最为明显,但人们寄希望于FPGA将继续发展。
下面讲解在vivado中怎么抓一个bit下进去后开始运行的初始事件,即startup trigger。操作起来比较复杂,一般情况下都是让要抓的事件延迟发生或者循环发生,方便调试。
UART是一种通用串行数据总线,用于异步通信。UART能实现双向通信,在嵌入式设计中,常用于主机与辅助设备通信。UART包括RS232、RS449、RS423等接口标准规范和总线标准规范,即UART是异步串行通信口的总称。
所谓加扰是将源数据流与一个随机序列异或后,再发送出去,异或操作完成后的数据流基本是伪随机的。PCIE数据发送端有加扰,数据接收端也有解扰操作,解扰与加扰使用相同的公式,必须完全同步,即LFSR使用相同的初始值。
xilinx FPGA的资源一般指IOB,CLB,BRAM,DCM,DSP五种资源。其中IOB就是input/output block,完成不同电气特性下对输入输出信号的的驱动和匹配要求。
Xilinx对Clock的管理如分频,倍频等没有使用IP,而是直接调用了相关原语MMCME3_ADV,在这里MMCME3_ADV原语是针对UltraScale的器件的,7系列的器件相关原语名称为MMCME2_ADV。这个规则和LVDS的serdes等原语一致。
准则1:合适的代码风格
<img width="600" src="http://xilinx.eetrend.com/files/2020-01/%E5%8D%9A%E5%AE%A2/100046965-88…; alt=""><br>
准则2:精准的时序约束
对于xilinx 7系列的FPGA而言,flip-flop支持高有效的异步复/置位和同步复位/置位。对普通逻辑设计,同步复位和异步复位没有区别,当然由于器件内部信号均为高有效,因此推荐使用高有效的控制信号,最好使用高有效的同步复位。输入复位信号的低有效在顶层放置反相器可以被吸收到IOB中。
Xilinx的针对Gigabit应用的FPGA基本都会集成一些高速串行接口,统称为Gigabit Transceiver(GTx),包括GTP、GTR、GTX、GTH、GTZ、GTY(传输速率不断增加)等,不同系列的FPGA集成的GTx不同。
在PS内的时钟模块可以为PL提供4个时钟FCLKCLK[3:0],这4个时钟的频率可以通过配置界面进行修改。由于这4个时钟的频率由PS引到PL中,所以可将FCLK连接到PL时钟缓冲区,作为PL内定制外设的时钟源。
对于FPGA工程师来说,DCM / DLL / MMCM / PLL这些词简直每天都能看到,但很多人并不是很清楚它们之间的差异。在Xilinx的FPGA中,时钟管理器称为Clock Management,简称CMT。我们所用到的DCM / PLL / MMCM都包含在CMT中。

