优化DFX设计的方法

避免rp和rp之间的直接路径
假定设计中存在两个rp,分别为rp1和rp2,那么就要避免出现rp1输出直接连接到rp2或者相反从rp2输出直接连接到rp1的路径。因为这时rp边界信号(连接rp1和rp2的net)的负载都在动态区,从而必然形成partition pin,由于边界信号没有经过静态区逻辑单元,这些partitionpin最终会有相应的pploc,这其实就增加了后续的布线压力。这种情况下,最好将其优化为rp1->ff -> rp2。其中ff在静态区。
避免多个rp输出连接到同一个静态区的负载逻辑单元上
只有当与边界信号连接的静态区负载落在扩展的布线区域时才会触发pploc缩减。如果一个静态区的负载连接多个rp,那么显然这个静态区负载只可能落在其中一个rp的扩展布线区域,那么另一个rp就会形成pploc,如下图所示,两个rp的输出分别连接到静态区负载lut4的i0和i1端口,这样就会形成pploc。
可将其优化为如下图所示方式,这样每个rp的输出都有独立的静态区负载,从而可能触发pploc缩减。
复制静态区寄存器驱动多个rp
为了保证静态区边界负载对每个rp而言是独立的,那么就要避免同一个静态区触发器驱动多个rp。这种情况命令report_methodology会给报告出来。如下图所示,静态区触发器扇出为4,同时驱动了rp1和rp2。
可对该触发器进行复制,如下图所示,这样就保证了每个rp有自己独立的静态区边界负载。
对rm的输入/输出进行寄存
amd建议确保所有rm的输入是寄存器输入,而输出也都是寄存器输出。这样,时序路径就被隔离开来,即静态区到rp边界、rp内部、rp边界到静态区。对布局布线是有利的,自然对时序收敛也是有益的。同时,如果使用abstractshell流程,这样还可以有效减少abstract shell的大小,从而可进一步缩短编译时间。
避免静态区的走线跑到动态区
默认情况下,dfx设计中静态区的net是可以使用整个芯片的布线资源,自然也包括动态区的布线资源,正因此,就可能出现静态区布线跑到了动态区。尽管从功能角度而言是允许的,但这会给动态区布线带来压力。因此,如果出现动态区布线拥塞时,可以检查一下是否存在上述情况。对于上述情况,我们可以对静态区设置相应的pblock,将其属性contain_routing设置为true。下图显示了静态区布线跑到动态区的情形,图中黄色走线即为静态区走线,有部分跑到了动态区。设置contain_routing为true之后,可以看到这种情况就被消除了。
尽可能使pblock形状为矩形
一旦将pblock属性contain_routing设置为true时,对于pblock的拐角处工具布线难度就会显著增大,如下图左侧所示。pblock形状不是标准的矩形,在拐角处形成布线拥塞,图中白色高亮部分,拥塞等级为6。将其修正为标准矩形,如下图右侧部分所示,此时拥塞程度降低(图中白色高亮部分),降至5。


openharmony移植实例
点联传感获天使轮投资,系COMS激光测量传感器研发商
iPhone行货降价 以旧换新最高可抵2100元
电容器的概念及其相关公式的详细介绍
关于蜂窝物联网的两种制式emtc与nb-iot的详解
优化DFX设计的方法
iphone屏幕发明人离职,Touch ID真的没戏了
SMT贴片加工中焊点光泽度不足的原因是什么?
Apollo自动驾驶开发套件D-KIT Lite s全新升级发布
2021年OPPO开发者大会:OPPO云真机
智能电话手表扬声器防水透音膜介绍
苹果M1芯片代工订单占台积电5nm工艺25%产能
用MPI调优提高集群MPI应用性能(编译4第1部分)
地平线机器人的完全自动驾驶功能完全可以和特斯拉媲美
BGA封装技术的焊接和检验方法
CPU与GPU维护数据结构来保证环形缓冲区的正确工作
中国LED芯片产量上升 产业链渐趋完善
自动驾驶汽车激光雷达的未来
船舶电动化进程再翻崭新一页
苹果iPhone16 Pro系列将使用石墨烯散热技术