网易首页 > 网易号 > 正文 申请入驻

Yosys 0.70:加法器少了,设计就更好吗?

0
分享至

近日,YosysHQ 发布 Yosys 0.70。更新清单里,mcm 将常数乘法器改写成共享加法器图;实验性的 optbarriers 则插入优化屏障,flatten 和 prep 也新增了相关选项。

综合工程师可以把这两项功能放在一起看。一项寻找可以复用的算术结构,另一项让部分结构在优化过程中保留下来。综合流程由此多了两种更明确的控制手段:哪里尝试合并,哪里暂时保留边界。

对使用开源 EDA 的团队,这次更新最实用的问题是:同一份 RTL,如何在功能一致的前提下,比较不同综合策略?答案需要沿着算法结构、目标映射和验证准备三个环节展开。少几个运算节点,只是评估的起点。


常数乘法,共享的是什么

mcm 的命令帮助把处理对象写得很清楚:带常数操作数的 $mul 单元。它将这些单元改写为由移位、加法和减法组成的共享图。源码按共同的输入操作数等条件组织乘法组,再为组内系数寻找实现方式。

常数乘法具有可以利用的算术关系。例如,乘以 3 可以写成输入与左移一位后的输入相加;乘以 21 可以继续利用乘以 3 的中间结果。若令 t=3x,那么 21x=8t−t。这个代数示意揭示了共享的对象:同一输入产生的中间倍数。

在足够的位宽下,3x 和 21x 可以由两次加减运算连接起来。分别实现两个系数时,也能用移位加减,但共同的中间结果未必得到同样利用。mcm 将这类复用机会作为一组问题处理,视野超过单个乘法单元。

仓库中的测试恰好包含同一输入乘以 3 和 21 的情形。测试脚本要求变换后没有 $mul,并检查加减单元总数为两个,同时调用等价性检查。这是一个能读懂、能定位的结构案例,读者可以从输入系数一路追到输出图。

不过,RTL 的乘法语义还包含有符号性、输入输出位宽和截断规则。代数恒等式落到有限位宽的电路里,需要正确处理扩展和输出取位。官方测试还覆盖不同宽度的截断输出、负系数和不支持的宽系数;宽系数案例要求保留原乘法单元。

因此,观察 mcm 的效果时,先看它实际处理了哪些乘法组,再看输出结构。把“所有乘法都能合并”当作预期,很容易误读日志。不同输入、不同语义或超出处理范围的对象,应分别判断。

少几个加法器,时序可能怎样变化

共享中间结果可以减少重复计算,也会改变数据依赖。原本分别计算的两条支路,可能共同依赖一个中间节点。沿关键路径串联的运算层数、共享节点的扇出以及后续布线,都需要重新观察。

Yosys 0.70 的 mcm 提供了 -depth 参数,用来限制加法器图的最大深度,默认值为 3。命令帮助也说明,较低的深度限制可以约束延迟,但可能需要更多加法器。参数本身就表达了面积与逻辑深度之间的取舍。

这里的“深度”是图结构中的运算层数。它不能直接换算成纳秒,也不能作为完成时序收敛的证明。同样一层加法,在不同位宽、单元库和布线条件下,会有不同代价。具体频率目标仍要交给映射和时序分析检验。

另一个值得关注的参数是 -min_gain。它要求共享方案相对独立的有符号数字表示实现,达到一定的估算单比特加法器成本节省比例。这个成本模型用于筛选方案,衡量的是算法内部的估算收益。

这个比例不能直接换算成芯片面积或功耗的降幅。实际实现还会受到单元选择、缓冲、连线和切换活动影响。即使共享图在结构上更省,关键路径也可能成为新的限制。面积、时序和功耗需要各自对应测量口径。

目标器件同样会改变选择。在 FPGA 上,专用 DSP 资源与逻辑资源之间存在映射取舍;在 ASIC 上,加减网络要映射到目标库。工程评估应固定器件或单元库,再比较资源占用和约束下的结果,避免把某一种实现偏好推广到所有目标。

mcm 还提供搜索预算、最大节点数和最大移位范围等控制。团队可以用这些参数限定探索成本。-force 会跳过收益检查,适合有意识地查看候选结构;把它写进默认脚本前,应确认为什么要接受这类方案。

为什么综合还需要优化屏障

综合优化会折叠常数、合并等价结构、整理连接。面向最终实现,这些动作通常有助于缩减逻辑;面向结构检查和验证准备,工程师有时需要保留特定信号及其连接关系,方便分析设计。

optbarriers 默认向所选公开命名线网的驱动侧插入优化屏障。这里的“公开”是 Yosys 内部命名分类,不涉及访问权限,也不限于顶层端口。命令允许按单元、过程和直接连接选择插入范围,还能扩展到部分私有线网。

