0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

为FPGA设计添加复位功能的注意事项

FPGA设计论坛 来源:未知 2023-05-25 00:30 次阅读

本文将探讨在FPGA设计中添加复位输入的一些后果。

本文将回顾使用复位输入对给定功能进行编码的一些基本注意事项。设计人员可能会忽略使用复位输入的后果,但不正确的复位策略很容易造成重罚。复位功能会对 FPGA 设计的速度、面积和功耗产生不利影响。

在继续我们的讨论之前,有必要强调一个基本原则:FPGA 是可编程设备,但这并不意味着我们可以对FPGA 中的每个功能进行编程。这一基本原则将在本文的其余部分进一步阐明。

在添加复位输入之前仔细阅读详细信息

图 1 显示了Xilinx7 系列 FPGA 中可用的 D 型触发器(DFF)。

图 1. Xilinx 7 系列 FPGA 的 FDRE D 型触发器。图片由赛灵思提供。

这种具有同步复位 (R) 和时钟启用 (CE) 输入的特定 DFF在 Xilinx 库指南中称为 FDRE ( F触发器,D型,同步复位,时钟启用)。该元素的逻辑表如图 2 所示。

图 2. Xilinx 7 系列 FPGA 的 FDRE D 型触发器的逻辑表。图片由赛灵思提供。

其中,R、CE、D、C为DFF的输入端,分别代表复位、时钟使能、数据输入和时钟。X代表“don't-care”,↑代表时钟上升沿。复位是同步的,因为它只能在时钟的上升沿复位输出。

这个 DFF 是一个设计元素,可以用作更大设计的构建块。我们可以用它来注册一个想要的信号。而且,我们可以根据需要自由使用 FDRE 的复位和时钟使能输入。

我们可以选择是否要使用构建块的可用功能。但是,我们不能向给定的构建块添加不受支持的功能。例如,考虑上面讨论的 FDRE 元素。此设计元素仅支持同步复位。如果我们同时需要异步和同步复位,我们将无法使用 FDRE 触发器。在这种情况下,综合工具将不得不使用其他资源,或者它甚至可能求助于使用可用构建块的组合来实现所需的设计。如您所见,FPGA 的低级特性是固定的,但是一旦配置了这些设计元素,我们就可以按照我们想要的方式将它们连接在一起并构建更大的设计。

作为 FPGA 粒度如何影响实现的一个更微妙的例子,请注意,根据上面的逻辑表,FDRE 的复位 (R) 输入相对于时钟使能 (CE) 输入具有更高的优先级(注意表的行表示当 R 为 1 时,CE 无关)。现在,假设我们的 HDL 代码使用具有复位和时钟使能输入的 DFF。而且,HDL 描述赋予 CE 输入更高的优先级,而不是 R 输入。同样在这种情况下,综合工具将不得不使用 FDRE 以外的资源,或者它必须使用可用构建块的组合来实现所需的功能。有关此示例的更多详细信息,请参阅Xilinx 白皮书。

上面的讨论表明,要获得高效的设计,我们必须仔细研究 FPGA 设计元素的细节,就像我们在使用分立元件之前研究其数据表一样。在本文的其余部分,您将看到此原则的一些其他示例。

移位寄存器查找表 (SRL16)

Xilinx 综合工具可以实现基于 LUT 的移位寄存器,比简单地级联一些 DFF 得到的结构更紧凑、更快。这些称为 SRL 的高效移位寄存器不支持复位输入。这就是为什么,如果您的移位寄存器真的不需要复位,您应该避免它,以便允许综合工具为移位寄存器推断一个有效的基于 SRL 的实现。如果您的代码描述了一个具有复位功能的移位寄存器,XST将使用 DFF 实现设计,或者它将使用一些围绕 SRL 的额外逻辑来实现复位功能。SRL 可以从简单的串联运算符中推断出来(请参阅XST 用户指南第 154 页)。

RAM

与 SRL 的情况类似,我们无法使用显式重置来重置块 RAM 的内容。这就是为什么在将设计映射到块 RAM 时,我们不应该使用复位。您可以在此处找到更多详细信息。

乘数

