7系列FPGA

Xilinx FPGA复位浅析

1. 普通逻辑的复位
对于xilinx 7系列的FPGA而言,flip-flop支持高有效的异步复/置位和同步复位/置位。对普通逻辑设计,同步复位和异步复位没有区别,当然由于器件内部信号均为高有效,因此推荐使用高有效的控制信号,最好使用高有效的同步复位。输入复位信号的低有效在顶层放置反相器可以被吸收到IOB中。

下面细说原因
先比较一下同步复位和异步复位的区别:
首先是同步复位,同步的控制信号包括同步置位/复位和使能,可以被吸收到LUT中,目的是为了防止控制集不同的LUT不能被综合到同一个slice中,这样虽然提高了了LUT的使用率,却降低了slice的使用率,得不偿失。

控制信号扇出不大于16的情况都可以尽可能的被吸收到同一个slice的LUT中去,在vivado中可以使用control_set_opt_threshold进行设置。

同步复位
always @(posedge I_sys_clk)
begin
if(I_rst)
begin
OUT1 <= 0;
end
else
begin
OUT1 <= &{a1,a2,a3,a4,a5,a6};
end
end

作者:圆宵,来源:FPGA那点事儿

IODelay是Xilinx FPGA IO结构内,一个很有用处的单元,至少从Spartan6/Virtex5时代开始,就已经集成了这一技术,在很多高速接口互联时,我们都可能找到IODelay的用武之地。在最新的Ultrascale系列FPGA中,IODelay这一单元的具体用法,跟7Series中相比产生了一些变化。本文总结下,供读者参考。

1. 7Series FPGA中IODelay的用法
在7Series中,IODelay都需要配合IOdelayCtrl来使用。其延迟步进阶数总共为64个Taps,每个Tap精度是tREFCLK/64。REFCLK提供3种设置,分别是200Mhz,300Mhz,和400Mhz,所以相对应的延迟精度分别为:5ns/64=78ps,3.333ns/64=52ps,2.5ns/64=39ps。

7 系列 — FRAME_ECCE2 端口描述与功能性

7 系列 FPGA 帧 ECC 逻辑可检查配置帧数据的单位或双位错误。它可使用基于帧数据( BitGen 生成)计算的 13 位汉明码校验值。

在读回过程中,帧 ECC 逻辑可计算使用所有帧位(包括 ECC 位)的综合值。如果位没有改变,还是最初设定的值,那 SYNDROME[12:0] 都是零。如果一个位发生改变,包括所有 ECC 位,那该位的位置则由 SYNDROME[11:0] 表明。如果两个位发生改变,则 SYNDROME[12] 为 0,其余位都为非零。如果改变的位数超过了两位,SYNDROME[12:0] 则为不确定。

如果一个位或两个位发生改变,则可断言模块的错误输出。要使用帧 ECC 逻辑,FRAME_ECC _VIRTEX6 原语在用户设计中就必须实例化,而且必须通过 SelectMAP、JTAG 或 ICAP 接口执行读回。

在每个读回帧的末端,可针对读回时钟(CCLK、TCK 或 ICAP_CLK)的一个周期断言 syndrome_valid 信号。读回一个帧所需的周期数不是固定的,随所用接口的不同而不同。修复已经发生改变的位需要一个用户设计。FRAME_ECCE2 逻辑不修复改变的位。设计必须能够存储至少一个帧的数据,要么就必须能够取回原始数据帧,以便重新加载。

最简单的操作为:

基于FPGA的高速串行数据收发接口设计

作者:刘 安,禹卫东,马小兵,吕志鹏 2017年电子技术应用第6期

摘 要: 针对传统ADC/DAC应用中采样数据并行传输存在线间串扰大、同步难等问题,设计了一种基于高速串行协议——JESD204B的数据收发接口。以Xilinx公司V7系列FPGA为核心控制单元设计电路,在单通道传输速率为6 Gb/s的条件下完成数据收发测试,验证了传输过程中数据的同步性、准确性及整体方案的可行性。设计结果表明,这种串行传输方式不仅解决了并行传输所带来的诸多问题,还降低了制板设计时PCB布线的复杂程度、减少了板层数量、节约了成本。

0 引言

数据转换器包括模数转换(Analog-to-Digital Converter,ADC)和数模转换(Digital-to-Analog Converter,DAC),是集成电路中的重要组成部分。在数字信号处理技术发展的过程中,普通的数据转换器已难以满足用户对数据传输速率和转换速率的需求,这促使了高速ADC/DAC及其相关技术的快速发展。

基于能量攻击的FPGA克隆技术研究

作者:许纪钧,严迎建 2017年电子技术应用第4期

摘 要: 针对FPGA克隆技术展开研究,指出其关键问题在于对加密密钥的攻击,并以Xilinx公司7系列FPGA为列,讨论了采用AES-256 CBC模式解密条件下的攻击点函数选择方法,通过单比特功耗模型实施差分能量攻击,成功恢复了256 bit密钥。同时,针对不可直接代入密钥检验正确性的问题,设计了一种基于DPA攻击相关系数极性的检验方法,避免了密钥错误引起FPGA错误配置,实验表明,该方法能够有效消除相关系数的“假峰”现象。