官方测试给出了一个直观对照:几个常数相加,不带屏障的 prep 会折叠加法;使用 prep -barriers 后,测试要求保留两个加法单元。另一个案例检查两路相同加法的连接关系,比较加入屏障前后的合并行为。

工程师可以在准备阶段保留需要观察的结构。分析中间信号、追踪连接来源或检查局部表达式时,这种可控性有实际用途。它同时限制了优化空间,是否保留、保留到哪一步,需要跟任务目标一致。

flatten -barriers 与保留模块层级也要分清。flatten 会展开层级;新增选项在被展开模块驱动公开线网时引入屏障。keep_hierarchy 则让带相应属性的模块或实例不被展开。展开后保留优化边界,与保留原模块层级,是两个操作。

prep 的定位是保守的 RTL 综合,常用于验证流程的准备阶段。-barriers 将保留结构的选项接入这条流程。官方把屏障相关功能标为实验性,导入时应检查所用 pass 和后续工具如何处理屏障单元。

optbarriers -remove 可以把所选屏障替换回连接。移除后,后续流程的优化空间也会变化。因此,屏障的生命周期需要写进脚本:在哪个阶段插入,哪个检查依赖它,何时移除,移除后保存哪份结果。

把更新变成一组可比较的实验

对已有综合流程,最有用的起点是一组受控对照。保留当前稳定脚本作为基线,在同一版本、同一 RTL 和相同目标约束下,增加 mcm 分支;如果需要结构分析,再单独设置屏障分支。先分别观察,才能知道结果变化来自哪一步。

结构层面,应记录乘法组数量、被替换的单元、加减图规模和深度。日志能回答变换是否发生、发生在哪里;保存变换前后的中间网表,则能帮助定位未被处理的对象及意外变化。

功能层面,要检查有符号性、截断和位宽处理。官方测试使用等价性检查,为复现提供了入口,但具体设计仍应使用自己的验证设置。验证条件、黑盒假设和状态初始化需要固定,检查通过才能继续比较实现结果。

实现层面,再看目标映射后的资源、关键路径和必要的功耗评估。若最终目标是 ASIC 布局布线,应继续看物理结果;若目标是 FPGA,则检查 DSP、逻辑资源及器件时序。用中间单元计数替代最终验收,会把优化链条停得太早。

这套顺序也适用于 AI 辅助的流程探索。把专业知识、工具执行和验证记录接入研发流程,正是 AI+EDA 工程化落地需要解决的问题。让 AI 提议参数或生成脚本时,应把工具版本、运行日志、验证记录和人工 review 放进同一次实验。脚本能运行、功能检查通过、实现满足约束,各自有独立的验收条件。

研发团队可以按职责收集证据:设计工程师确认算术语义和关键路径变化,验证工程师确认比较条件与等价性结果,CAD 负责人维护参数、脚本和版本记录。这样,一个偶然表现更好的结果才有机会成为可复用的流程配置。

版本升级本身也要与新增 pass 的收益分开比较。先观察旧流程在 0.70 下的表现,再打开新功能,能减少把其他版本变化归到 mcm 身上的误判。对实验性屏障,优先在可回退的验证准备分支导入。

Yosys 0.70 给开源综合增加了更细的操作入口。mcm 让常数乘法的共同结构进入显式优化,屏障让结构保留成为可以安排的流程步骤。两者服务于不同任务,组合方式应由设计目标决定。

判断这类更新,可以沿着三层证据走:变换了什么结构,是否保持目标功能,映射后是否满足工程约束。每一层都有自己的输出,前一层通过才能继续评价下一层。

对团队来说,值得沉淀的是一份能说明取舍、能复现结果、能随时回退的综合配置。加法器少了多少,可以成为实验的第一行;设计最终能否用,必须由后面的验证和实现结果回答。

作者:麒芯

本文基于公开资料作技术分析,具体设计效果请按目标器件、约束及验证结果评估。

参考资料:YosysHQ — Yosys 0.70;mcm / optbarriers / flatten / prep 源码;mcm 与 optbarriers 回归测试。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
特朗普:我向伊朗承诺,不再除掉他们的领导人

特朗普:我向伊朗承诺,不再除掉他们的领导人

极目新闻
2026-10-15 13:46:59
难怪特朗普突然倒向俄罗斯,普京心腹访华6天,和中方谈妥一些事

难怪特朗普突然倒向俄罗斯,普京心腹访华6天,和中方谈妥一些事

铁锤侃侃而谈
2026-10-15 17:40:21
领克悬崖封神后,又一辆极氪从高架桥坠落

领克悬崖封神后,又一辆极氪从高架桥坠落

ZAKER新闻
2026-10-15 18:31:31
13岁女孩被约到酒店喝酒,两男子先后和她发生关系,完事还把她手机抢走卖了5300

13岁女孩被约到酒店喝酒,两男子先后和她发生关系,完事还把她手机抢走卖了5300

一丝不苟的法律人
2026-10-12 11:41:38
一半国人维生素D不够,要不要补,补多少?看这篇

