System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及fpga设计,尤其涉及一种双输出基本逻辑单元及fpga逻辑打包方法。
技术介绍
1、目前fpga芯片领域发展日新月异,相关芯片在各行各业中广泛应用。同时fpga芯片的eda开发工具也被广泛使用,并且随着芯片设计的规模增长,对相关工具的性能要求提出了更高的要求。打包阶段作为设计流程中的一个关键阶段,它的结果直接影响后端的布局布线的难易,以及对最终生成电路的时延、面积等都具有一定影响。因此提高打包方法的性能对整个eda工具链具有重要的意义。
2、现场可编程门阵列fpga是一种可编程逻辑器件,基本架构包括输入输出模块(iob)、可配置逻辑块(clb)、布线资源等。这些资源可以通过编程配置成各种逻辑功能。经典的打包算法都是基于单元块结构的逻辑簇,比如vpack,tvpack,其中,vpack的输入是包含lut(look up table,查找表)和寄存器的网表,输出是逻辑簇的网表。算法第一阶段采用简单高效的模式匹配算法,贪婪地将一个寄存器和一个lut打包成一个基本逻辑单元(ble)。第二个阶段,再把这些ble打包成逻辑簇。为了减少clb的数量,要使得每个逻辑簇尽量到达clb容量。其次,每个簇输入尽可能的少。通过基本逻辑单元和当前形成的clb的共线网络的数量来评估吸收优先级。但是该算法在打包过程中贪婪的考虑面积优化,没有考虑打包后时序效果。tvpack算法基于vpack算法,在考虑打包容量的基础上,还考虑关键路径上簇连接的数目。簇内部局部互联要比逻辑簇之间的互联速度快。通过减少关键路径上的逻辑簇之间的连线数目可有
3、现有的一些专利,如中国专利cn02824998“高效逻辑打包的现场可编程门阵列核心单元”、cn200910130548“一种fpga逻辑单元模型及其通用装箱算法”、cn201110028805“fpga可编程逻辑块通用装箱方法”中涉及到的结构均为单输出lut和单输出ble。传统的单输出lut及单输出ble的结构如图1所示。
4、基于当前经典打包算法中存在的时序模型计算模糊和ble结构单一问题,构建适应性更好的ble以及更准确的时序模型,是保证最终实现的电路具有较高的器件利用率和时序的关键。
技术实现思路
1、基于以上问题,本专利技术的目的在于提供一种双输出基本逻辑单元及fpga逻辑打包方法,能够覆盖当前主流的fgpa的可配置单元结构,能更大程度的提高资源利用率,具有更好的适应性。
2、本专利技术实现其专利技术目的所采用的技术方案是,一种双输出基本逻辑单元,包括双输出查找表、第一触发器、第二触发器、第一多路选择器、第二多路选择器;
3、所述双输出查找表的具体结构为:
4、第一查找表的输出端接第三多路选择器的一个输入端,第二查找表的输出端接第三多路选择器的另一个输入端,第三多路选择器的输出端作为双输出查找表的第一输出端,第二查找表的输出端同时作为双输出查找表的第二输出端;所述第一查找表和第二查找表共用输入信号;
5、所述双输出查找表的第一输出端接第一触发器的输入端及第一多路选择器的一个输入端,第一触发器的输出端接第一多路选择器的另一个输入端;第一多路选择器的输出端作为双输出基本逻辑单元的第一总输出端;
6、所述双输出查找表的第二输出端接第二触发器的输入端及第二多路选择器的一个输入端,第二触发器的输出端接第二多路选择器的另一个输入端;第二多路选择器的输出端作为双输出基本逻辑单元的第二总输出端。
7、进一步,所述第三多路选择器的控制端接另一路输入信号作为控制信号,此时实现单个lut功能,通过控制信号的控制来实现全部输入的查找结果,并通过双输出查找表的第一输出端输出,此时双输出查找表的第二输出端不使用。
8、进一步,所述第三多路选择器的控制端接常量vcc,此时双输出查找表作为2个lut使用,其中第一查找表固定通过第三多路选择器到双输出查找表的第一输出端输出,而第二查找表直接通过双输出查找表的第二输出端输出。
9、本专利技术还提供了基于上述双输出基本逻辑单元的一种fpga逻辑打包方法,包括下述步骤:
10、s1、逻辑综合生成以查找表和触发器为基本单元的网表;
11、s2、将满足输入信号路数不超过5路的两个查找表打包成双输出查找表模式;
12、s3、搜索所述双输出查找表后面的触发器,若两个输出通道中都有触发器,则将双输出查找表、触发器和多路选择器打包成双输出基本逻辑单元;
13、s4、将上一步得到的双输出基本逻辑单元打包到可配置逻辑块中,直到所有的基本逻辑单元完成打包。
14、具体实施时,步骤s3中若两个输出通道中只有1个触发器,则打包为传统的单输出基本逻辑单元使用。
15、为了更贴近实际芯片延时,本专利技术还提供了基于上述双输出基本逻辑单元的另一种fpga逻辑打包方法,在时序估算中引入线负载模型,具体包括下述步骤:
16、s1、逻辑综合生成以查找表和触发器为基本单元的网表;
17、s2、将满足输入信号路数不超过5路的两个查找表打包成双输出查找表模式;
18、s3、搜索所述双输出查找表后面的触发器,若两个输出通道中都有触发器,则将双输出查找表、触发器和多路选择器打包成双输出基本逻辑单元;
19、s4、加载线负载模型数据库,所述线负载模型定义在单元库中;
20、s5、根据所述线负载模型,构建双输出基本逻辑单元之间的时序模型;
21、s6、根据时序数据,计算网表的关键路径,然后计算每个双输出基本逻辑单元的关键度;
22、s7、优先将关键度大的双输出基本逻辑单元打包到可配置逻辑块中,直到所有的基本逻辑单元完成打包。
23、本专利技术的有益效果为:
24、(一)在基本逻辑单元ble构建上,传统算法只考虑单组lut和ff,本专利技术在传统算法支持的ble基础上做了扩展,将满足共同输入不超过5个的lut合并成一个lut_o2模式,将lut查找表的输出扩展到两个输出并驱动多个触发器,再构建出具有两个输出的双输出基本逻辑单元,能兼容传统的ble结构,能够覆盖当前主流的fgpa可配置单元结构,能更大程度的提高硬件资源利用率,具有更好的适应性。
25、(二)虽然电路在布局布线之前是无法准确评估时延的,但是该阶段的延时模型,对最终生成电路影响很大。在rtl代码综合阶段进行静态时序分析时,各个厂商都提供了标准单元的延时和功耗信息,但是互联线仍没有物理信息,为了更准确的反应实际芯片的延时,本专利技术在评估延时的时候引入现有技术的线负载模型。在布本文档来自技高网...
【技术保护点】
1.一种双输出基本逻辑单元,其特征在于:包括双输出查找表(LUT_O2)、第一触发器(FF1)、第二触发器(FF2)、第一多路选择器(MUX1)、第二多路选择器(MUX1);
2.根据权利要求1所述的一种双输出基本逻辑单元,其特征在于:所述第三多路选择器(MUX3)的控制端接另一路输入信号作为控制信号。
3.根据权利要求1所述的一种双输出基本逻辑单元,其特征在于:所述第三多路选择器(MUX3)的控制端接常量VCC。
4.基于权利要求1所述双输出基本逻辑单元的一种FPGA逻辑打包方法,其特征在于,包括下述步骤:
5.基于权利要求1所述双输出基本逻辑单元的FPGA逻辑打包方法,其特征在于,包括下述步骤:
【技术特征摘要】
1.一种双输出基本逻辑单元,其特征在于:包括双输出查找表(lut_o2)、第一触发器(ff1)、第二触发器(ff2)、第一多路选择器(mux1)、第二多路选择器(mux1);
2.根据权利要求1所述的一种双输出基本逻辑单元,其特征在于:所述第三多路选择器(mux3)的控制端接另一路输入信号作为控制信号。
【专利技术属性】
技术研发人员:曹保健,王宁,李锋,李文琪,刘宣钰,杨晓晨,
申请(专利权)人:成都华微电子科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。