与不支持复位的 SRL 或块 RAM 不同,某些模块(例如乘法器)对复位类型有限制。这些模块仅支持同步复位。对于给定的乘法器,用同步策略替换异步复位可以将操作频率提高两倍或更多。

总而言之,不正确的复位策略会阻止综合工具有效利用 FPGA 中可用的优化模块。这会对设计的面积、功率和速度产生不利影响。现在,让我们看一些示例,其中综合软件使用 DFF 的复位端口来执行一些优化。

使用设置/重置输入来优化实施

通常建议尽可能避免使用设置和重置输入。这有助于综合工具应用优化,其中检查 DFF 的设置/重置输入以简化实现。为了进一步阐明,假设我们要实现图 3 中所示的原理图。

图 3.可以通过综合软件优化的特定情况。图片由Advanced FPGA Design提供。

在图 3 中,当“信号 A”为逻辑高电平时,无论组合电路“梳状逻辑”的输出是什么,DFF 输出都将在时钟边沿变为高电平。这就是为什么如图 4 所示,综合软件可以消除或门并将“信号 A”应用于 DFF 的同步设置输入。现在,当“信号 A”为逻辑高电平时,DFF 将在时钟边沿设置为高电平。否则,输出将由组合电路“Comb Logic”决定。新设计提供了所需的功能,但现在取消了或门,设计的速度和面积都得到了改善。

图 4。图 3 中电路的优化形式。图片由Advanced FPGA Design提供。

有趣的是,有时,综合工具可能决定对上述优化进行反向操作,并实现图 4 的原理图,如图 3 所示!这是因为在 7 系列中,slice 中的所有 DFF 共享相同的 CK、SR(置位/复位)和 CE 信号。这意味着其 SR 输入连接到“信号 A”的 DFF 不能位于具有其 SR 输入连接到除“信号 A”以外的信号的 DFF 的同一切片中。如果控制信号,即 CK、SR 和 CE 不相同,则 DFF 必须放置在不同的片中。在使用许多低扇出复位信号的设计中,这会导致切片利用率低下。事实上,每个低扇出复位信号都会使用一个 slice 的几个 DFF,而该 slice 的剩余 DFF 将被浪费。在这种情况下,综合工具可以实现图 4 的原理图,如图 3 所示。此过程将导致 DFF 不使用其复位输入。因此,这些 DFF 可以共享相同的控制信号,并且可以放置在同一片中。因此,设备利用率将得到提高。

在图 3 和图 4 中,我们看到后跟 DFF 的或门可以替换为使用其设置输入的 DFF。同样,我们可以用使用其复位输入的 DFF 替换后跟 DFF 的与门(参见下面的图 5)。

图 5.图片由Xilinx提供。

在图 5 中,SRVAL 属性指定断言 SR 输入后 DFF 的输出值。因此,对于左侧中间的 DFF,SR 输入被指定为设置端口。但是,对于左侧下方的DFF,SR输入实际上是复位输入。上层 DFF 不使用复位输入。

左边的三个DFF不能放在同一个slice中,因为它们的控制信号不同。然而,通过上面讨论的转换,我们获得了三个具有相同控制信号集的 DFF。因此,我们可以将三个 DFF 放在同一个切片中。请注意,上述转换对异步置位/复位信号无效。这就是为什么我们通常建议使用同步设置/重置信号而不是异步信号。






有你想看的精彩




至芯科技-FPGA就业培训来袭!你的选择开启你的高薪之路!5月30号西安中心开课、欢迎咨询!
芯片设计流程概述
LVDS技术的应用优势及基于FPGA实现远端显示系统的设计





扫码加微信邀请您加入FPGA学习交流群




欢迎加入至芯科技FPGA微信学习交流群,这里有一群优秀的FPGA工程师、学生、老师、这里FPGA技术交流学习氛围浓厚、相互分享、相互帮助、叫上小伙伴一起加入吧!


点个在看你最好看







原文标题:为FPGA设计添加复位功能的注意事项

文章出处:【微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1626

    文章

    21665

    浏览量

    601799

原文标题:为FPGA设计添加复位功能的注意事项