一半国人维生素D不够,要不要补,补多少?看这篇

掌上肾医
2026-10-14 16:13:53
苹果国行 AI 上线时间定了:iOS 27.3 首发

苹果国行 AI 上线时间定了:iOS 27.3 首发

简科技
2026-10-15 17:34:57
在北京,越来越多年轻人开始接受自己“烂尾”的人生

在北京,越来越多年轻人开始接受自己“烂尾”的人生

经济学教授V
2026-10-13 19:15:00
4-3史诗逆转难掩隐患!皇马头号罪人彻底拉胯,穆帅换帅已成定局

4-3史诗逆转难掩隐患!皇马头号罪人彻底拉胯,穆帅换帅已成定局

甜美蜜桃派
2026-10-16 07:25:58
炸裂!蔡天凤老公被律师曝料:他想和邝港智成恋人,因一事没得逞

炸裂!蔡天凤老公被律师曝料:他想和邝港智成恋人,因一事没得逞

猪小艳吖
2026-10-16 01:06:28
姚明229公分已经够高?NO!后面的巨兽一个比一个高!

姚明229公分已经够高?NO!后面的巨兽一个比一个高!

岁月有情1314
2026-10-10 15:13:23
美国:火电厂投资首超中国!中国:忘了告你,我今年玩新能源电厂

美国:火电厂投资首超中国!中国:忘了告你,我今年玩新能源电厂

乌克兰小静
2026-10-15 07:59:37
残酷预警:再这样下去,社会将出现大批“天不怕地不怕”的狠人

残酷预警:再这样下去,社会将出现大批“天不怕地不怕”的狠人

麓谷隐士
2026-08-18 00:25:03
左权牺牲后,彭德怀推荐三人接任八路军参谋长,中央却选了水平最低的!

左权牺牲后,彭德怀推荐三人接任八路军参谋长,中央却选了水平最低的!

雍亲王府
2026-10-15 13:00:15
“这种环境都能排卵?”女毕业生表白单位男领导,评论区炸锅了

“这种环境都能排卵?”女毕业生表白单位男领导,评论区炸锅了

世界圈
2026-10-05 20:58:42
社保局朋友酒后吐真言:灵活就业交社保,这5个坑千万别踩

社保局朋友酒后吐真言:灵活就业交社保,这5个坑千万别踩

椰青美食分享
2026-10-16 04:07:35
拒绝向中国认错,连APEC都不去了?日媒证实:高市早苗未申报参会

拒绝向中国认错,连APEC都不去了?日媒证实:高市早苗未申报参会

吃货的分享
2026-10-16 04:49:40
奇怪现象:为什么除了中俄两国,再也没有国家能生产苏-27战机?

奇怪现象:为什么除了中俄两国,再也没有国家能生产苏-27战机?

一簌月光
2026-10-14 11:12:19
全球手机出货量暴跌 20%!最新排名:三星第一、华为未进前五!

全球手机出货量暴跌 20%!最新排名:三星第一、华为未进前五!

EETOP半导体社区
2026-10-13 12:49:37
太罕见了!杭州一工厂专门招50岁以上生产跟单文员,薪资5000-6000元,包午餐、双休,引发热议

太罕见了!杭州一工厂专门招50岁以上生产跟单文员,薪资5000-6000元,包午餐、双休,引发热议

火山詩话
2026-10-13 11:09:31
美媒惊呼:中国太可怕!俄乌打了四年,中国四个月就看懂了战法!

美媒惊呼:中国太可怕!俄乌打了四年,中国四个月就看懂了战法!

梦仙境aa
2026-10-15 07:56:14
2026-10-16 08:19:00
麒芯说AI
麒芯说AI
分享AI与芯片设计领域的行业新闻、时事热点、、技术干货与行业同仁共探智能算力时代的芯片研发赋能。
124文章数 0关注度
往期回顾 全部

科技要闻

核弹院士彭先觉:可控核聚变 不必再等50年

头条要闻

特朗普承诺不再对伊朗高层下手:我可能做得太过火了

头条要闻

特朗普承诺不再对伊朗高层下手:我可能做得太过火了

体育要闻

五大联赛第二射手,开着11年前的二手车

娱乐要闻

蒋劲夫晒体脂率引关注,家暴史再被扒

财经要闻

洋餐饮的中国生意:红利消退后的集体交权

汽车要闻

年轻人专属的大五座 小鹏MONA L05预售16.98万起

态度原创

手机
时尚
本地
健康
家居

手机要闻

三星拟将Galaxy手机显示驱动芯片供应商扩至两家 考虑引入格芯

1万全款买房,年轻人开始「提前退休」

本地新闻

这个十一,林都伊春彻底出圈!

孩子运动莫名晕倒?当心这类疾病

家居要闻

2026建博会(广州) 公装联探展交流活动

无障碍浏览 进入关怀版