本发明专利技术公开了一种FPGA时钟区域合法化方法,包括以下步骤:(1)使用边界盒计算存在时钟溢出区域;(2)使用布线树形式减少判定的存在溢出区域;(3)从外到内逐一移动溢出区域模块并选择移动量最小的方案解决溢出问题。一方面采用边界盒进行计算时钟溢出区域的上界,简化了精确计算时钟溢出区域的过程,避免花费大量时间重复构造布线树,加快了运算速度;另一方面使用布线树进行优化合理利用了布线资源,避免近似导致过度压缩全局时钟的空间,从而避免了解在合法化过程中的大幅度恶化。该方法有利于高效地合法化FPGA各时钟区域,有效利用时钟布线资源的同时尽可能保证合法化所得到的解质量。质量。质量。
A method of FPGA clock area legalization
【技术实现步骤摘要】
一种FPGA时钟区域合法化方法
[0001]本专利技术属于FPGA物理设计自动化
,尤其涉及一种FPGA时钟区域合法化方法。
技术介绍
[0002]现场可编程门阵列(FPGA)是一种可重新编程以实现用户定制的逻辑器件。FPGA作为一种集成电路,具有风险低、设计灵活性高的优点。与ASIC相比,FPGA可以以较低的成本迅速进入市场,并适用于高端控制应用。FPGA是半导体行业发展最快的领域之一,已成为学术界和工业界的研究热点。
[0003]为满足新兴的电路设计需求,FPGA在架构上实现了创新演进。为了提高电路的集成度,现代FPGA的逻辑块呈现出大规模和异构的特性。CLB架构也变得更加复杂,它由多个BLE组成,BLE是由LUTs和FFs组成的逻辑单元。现代FPGA中还嵌入了大量异构块,包括RAM、DSP和其他IP。
[0004]此外,现代FPGA通常会引进复杂的时钟架构来实现更高的性能需求。由于现代FPGA的类ASIC的时钟架构有着严格的时钟约束,满足所有时钟约束成为一个严峻的挑战。传统的FPGA布局算法很少考虑时钟的合法性,这往往会导致时序收敛和功耗不理想。因此,有必要在布局阶段考虑异构和时钟约束。
[0005]经典的FPGA设计流程由HDL源代码的逻辑综合开始,经过物理设计(包括工艺映射、逻辑打包、布线布局等流程)后,最终生成比特流。物理设计是一个复杂的优化过程,直接影响了电路性能、面积、可靠性、功率和制造产量。随着芯片迈入百万门时代,FPGA的结构复杂性和芯片规模不断扩大,这无疑给物理设计带来了巨大的挑战。
[0006]布局是物理设计中最重要、最耗时的优化步骤之一,它与后续的布线操作有着紧密的联系,可以显著影响FPGA设计的效率和质量。随着集成电路的不断发展,FPGA呈现出超大规模、异构性的特征,这给布局技术的提升带来严峻的考验。
技术实现思路
[0007]本专利技术目的在于提供一种FPGA时钟区域合法化方法,以解决现有技术中时钟冲突处理较慢的技术问题。
[0008]为解决上述技术问题,本专利技术的具体技术方案如下:
[0009]一种FPGA时钟区域合法化方法,包括以下步骤:
[0010]步骤S1,计算各时钟网络边界盒,并用其找出存在溢出的时钟区域;
[0011]步骤S2,遍历存在溢出的各时钟网络,在满足布线树约束的条件下从左右两侧去除其包含的存在溢出的时钟区域;
[0012]步骤S3,对于仍存在溢出的区域,分析其中各时钟,计算将其去除需产生的移动量,选择移动量最少的方案解决溢出。
[0013]进一步的,所述步骤S2中仅对存在溢出的时钟区域进行判断,减少了无溢出区域
判断并且选择拓扑树的时间,在移动单元的时候再具体确定垂直分配层时钟轨道位置以确定拓扑树结构并避免压缩解空间。
[0014]进一步的,所述步骤S2中为保证去除存在溢出的时钟区域后布线树完整,除一整行全部去除的外,左右两侧去除时钟区域数量最多的行去除的时钟区域之和需小于整个边界框内一行的时钟区域数量,无法满足的时候将多种拓扑树都加入可选择的方案。
[0015]进一步的,所述步骤S3中需首先判断其中每种时钟去除所需移除模块,计算其移动到该时钟区域所在范围内与其相邻的没有时钟溢出的时钟区域产生的最小位移,选择产生位移最小的方案作为采取的方案,从而解决该时钟区域溢出问题;若相邻每个时钟区域都存在溢出则移动至任意一个可解决该溢出的区域;移动模块解决时钟溢出的过程从外侧开始,逐步解决所有溢出。
[0016]本专利技术的一种FPGA时钟区域合法化方法,具有以下优点:
[0017]1、本专利技术采用边界盒进行计算时钟溢出区域的上界,简化了精确计算时钟溢出区域的过程,避免花费大量时间重复构造布线树,加快了运算速度;
[0018]2、本专利技术使用布线树进行优化合理利用了布线资源,避免近似导致过度压缩全局时钟的空间,从而避免了解在合法化过程中的大幅度恶化。该方法有利于高效地合法化FPGA各时钟区域,有效利用时钟布线资源的同时尽可能保证合法化所得到的解质量。
附图说明
[0019]图1为本专利技术的一种FPGA时钟区域合法化方法的流程图;
[0020]图2为本专利技术第一实施例的模块初始分布示意图;
[0021]图3为根据本专利技术第一实施例的布线树构建示意图;
[0022]图4为根据本专利技术第一实施例的合法化示意图。
具体实施方式
[0023]为了更好地了解本专利技术的目的、结构及功能,下面结合附图,对本专利技术一种FPGA时钟区域合法化方法做进一步详细的描述。
[0024]以下是本专利技术的第一实施:
[0025]如图1所示,本专利技术提供一种FPGA时钟区域合法化方法,包括以下步骤:
[0026]步骤S1,计算各时钟网络边界盒,并用其找出存在溢出的时钟区域;
[0027]步骤S2,遍历存在溢出的各时钟网络,在满足布线树约束的条件下从左右两侧去除其包含的存在溢出的时钟区域;
[0028]仅对存在溢出的时钟区域进行判断,减少了无溢出区域判断并且选择拓扑树的时间,在移动单元的时候再具体确定垂直分配层时钟轨道位置以确定拓扑树结构并避免压缩解空间,图3中矩形模块对应布线树的垂直分配层时钟轨道通过此方案无需考虑放置在第2列还是第3列(一个布线树中垂直分配层时钟轨道仅能有一条)。
[0029]为保证去除存在溢出的时钟区域后布线树完整,除一整行全部去除的外,左右两侧去除时钟区域数量最多的行去除的时钟区域之和需小于整个边界框内一行的时钟区域数量,无法满足的时候将多种拓扑树都加入可选择的方案。
[0030]步骤S3,对于仍存在溢出的区域,分析其中各时钟,计算将其去除需产生的移动
量,选择移动量最少的方案解决溢出。
[0031]首先判断其中每种时钟去除所需移除模块,计算其移动到该时钟区域所在范围内与其相邻的没有时钟溢出的时钟区域产生的最小位移,选择产生位移最小的方案作为采取的方案,从而解决该时钟区域溢出问题;若相邻每个时钟区域都存在溢出则移动至任意一个可解决该溢出的区域;移动模块解决时钟溢出的过程从外侧开始,逐步解决所有溢出。
[0032]图2为需合法化的初始布局,图中三种形状代表连接三种时钟的模块,矩形的布局区域为时钟区域,区域的灰度表示使用这种计算方式得到的区域内的时钟数量,颜色越深表示时钟数量越大。假设每个时钟区域内允许两个时钟,可以看到(2,1)(2,2)(3,1)(3,2)四个区域内存在溢出。矩形与三角形对应的区域中垂直分配层时钟轨道(即图中布线树中纵向的线)任意选取得到。
[0033]图3为构造布线树之后得到的结果,实线对应圆形的布线树,长虚线对应矩形的布线树,短虚线对应三角形的布线树,可以看到构造之后,时钟区域(2,1)与(3,1)已经不再溢出。
[0034]图4为合法化的结果,分别尝试去除溢出区域内的三种时钟,可以发现将圆形去除产生的移动量最小,从而得到合法解。
...
【技术保护点】
【技术特征摘要】
1.一种FPGA时钟区域合法化方法,其特征在于,包括以下步骤:步骤S1,计算各时钟网络边界盒,并用其找出存在溢出的时钟区域;步骤S2,遍历存在溢出的各时钟网络,在满足布线树约束的条件下从左右两侧去除其包含的存在溢出的时钟区域;步骤S3,对于仍存在溢出的区域,分析其中各时钟,计算将其去除需产生的移动量,选择移动量最少的方案解决溢出。2.根据权利要求1所述的FPGA时钟区域合法化方法,其特征在于,所述步骤S2中仅对存在溢出的时钟区域进行判断,减少了无溢出区域判断并且选择拓扑树的时间,在移动单元的时候再具体确定垂直分配层时钟轨道位置以确定拓扑树结构并避免压缩解空间。3.根据权利要求1所述的FPGA时钟区域合法化方法,其...
【专利技术属性】
技术研发人员:梅扬杰,朱自然,
申请(专利权)人:东南大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。