文章出处:【微信号:gh_9d70b445f494,微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    如何为住宅配置静态IP:步骤与注意事项

    住宅配置静态IP地址,通常涉及以下步骤和注意事项
    的头像 发表于 10-24 08:02 162次阅读

    绕线电感定制的注意事项

    电子发烧友网站提供《绕线电感定制的注意事项.docx》资料免费下载
    发表于 09-20 11:24 0次下载

    共模电感定制的注意事项

    电子发烧友网站提供《共模电感定制的注意事项.docx》资料免费下载
    发表于 09-04 11:47 0次下载

    LiFePO4设计注意事项

    电子发烧友网站提供《LiFePO4设计注意事项.pdf》资料免费下载
    发表于 09-03 09:24 0次下载
    LiFePO4设计<b class='flag-5'>注意事项</b>

    先进FPGA的电源设计注意事项(电源设计器121)

    电子发烧友网站提供《先进FPGA的电源设计注意事项(电源设计器121).pdf》资料免费下载
    发表于 08-26 09:27 0次下载
    先进<b class='flag-5'>FPGA</b>的电源设计<b class='flag-5'>注意事项</b>(电源设计器121)

    FPGA的高速接口应用注意事项

    FPGA的高速接口应用注意事项主要包括以下几个方面: 信号完整性与电磁兼容性(EMC) : 在设计FPGA高速接口时,必须充分考虑信号完整性和电磁兼容性。这要求合理的PCB布局、走线策略和屏蔽技术
    发表于 05-27 16:02

    FMD LINK 使用注意事项

    电子发烧友网站提供《FMD LINK 使用注意事项.pdf》资料免费下载
    发表于 05-06 10:11 0次下载

    FPGA设计添加复位功能注意事项

    本文将回顾使用重置输入对给定功能进行编码的一些基本注意事项。设计者可能会忽视使用复位输入的后果,但不正确的复位策略很容易造成严重处罚。复位
    发表于 05-03 09:49 182次阅读
    向<b class='flag-5'>FPGA</b>设计<b class='flag-5'>添加</b><b class='flag-5'>复位</b><b class='flag-5'>功能</b>的<b class='flag-5'>注意事项</b>

    555芯片的引脚功能 555集成芯片的使用方法 使用555芯片时的注意事项

    、使用方法和注意事项。 一、555芯片的引脚功能 555芯片一般有8个引脚,分别是VCC(正电源)、GND(地)、TRIG(触发器)、OUT(输出)、RESET(复位)、CTRL(控制电压)、THRES(比较器2非反转输入)和D
    的头像 发表于 02-02 13:57 1.4w次阅读

    浪涌抑制器的应用及注意事项

    浪涌抑制器的应用及注意事项?|深圳比创达电子
    的头像 发表于 01-19 09:55 685次阅读
    浪涌抑制器的应用及<b class='flag-5'>注意事项</b>?

    测速电机: 常见6大注意事项

    测速电机: 常见6大注意事项!测速电机是一种用于测量物体运动速度的设备,广泛应用于工业生产和科学研究中。测速电机常见的6大注意事项以确保安全和准确性。
    的头像 发表于 01-11 10:53 428次阅读
    测速电机: 常见6大<b class='flag-5'>注意事项</b>

    霍尔元件使用的注意事项

    霍尔元件使用的注意事项  霍尔元件是一种常见的电子元件,主要用于测量和检测磁场的变化。它具有灵敏度高、响应速度快、耐磁场干扰等优点,在各种应用中得到广泛使用。然而,为了确保霍尔元件的正常工作和延长其
    的头像 发表于 12-18 14:56 1222次阅读

    电流互感器的使用注意事项

    当谈到电流互感器的使用时,有一些重要的注意事项需要我们牢记。在本文中,我们将探讨这些注意事项您提供详细和全面的信息。
    的头像 发表于 12-15 10:34 1372次阅读
    电流互感器的使用<b class='flag-5'>注意事项</b>

    轻负载时开关元件工作相关的注意事项

    轻负载时开关元件工作相关的注意事项
    的头像 发表于 12-14 15:43 418次阅读
    轻负载时开关元件工作相关的<b class='flag-5'>注意事项</b>

    伺服电机常见故障维修及注意事项

    伺服电机常见故障维修及注意事项
    的头像 发表于 11-28 13:29 2143次阅读