论文部分内容阅读
目前业界对数模混合系统的电子设计自动化(EDA)工具的需求相当迫切,而市场上商用的EDA工具却极为缺乏,对于后端物理设计尤其如此,造成这种矛盾的主要原因是模拟电路设计的EDA工具远远不如数字电路设计的EDA工具成熟。后端物理设计主要包含布局和布线两大环节,并且这是一个不断循环反复的螺旋型过程,当布线失败后会返回重新进行布局,然后再布线——如此循环一直满足设计要求为止。多次循环反复的进行布局布线会延长芯片设计周期,返回重新进行布局的次数越少,设计周期才能越短,如何减少布局布线迭代循环的次数成为后端物理设计工具考虑的一个重要因素。提前在布局阶段考虑布线的可布性问题,能够减少这种迭代循环的次数,从而可以优化布局质量和提高布线的布通率。
本文针对模拟与数模混合电路设计,提出了一种不可切割(non-slicing)结构的非均匀划分算法,同时建立了相应的布局可布性分析模型。在保证准确检测拥挤区域和评估布局的可布性之外,还降低了算法的时间复杂度,使得算法效率能够大大提高。本模型能够作为一个代价函数嵌入到当前常用的模拟退火、遗传算法等常用的布局算法中。对于实验电路的分析证实了本模型的准确性和高效性。
首先,本文提出一种不可切割结构的非均匀划分算法,代替以往常用的等大网格的均匀划分方式,大幅度减少了划分后的区域规模,同时消除了可布性评价的准确度对划分精细程度的严重依赖性,使得可布性分析模型对任意电路都具有了一个统一的平面布局图的划分方式。并且此算法具有线性时间复杂度。
然后,建立了与此相应的适用于数模混合集成电路布局的可布性分析模型。针对模拟与数模混合集成电路的特点,依据线网信号对干扰的敏感度强弱,将线网分成了三类:关键线网、长线网和普通线网。每类线网具有独特的布线方式和布线路径,在文中建立了三种不同的布线需求的求解模型。
最后,可布性预测公式采用了双键值的表示方式,使用一对数值〈Key1,Key2〉来表示可布性,其中Key1是平均可布性程度值,Key2是最低可布性程度值。采用双键值表示可布性能够获取更加丰富的信息,既有全局可布性信息,也有局部可布性信息,消除了以偏概全或者顾全漏偏的可能性。
对于实验电路的分析证实了本模型的准确性和高效性。本算法已经在Linux系统上用C++语言实现,并经过了基准电路的测试。