- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ABC对输入MV文件的解决方案论文.doc
ABC对输入MV文件的解决方案论文
论文关键字:ABC MV文件时序 综合
论文摘要:ABC是一款时序逻辑电路的综合和验证的软件系统。ABC为查找表和标准块整合了基于AIGs(这个图只有与门和非门)的逻辑优化和基于技术映射的最优延迟DAG(无回路有向图)。MV是一种为描述时序层次电路系统而设计的语言,它能以层次形式来描述电路系统。ABC提供了对输入MV文件的支持,但其对MV文件的时序支持有限,本文讨论了其解决方案。
1 电路逻辑综合的一些常用方法
1.1 使用SIS优化
输入.mv文件,经过mv2blif软件处理后,产生.blif文件,然后送入SIS综合软件处理,生成优化后的blif文件.freelv文件,经过mv2blif软件处理后,产生.blif文件,然后送入ABC处理,生成优化后的blif文件,如下图所示:
SHAPE /* MERGEFORMAT
图 1.2
1.3 对比两种方法
使用SIS优化已经是比较陈旧的方法,现在更多的是使用ABC进行优化。我们知道,数据结构和算法是一个软件能否成功应用的核心,SIS在近几年一些最新的改变中没能提供一个良好的编程环境,比如对技术映射和延迟的整合。而且SIS在处理大型电路显得力不从心,效率低下。而ABC使用了一种更为简单的数据结构AIGs(由两输入的与门和非门组成的多层逻辑网),使得电路综合和验证的质量和运行时间方面都得到很大改进。ABC提供了时序和组合的综合算法,其现在版本在优化延迟和启发式的缩小电路面积方面已能优化包含100K门和10K时序元素的门级设计。
但ABC本身就能输入.mv文件,我们能否省去Mv2blif的步骤,让ABC直接读入mv,从而也能减少错误,提高效率,因为再好的软件或多或少总会存在一些错误,少用一个软件意味着我们能减少更多的错误。所以下面就是我们想要得到的版本:
SHAPE /* MERGEFORMAT
2 研究中发现问题及其原因
2.1 ABC中采用的网络介绍
在读入特定电路设计文件经过软件处理,就形成当前的网络。ABC通过一系列对当前网络的转换来处理这个电路设计类似于SIS。ABC中的网络有其特定类型,包括NetList,Logic Netv文件经过优化后的blif 文件的输入输出的个数与原先读入mv文件的输入输出个数的不一致问题。这是因为ABC输入mv文件时,主要经过了两步处理。输入mv时,ABC把mv文件转成了NetList,这一步是完全正确的,但在NetList转成AIG时,出现了问题,ABC把latch的输入当成了主输出,把latch的输出当成了主输入,从而造成了有几个latch,就多了几个输出输入。
笔者认为根本原因在于,ABC对mv文件中的时序电路支持得有限,在将时序转化为组合的过程中,也就是在NetList转成AIG时,采用了不正确的方式去除了Latch,从而造成了有几个latch,就多了几个输出输入。
3 问题的解决方案及生成blif
3.1 解决问题
在尝试直接把NetList网络转成AIG网络时,来处理这个问题,都归于失败。最后不得不考虑在生成的中间网络上找解决方法。
首先,ABC处理mv文件的过程如下:
SHAPE /* MERGEFORMAT
然后,我们查看了ABC处理blif文件的过程,如下:
SHAPE /* MERGEFORMAT
经过讨论,我们试想能不能构造出如下的一种处理方法来解决问题:
经过研究,我们发现这条路是可行的。但在解决的过程中我们发现,.mv文件生成的NetList网络与.blif文件生成的NetList网络存在不同。在前面Mv2blif软件的实现方法中寻求灵感,我们试着将这两个相同类型网络转化,最后我们成功解决了这个问题,从而实现了ABC对.mv文件能直接进行处理,并且解决了输入输出个数与原先的输入输出个数的不一致的问题。最终实现了如下版本:
SHAPE /* MERGEFORMAT
3.2 生成blif文件
ABC中读入mv文件后形成AIG网络,要想输出blif文件,可进行如下操作:
SHAPE /* MERGEFORMAT
4 算法实现及举例
对网络中的功能node进行转换,以下是转换node从AIG功能到BDD功能的算法,对于网络只需要用一个遍历,把其所有node转换即可。
DdNode * cuddBddAndRecur( DdManager * manager, DdNode * f, DdNode * g)
{
DdNode *F, *fv, *fnv, *G, *gv, *gnv;
DdNode *one, *r, *t, *e;
unsigned int topf, topg, index;
sta
您可能关注的文档
最近下载
- 《语文(基础模块)下册》(中职)教案 第24课 跨媒介阅读与交流(二).pdf VIP
- 《磨床安全操作规程》.docx VIP
- 青2013G02图集-标准图集.docx VIP
- 第36届全国中学生物理竞赛决赛理论考试试题与解答.pdf VIP
- DB45_T1900-2018_芒果成龄果树管理技术规程_广西壮族自治区 conv.docx VIP
- 软件测试-全套PPT课件.pptx
- 类风湿关节炎情景模拟教学案例范文.docx VIP
- 2025广西公需科目培训考试答案(90分)——“一区两地一园一通道”建设;人工智能时代的机遇与挑战(1).pdf VIP
- 化学核心素养引领单元主题学习之初探.docx VIP
- 钻床安全操作规程[共1页].doc VIP
文档评论(0)