可构建QCA电路的分区与布局及大规模纳米系统验证
1. QCA电路的分区与布局
1.1 单元布局策略
在单元布局过程中,为了最小化总线长度和交叉数量,会随机选择图中的一个层级,然后交换该层级中两个随机选择的门 [g1, g2] 。初始计算总线长度的时间复杂度为 $O(n)$,更新总线交叉数量的时间复杂度为 $O(n^2)$,其中 $n$ 是二分图中一层的节点数量。为了提高效率,会先计算总线长度和交叉数量,然后在每次移动后增量更新这些值。
代码示例如下:
diff = diff + M[i][j];
i = i + 1;
sum = sum −M[R1][j] ∗(tmp + neg);
sum = sum + M[R2][j] ∗(tmp + pos);
pos = pos + M[i][j];
neg = neg + M[R2][j];
return(sum);
采用了模拟退火算法,初始温度设定为大约接受50%的不良移动,最终温度设定为接受少于5%的移动。同时使用了三种不同的成本函数:
- 仅基于总线净长度进行优化。
- 评估总线交叉数量。
- 考虑总线长度和交叉数量的加权组合,权重为解析解中总线长度和交叉数量的比率。
1.2 实验结果
1.2.1 区域分区结果
实验使用了来自ISCAS89和ITC99套件的部分大型电路作为基准。分区数量的确定原则是每个分区包含100 ± 10个多数门,每个线块的容量设定为200个QCA单元
超级会员免费看
订阅专栏 解锁全文
74

被折叠的 条评论
为什么被折叠?



