即将到来的 5G 无线通信系统似乎需要支持比目前使用的 4G 系统更大的带宽(200 MHz及以上),以及大型的天线阵列,以实现更高的载波频率,从而有可能构建小得多的天线元。这些所谓的大规模多输入多输出(MIMO)应用连同更加迫切的延迟需求可将设计复杂度提高一个数量级。
去年年底,赛灵思宣布推出 20nmUltraScaleTM系列,目前第一款器件已在运输途中 [1,2,3]。这项新技术与之前的 28nm7 系列相比具有众多优势,尤其是在无线通信方面。确实,这款新型芯片与赛灵思Vivado®设计套件 [4,5] 工具的结合完美适用于新一代无线电应用等高性能信号处理设计。
我们来看看针对这类设计 UltraScale 器件有哪些优势,着重观察架构方面 —— 尤其是当实现一些用于无线数字前端(DFE)应用的最常见功能时,这种增强功能会给 DSP48 Slice 和 Block RAM 带来哪些优势。与 7 系列相比,UltraScale 系列可提供更加密集的布线和时钟资源,能够实现更高的设备利用率,尤其针对高速设计。但是,这些特性通常不能对设计架构产生直接影响,因此我们在这里不做讨论。
UltraScale 架构增强功能简介
UltraScale 20nm 架构不仅能随着几何节点的迁移提高集成能力,提升架构性能以及降低功率消耗,还包括一些显著增强的全新功能,可直接支持 DFE 应用。而这些功能对 UltraScale Kintex®器件而言尤其重要,为此赛灵思已根据此类设计的需求进行了重大调整。
首先,这些器件包含多达 5,520 个 DSP48 Slice,这几乎是 7 系列 FPGA 的最大数量(1,920)的三倍(Zynq®- 700 All Programmable SoC为2,020) ,因此,它可以实现高集成度。比如,一个中型 Ul traScale FPGA 的瞬时带宽就能达到 80 到 100 MHz,您可以利用这一带宽实现完整的 8Tx/8Rx DFE 系统,而在 7 系列架构中,必须使用双芯片解决方案才能实现,因为每个芯片只能有效支持一个 4x4 系统。如欲了解有关这类设计各项功能的详细信息,敬请参阅赛灵思白皮书WP445“采用赛灵思All Programmable FPGAs以及SoC实现高速无线电设计”[6]。
受远辐射被动降温的散热限制,将复杂设计集成到单个器件要求大幅降低功耗,以散发热量。UltraScale 系列在提供这项功能时,其静态功耗比同等规模的 7 系列器件低 10%-15%,动态功耗比类似设计低20%-25%。此外,赛灵思还大幅降低了UltraScale产品线的SerDes功耗。
此外,它还存在性能优势。最低速度等级 UltraScale 器件支持时钟速率高于 500MHz 的设计,而 7 系列器件则要求达到中速等级。然而,即使这样,Block RAM 从计时角度来看要求仍然严苛,并且必须选择 WRITE_FIRST 或 NO_CHANGE 模式以达到这种性能。不能使用 READ_FIRST,因
为它的限值在 470MHz 左右,而另外两种模式可达到 530MHz。无论何时NO_CHANGE 总是您的最佳选择,因为它同时还能实现最低功耗。
同样,SerDes可在最低UltraScale速度等级上支持高达 12.5 Gbps 流量,从而实现最大 JESD204B 接口连接速度,其应很快可在大多数DAC 和 ADC 上实现。同样,最低的UltraScale 速度等级还可支持两个最高CPRI 等级(7 级和 8 级,其流量分别为 9.8304 和 10.1376Gbps)以及 10GE接口,通常用于DFE系统。
此外,UltraScale Kintex 资源组合更适合无线电应用,它能够实现逻辑资源的最佳用法。该 DSP 逻辑比尤其符合 DFE 设计的典型需求。确切地说,UltraScale Kintex 器件拥有每千查找表(LUTs)8-8.5 个 DSP48 Slice,而7 系列器件只有大概6个。
赛灵思还大幅增加了 UltraScale架构的时钟和布线资源。这项增加提高了器件利用率,尤其针对高时钟速率设计。实际上,这样做减少了布线拥塞,设计人员可以实现更好的设计封装和 LUT 利用率,尤其是使 LUT/SRL 压缩变得更为高效。用户可以利用这项有意思的架构特性更好地打包设计,从而优化资源利用率以及动态功耗,其中相关逻辑的动态功耗下降系数可达 1.7。LUT/SRL 的压缩原理包括采用 LUT6 的两个输出在单个LUT 内打包两个不同函数。这样,如果两个 LUT5 共享相同的输出或内存读取 / 写入地址,您可以将实现逻辑函数或内存的两个 LUT5 打包到一个 LUT6 中。同样,也可以将两个SRL16打包到一个LUT6中。
该特性对于数字无线电设计非常实用,该设计通常将共享同一地址的多个小内存(例如储存滤波系数的ROM)和很多短延迟线(小于 16 个周期)集成到按时间排列的不同信号路径中。数据复用功能,尤其是双输入复用器,也将受益于这项特性。但是要想获得较高的时钟速率,必须谨慎使用 LUT/SRL 压缩。首先,必须用连接到 O6/O5 LUT 输出的两个触发器以避免发生任何时序问题。基于相同的原因,建议仅对相关逻辑使用这项功能,该策略还能起到限制布线拥塞的作用。
在 UltraScale 器件中,时钟架构和可配置逻辑块(CLB)均有助于更好地利用器件。尽管 CLB 仍然以 7 系列架构为基础,但现在每个 CLB 拥有单个 Slice(而非两个),其中集成了 8 个 6 输入 LUT 和 16 个触发器。因此进位链有 8 位长,且提供更宽的输出复用器。另外,赛灵思还增加了控制类资源(也就是时钟,时钟使能和复位信号均共享于 CLB 中的存储组件) 。
然而,从本质上来讲,还是DSP48 Slice和Block RAM的改进对无线电设计架构的影响最大。我们来详细了解一下。
UltraScale DSP48 Slice 架构的优势
图 1 给出了 Ul traScale DSP48Sl ice (DSP48E2) 的视图。上面的原理图(图表“a”)显示了详细架构,下面的原理图(“b”)强调了与 7 系列Slice(DSP48E1) 相比增强的功能。
• 赛灵思将乘法器的宽度从 25×18增加到 27×18,预加法器宽度也相应增加到 27 位。
• 您可以选择预加法器输入端为 A或 B,输出端集成了一些多路复用器逻辑,从而允许在任意乘法器输入端上(27 位或 18 位输入)馈送 D±A 或 D±B。
• 预加法器输出端可馈送两个乘法器输入(在 18 位输入端上有适当的 MSB 截断),因此允许计算高达 18 位数据的 (D±A)² 或(D±B)²。
• 通过额外的 W-mux 多路复用器在算术逻辑单元 (ALU) 中添加了第四个操作数,可将其看作输入端 C、P 或一个常量值(在F PGA 配置时定义)。这样,使用乘法器时便可以执行一个三输入操作,如 A*B+C+P 或A*B+P+PCIN。值得注意的是,只能在 ALU 中添加 W-mux 输出(不允许减少)。
• 赛灵思集成了其它逻辑,从而可在 X、Y 或 Z 多路复用器输出端中的任意两个之间执行 96 位宽异或。实际上此处可提供四个不同模式,1x96 位、2x48 位、4x24 位或 8x12 位异或操作。
将乘法器尺寸从 25×18 扩大到27×18,这对 DSP48 Slice 芯片面积的影响极小,但会显著提高对浮点运算的支持。首先,需要指出的是,DSP48E2 可有效支持高达 28×18 位或 27×19 位符号乘法运算。这是通过用输入端 C 处理额外的比特位来实现,如图 2,显示了 28 位操作数 X 和18 位操作数 Y 之间的乘法运算。
本视频基于Xilinx公司的Artix-7FPGA器件以及各种丰富的入门和进阶外设,提供了一些典型的工程实例,帮助读者从FPGA基础知识、逻辑设计概念
本课程为“从零开始大战FPGA”系列课程的基础篇。课程通俗易懂、逻辑性强、示例丰富,课程中尤其强调在设计过程中对“时序”和“逻辑”的把控,以及硬件描述语言与硬件电路相对应的“
课程中首先会给大家讲解在企业中一般数字电路从算法到流片这整个过程中会涉及到哪些流程,都分别使用什么工具,以及其中每个流程都分别做了
@2003-2020 中国电子顶级开发网