主权项 |
一种实现现场可编程门阵列快速布局布线的方法,其特征在于,该实现现场可编程门阵列快速布局布线的方法具体步骤为:第一步,将电路中每一个可配置逻辑单元CLB、I/O单元、异构模块等单元随机地放置到现场可编程门阵列芯片内部物理位置,得到一个初始布局;第二步,计算初始温度T<sub>0</sub>;第三步,布局迭代;第四步,局部优化布局;第五步,如果累计第三步中对步骤一至步骤三过程迭代总次数超过TAS,则输出当前最优布局并转第六步进行布线;否则令当前温度T为前一次执行第三步过程中新布局的接受率第一次低于44%时的温度,转第三步开始重复退火;第六步,布线初始化;第七步,为每个线程划分任务集,假设处理器个数为P,则创建P个线程,并且为每个线程Thd[i]创建任务集SigSet[i],i∈{1,2,…,P};将布线资源图RG划分为P个大小相等的不交叉区域,对于每个信号,如果落入区域i的目标节点sink个数越多,就将分给区域i对应的任务集SigSet[i],i∈{1,2,…,P},并保证每个任务集内的sink总数一样多;第八步,对每个线程任务集SigSet[i]中所有信号按照sink个数从多到少排列;第九步,启动P个线程,P个线程并行执行第十步;第十步,并行布线迭代;第十一步,同步P个线程,即等待每个线程都执行完第十步;由主线程检查整个电路的布线是否合法,如果布线合法,即没有重复被占用的布线资源节点,则转第十四步;否则,对所有重复被占用的布线资源节点的历史占用度加1,并且加大拥挤惩罚度,进行时序分析,转第十二步;第十二步,主线程重新布线拥挤的信号;第十三步,检查整个电路的布线是否合法,如果布线合法,则转第十四步;否则如果布线迭代次数不超过指定值Max,则进行时序分析并转第十步执行下一次布线迭代,否则转第十四步;第十四步,将其余P‑1个线程合并到主线程,输出布线结果并退出布线。 |