0 引言

随着可编程技术的不断发展,FPGA已经成为各类商业系统的重要组成部分。然而,由于配置文件(比特流)必须存储在FPGA外部,通过窃取外部存储器后,攻击者可直接盗版生产,还可通过FPGA逆向工程(FPGA Reverse Engineering)获得硬件设计[1,2]或加入硬件木马[3,4],对产品进行伪造和破坏,严重地威胁了用户知识产权。

Xilinx 7系列(KC705/VC709)FPGA的EDK仿真

作者:俞则人

一:前言

好久没写博客了,前段时间有个朋友加微信请教关于PCIe的一些学习方法。本人也不是专家,只是略知一些皮毛。对于大家反馈的问题未必能一一解答,但一定知无不言。以后我会常来博客园看看,大家可以把问题直接在评论区提出来。这篇博客是应部分网友的要求写的,Xilinx升级到7系列后,原来的pcie ip核trn接口统统转换成了axis接口,这可愁坏了之前用xapp1052的朋友,一下子不好用了,该怎么办?对此我的想法是:如果您两年左右的verilog代码经验,建议您直接使用axis接口,如果您觉得使用不方便,大可在外面再包一层您自己觉得好用的接口。博主公司有这方面的技术积累,但涉及到商业利益,我不能在此出售源代码,如有私下合作,可谈。PCIe_to_RapidIO, PCIe_to_FC, PCIe_to_Enet等各类接口转换都没问题。如果您刚接触PCIe,想要更清楚得理解axis接口的PCIe IP核是如何工作的,那么这篇系统级的博客对您将会非常有用,同时博主也会给出一个用Block_design搭的带有DMA功能的简易EP,大家只要自己写个简单的控制逻辑就可以操作EP端的DMA,对于没有经验的工程师,是一个比较容易的技术迁移。

DDR3参考设计

Xilinx®7系列FPGA内存接口解决方案是组合了预置的控制器和物理层(PHY),以用于互连用户的7系列FPGA设计和基于AMBA® AXI4总线的DDR3 SDRAM设备。

特性

  • 支持的内存组件位宽高达64位
  • 可选的AXI4 从接口
  • 支持 single & Dual rank SODIMM插槽
  • 1,2,4和8GB设备支持
  • 支持8 bank
  • 支持 DQ : DQS率8:1
  • 支持8-word burst操作
  • 支持ODT模式
  • 初次和定期ZQ校准(可配置)
  • JEDEC® - 兼容DDR3初始化支持
  • Verilog或VHDL源码交付(仅限于顶层文件)
  • 内存到FPGA逻辑接口时钟比支持4:1和2:1
  • 应用

    MIG核可用来链接用户设计和DDR3 SDRAM设备。设计的物理层(PHY)一侧的设计通过FPGA I/O块链接到DDR3 SDRAM设备,用户接口部分则通过FPGA逻辑链接到用户的设计。

    系统框图

    7Series FPGA高速收发器使用学习——RX接收端介绍

    上一篇博文介绍了GTX的发送端,这一篇将介绍GTX的RX接收端,GTX RX接收端的结构和TX发送端类似,数据流方向相反,不过和发送端也有一些区别,GTX的RX接收端结构图如图1所示:

    GTX的RX接收端结构图

    图1

    Xilinx的7系列FPGA根据不同的器件类型,集成了GTP、GTX、GTH以及GTZ四种串行高速收发器,四种收发器主要区别是支持的线速率不同,图一可以说明在7系列里面器件类型和支持的收发器类型以及最大的收发器数量。

    Xilinx的7系列FPGA随着集成度的提高,其高速串行收发器不再独占一个单独的参考时钟,而是以Quad来对串行高速收发器进行分组,四个串行高速收发器和一个COMMOM(QPLL)组成一个Quad,每一个串行高速收发器称为一个Channel,以XC7K325T为例,GTX在FPGA内部如图二所示:

    对于每一个串行高速收发器,其包含了发送部分和接收部分,内部结构图三:

    赛灵思FPGA助力解决困扰7年的27皇后难题

    作者:陆健锋

    有一个古老而著名的N皇后问题,即放置n个皇后在n*n棋牌中,使两两间的皇后不会相互攻击(同一行、同一列、同一斜线上的皇后都会自动攻击),它是回溯算法的典型案例。其26皇后在2009年被解开,但Q(27)的深入拓展持续了六年。

    现在,德累斯顿工业大学的托马斯B.普瑞瑟尔团队已经解开了Q(27)问题。可以参考文章“Solving the N-Queens Puzzle for 27 Queens using FPGAs”,在这里他们详述了为什么选择攻克27皇后问题,用了什么样的算法和设计,以及这个过程中的宝贵经验。在9月19日,他们再一次运用大量并行FPGA来获取到了答案:

    同步内容