论文首页哲学论文经济论文法学论文教育论文文学论文历史论文理学论文工学论文医学论文管理论文艺术论文 |
关键字:ABC MV文件时序 综合
论文摘要:ABC是一款时序电路的综合和验证的软件系统。ABC为查找表和标准块整合了基于AIGs(这个图只有与门和非门)的逻辑优化和基于技术映射的最优延迟DAG(无回路有向图)。MV是一种为描述时序层次电路系统而设计的,它能以层次形式来描述电路系统。ABC提供了对输入MV文件的支持,但其对MV文件的时序支持有限,本文讨论了其解决方案。
1 电路逻辑综合的一些常用方法
1.1 使用SIS优化输入.mv文件,经过mv2blif软件处理后,产生.blif文件,然后送入SIS综合软件处理,生成优化后的blif文件,如下图所示:
SHAPE \* MERGEFORMAT
图 1.1
1.2 使用ABC优化输入.mv文件,经过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 Network和AIG网络,下面简要介绍各个网络。
2.1.1 NetList网络如果编程者在输入文件中加入一个新的类型,想成功通过解析就必须熟悉NetList网络的表示形式,因为解析一个输入文件,NetList网络是必然被创建的。NetList可以说是一个基本原始的网络表示形式,它与输入文件的设计一一对应,包含nets,logic nodes,latches和PI/PO 端点。每个net有一个唯一的名字。Nodes和latches是由它们所驱动的net来区分。每个nodes和latches只有一个输出。每个PI端点、Node和latch驱动一个net。同样每个latch、PO端点和功能结点(有一个或多个输入)由一个net驱动。一个net能驱动有仅只有一个latch、node或者PO端点。例如,一个net不能同时驱动一个node和一个latch。在NetList中,net与net之间不能相连,非net结点与非net结点也不能相连,只能通过net相连。功能结点采用SOPs或者AIGs来表示。