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

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

3天内不再提示

多重驱动是什么?为什么需要解决

汽车玩家 来源:赛灵思 作者:赛灵思 2020-03-08 17:31 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

多重驱动定义:

具有两个或更多个源的网络或信号被称为多重驱动场景。

为何需要解决多重驱动场景?

多重驱动的存在属于设计错误,最终值可能难以确定。

因此综合工具会针对具有多重驱动的网络或信号发出错误或警告。在 Vivado 综合工具中将标记“严重警告 (Critical Warning)”。如果不加以解决,那么“opt_design”会标记“错误 (Error)”。

Vivado 报告多重驱动场景的方式如下:

Vivado 会在综合阶段识别具有多重驱动的网络或信号。

它会针对设计中具有多重驱动的网络标记 Critical Warning (SYNTH 8-6859)。

它还会打印一个表,其中包含设计中多重驱动网络的数量。

例如:

示例 1:多重驱动样本

此处 out1 是在顺序块 B1 和 B2 中驱动的,这就导致出现了多重驱动状况。

同样,由组合逻辑和/或顺序逻辑驱动的连线也会导致出现多重驱动场景。

对于总线,由多个源驱动的任意比特都会导致出现多重驱动场景。

注:对于具有不同源的专用比特,Vivado 不会标记多重驱动。

示例 2:多重驱动、三态和层级注意事项

具有三态多重驱动的网络不被视作为多重驱动状况。

通常,任意给定时间点只能有单一源处于活动状态。

子模块中存在的三态驱动将被提取出来并划归最高层级。

示例 3:其中一个驱动属于用户定义的常量的多重驱动场景

在此示例中,其中一个网络驱动为常量。

在此类情况下,该工具会遵循常量驱动运行而忽略另一个驱动。

该工具仍然会发出清晰的 Critical Warning。

示例 4:VIO/ILA 标记调试和多重驱动注意事项

在 Vivado 中,如果不同的总线比特由不同子模块驱动,则不会将其视为由多个源驱动。由于每个比特都有自己的专用驱动,因此不存在争用。

但在此示例中,如果应用以下任一层级限制或类似限制,Vivado 就会将其视作为多重驱动状况。

在子模块上应用“keep_hierarchy”

在子模块上应用“don’t_touch”属性

在子模块的任意端口上应用“mark_debug”属性

将子模块的任意端口连接到 ILA/VIO 调试核

多重驱动是什么?为什么需要解决

发生此状况的原因是用户未严格遵循相关准则来保持子模块例化的边界。

实例 U1 仅驱动 out1[0],out1[1] 连接到 GND。

实例 U2 仅驱动 out1[1],out1[0] 连接到 GND。

由于 out1 的每个比特都具有两个驱动,因此 Vivado 将此视作为多重驱动状况。

调试方法:

有时根据生成的消息难以确定多重驱动的准确名称。

当驱动适用于工具生成的网络而不是用户定义的网络时,就会发生此类状况。

您需要通过搜索具有多个驱动的网络来查找多重驱动网络的驱动。

您可以使用以下 Tcl 命令:

get_nets -hierarchical -top_net_of_hierarchical_group -filter { DRIVER_COUNT > 1 }

多重驱动是什么?为什么需要解决

并且有时最好运行 opt_design,因为只要综合中存在多重驱动,“opt_design”就会发出 Errors 标记。但由于设计经过进一步优化,并且当前所有块(DCP、调试模块)都可用,因此 opt 中的多重驱动错误可能更精确。

受篇幅所限,本文并未涵盖所有场景。以下列出部分其他场景,将来可根据需要进一步详细讲解。

非对称 3D RAM:在 TDP 3D RAM 中,不受支持的模板可能导致出现多重驱动场景。

接口 modport:接口中已定义信号但未将其定义为 modport,此类信号将被作为 inout 来处理。这可能会导致出现多重驱动场景。

总结:

至此,相信您应该已经了解了可能发生多重驱动的各种场景,并且已清楚认识到需要修改 RTL 才能继续运行流程。

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

    关注

    19

    文章

    860

    浏览量

    71510
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    OCAD应用:多重转换式断续变焦系统设计

    | | 多组转换型变焦系统可以实现多档断续变焦。设计时同时设计多重可打入活动组,在打入时随意转换。多组转换型的活动组可以放置在会聚光路中也可以在平行光路中。选择在平行光路中,可利用活动组的无焦性来回
    发表于 04-10 08:05

    单芯片搞定充电+电机驱动+保护!海川半导体HT3112 让便携设备设计更简单

    HT3112 单芯片集成充电管理、电机驱动多重保护,待机电流仅 5μA,内置 2A 持续驱动(可外扩),支持硬件档位配置,无需编程。精简 BOM,缩短开发周期,适用于便携电机类设备。
    的头像 发表于 03-28 17:13 289次阅读
    单芯片搞定充电+电机<b class='flag-5'>驱动</b>+保护!海川半导体HT3112 让便携设备设计更简单

    智能风扇驱动板的功率驱动与保护电路设计

    )高效运转;保护电路则作为 “安全屏障”,应对过流、过温、欠压等异常工况,避免器件烧毁与系统故障。针对智能风扇低噪声、高能效、长寿命的应用需求,本文系统阐述功率驱动电路的拓扑结构、器件选型及参数设计,深入解析多重保护电路的工作机制与实现方案,为高性能智能风扇
    的头像 发表于 03-19 16:00 682次阅读

    二进制 GPU 驱动程序需要什么才能启动?

    二进制 GPU 驱动程序需要什么才能启动? 我想的是 USB、SD 卡、HDMI 和 ETH。 我猜音频没有 DAC,所以我们需要使用 USB 耳机加密狗?
    发表于 03-13 06:00

    嵌入式驱动开发,需要掌握哪些技能?

    有经验的老司机都知道,做嵌入式驱动开发需要掌握一系列的技能,包含编程、硬件、操作系统、调试等多个方面。 1、硬件知识熟悉原理图:能看懂原理图以及各种元器件的含义,以及PCB布局等。 了解
    发表于 01-20 16:46

    多通道直流电子负载:多重保护+自诊断,保障测试安全

    源仪电子的多通道直流电子负载,通过其高度灵活的模块化设计、响应迅速的多重硬件保护以及智能化的诊断与管理功能,成功地将测试安全、操作便捷与高效生产力融为一体。它不仅有效防止了测试过程中昂贵的样品损毁风险,更通过并行测试和自动化集成能力,缩短了产品研发与品质验证的周期。
    的头像 发表于 01-12 16:09 323次阅读
    多通道直流电子负载:<b class='flag-5'>多重</b>保护+自诊断,保障测试安全

    提升可靠性,防水透气膜的多重功能的重要性

    提升可靠性,防水透气膜的多重功能的重要性
    的头像 发表于 12-03 17:34 734次阅读
    提升可靠性,防水透气膜的<b class='flag-5'>多重</b>功能的重要性

    电机驱动板硬件设计指南

    本文从器件选型、原理图设计及PCB layout等几个方面全面的介绍电机驱动板设计需要注意的事项,文末提供了RZ系列的两个电机驱动的demo供参考。
    的头像 发表于 12-02 14:04 7456次阅读
    电机<b class='flag-5'>驱动</b>板硬件设计指南

    驱动芯片到底有多重要?这些黑科技让电子设备飞起来!

    你知道吗? 驱动芯片 就像电子设备的心脏,没有它,你的手机、电脑、智能家电统统都会变成废铁!但这么重要的东西,99%的人却对它一无所知。 驱动芯片到底是什么鬼? 简单来说,驱动芯片就是控制其他
    的头像 发表于 11-25 08:37 633次阅读
    <b class='flag-5'>驱动</b>芯片到底有<b class='flag-5'>多重</b>要?这些黑科技让电子设备飞起来!

    工业自动化系统使用的高边驱动IC

    与智能制造不断推进,高边驱动器不仅需要具备高边负载开关能力,还需集成电流检测、多重诊断与保护功能,以提升系统的智能化水平和抗干扰性能。
    的头像 发表于 11-12 16:14 600次阅读

    单片机怎么驱动电机?

    在各类自动化设备和智能装置中,电机是重要的执行部件,而单片机作为控制核心,需要通过特定的方式驱动电机运转。单片机驱动电机并非直接连接即可,而是要根据电机类型和功率,搭配合适的驱动电路,
    的头像 发表于 07-25 09:31 1458次阅读

    使用HCI UART端口更新CYBT-343026模块固件,这个进程需要迷你驱动程序吗?

    迷你驱动程序本身 是可选的。\" 我的问题是我真的需要下载这个 minidriver 吗? 或者迷你驱动器已经在模块闪存中?
    发表于 07-07 06:53

    常用的mos管驱动方式

    本文主要探讨了MOS管驱动电路的几种常见方案,包括电源IC直接驱动、推挽电路协同加速、隔离型驱动等。电源IC直接驱动的简约哲学适合小容量MOS管,但
    的头像 发表于 06-19 09:22 1426次阅读
    常用的mos管<b class='flag-5'>驱动</b>方式

    OCAD应用:多重转换式断续变焦系统设计

    多组转换型变焦系统可以实现多档断续变焦。设计时同时设计多重可打入活动组,在打入时随意转换。多组转换型的活动组可以放置在会聚光路中也可以在平行光路中。选择在平行光路中,可利用活动组的无焦性来回倒置获得
    发表于 06-18 08:49

    设计双极性输入、全差分输出ADC驱动器时需要考虑什么

    大多数 ADC 驱动器电路既需要正电源电压,也需要负电源电压,并且其电源电压超过 ADC 的输入范围。此要求是为了确保输入和输出级具有足够的裕量摆幅。有时候,由于预算或空间约束,无法同时拥有正负供电
    的头像 发表于 06-14 13:55 1659次阅读
    设计双极性输入、全差分输出ADC<b class='flag-5'>驱动</b>器时<b class='flag-5'>需要</b>考虑什么