因为当电路已经完成布局、布线时,工程师不希望重新合成网表以增加新的逻辑功能,因为那相当于又要从头开始重新设计,重新完成一遍完整的设计流程会耗费大量的时间。因此通过增加一个APR网表补丁来变更网表逻辑功能或增加新逻辑功能会为整个项目节省大量时间。
在任何设计阶段,甚至流片后都有可能需要变更电路设计的逻辑功能。但它们在实现变更逻辑功能的方式和方法上有所不同。流片前进行ECO,通常对可用资源没有严格的限制。但是,对于流片后的ECO,只能使用那些提前预留的ECO备用单元,因为网表布局已固定在金属层上。除此之外,因为备用单元数量有限,因此修改或增加的新逻辑资源也有限制。
EasyECO会根据用户用对RTL级网表的功能修改,自动修改对应的门级网表的逻辑,使得它与修改后的RTL网表重新功能一致。EasyECO通过改变门级网表上标准单元的连接关系,增加新的单元或删除旧的单元修改它的逻辑,并且尽可能以最小扰动完成逻辑变更。
EasyECO对于流片前或流片后均可进行ECO操作。与传统的ECO工具相比,EasyECO采用了革新的算法,其运行速度和所需备用资源数量均有巨大改进。
测试结果显示,EasyECO的运行时间可比传统工具快数倍,所需要的备用资源数量平均减少30%。有些case甚至所需资源数量可减少10倍以上。EasyECO已经被成功应用在5nm的芯片设计逻辑变更项目上。
• 支持先进工艺设计(如10纳米及以下工艺)
• 支持多时钟领域(multiple clock domains)设计
• 支持多电压领域(multiple power domains)设计
• 支持多模块(multiple module)复杂ECO操作
• 支持电路设计全阶段的ECO操作
• 支持对门控时钟逻辑进行ECO操作
• 支持多位寄存器、电压隔离单元等
• 保证测试逻辑如MBIST逻辑、扫描链等的完整性
• 自动生成补丁逻辑
• 自动为补丁逻辑选取备用单元
• 支持门阵列备用单元或标准备用单元
• 支持用户特别定制化需求
• 考虑版图信息
工具所需输入文件:
1) RTL网表
2) 门级网表(Verilog)
3) 标准单元库(Liberty)
4) SVF或VSDC文件
5) 物理设计文件(DEF,LEF)
工具输出文件:
1) 满足ECO功能的网表
2) 满足ECO功能的第三方工具脚本
1) 64位Linux 工作站内核版本不低于2.6(Centos 6/7, ArchLinux, ReHat, SUSE, Ubuntu)
2) 至少64GB RAM内存
3) 至少100GB 空余磁盘空间
4) 多核CPU处理器