System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种FPGA综合工具逻辑优化方法、存储介质以及电子设备技术_技高网

一种FPGA综合工具逻辑优化方法、存储介质以及电子设备技术

技术编号:43235387 阅读:3 留言:0更新日期:2024-11-05 17:22
本发明专利技术提供一种FPGA综合工具逻辑优化方法,包括遍历电路网表中的每个触发器单元d,将触发器单元d的D输入端口信号到触发器单元d的映射关系存储至触发器输入集合内;对能够在触发器输入集合内查找到的每个多路选择器输出端口信号o,执行静态变量检查;对执行完静态变量检查后的每个多路选择器输出端口信号o,执行动态变量检查,并根据动态变量检查后的变量范围对多路选择器单元进行优化。本发明专利技术根据动态变量检查后确定一部分信号的变量范围,从而根据信号的变量范围对多路选择器单元进行优化,去掉一些不在变量范围内的逻辑分支,从而减少逻辑资源使用数量,提高电路综合后的性能。

【技术实现步骤摘要】

本专利技术属于可编程逻辑器件,尤其涉及一种fpga综合工具逻辑优化方法、存储介质以及电子设备。


技术介绍

1、逻辑综合是fpga eda(电子设计自动化)软件设计流程中的关键步骤之一。它负责将用户提供的行为级或寄存器传输级(rtl)描述的verilog或vhdl代码转换为由fpga的基本逻辑单元(如查找表(luts)和触发器(ffs))组成的网表文件。这一过程分为两个主要阶段:综合与映射。综合阶段将高级描述转化为由基本门电路构成的逻辑网表,而映射阶段则进一步将这些门电路转换为适合fpga硬件结构的逻辑单元。

2、在fpga逻辑综合过程中,减少所占用的资源数量是一个重要的优化目标。这是因为资源的减少不仅有助于提高布线的成功率,还能改善整体时序性能。实际应用中,某些信号的值可以通过静态分析和动态语义分析来确定其有效范围。利用这些信息,可以对涉及这些信号的条件分支或多路选择器(mux)进行逻辑优化。然而,传统综合工具往往忽视了对信号变量范围的考虑,导致生成的逻辑资源较为冗余。

3、因此,有必要通过精确确定信号的有效范围并据此优化多路选择器等逻辑组件,以便在逻辑综合阶段显著减少所需资源的数量。


技术实现思路

1、本专利技术提供一种fpga综合工具逻辑优化方法,通过确定信号的有效范围并据此优化多路选择器等逻辑组件,有效减少逻辑综合阶段所需的资源数量,显著减少了fpga的综合面积,提高了电路的使用效率。

2、本专利技术的其他目的和优点可以从本专利技术所揭露的技术特征中得到进一步的了解。

3、为达上述之一或部分或全部目的或其他目的,本专利技术一技术方案所提供的一种fpga综合工具逻辑优化方法,其特征在于,包括遍历电路网表中的每个触发器单元d,将触发器单元d的d输入端口信号到触发器单元d的映射关系存储至触发器输入集合内;对能够在触发器输入集合内查找到的每个多路选择器输出端口信号o,执行静态变量检查;对执行完静态变量检查后的每个多路选择器输出端口信号o,执行动态变量检查,并根据动态变量检查后的变量范围对多路选择器单元进行优化。该技术方案的有益效果在于,根据动态变量检查后确定一部分信号的变量范围,从而根据信号的变量范围对多路选择器单元进行优化,去掉一些不在变量范围内的逻辑分支,从而减少逻辑资源使用数量,提高电路综合后的性能。

4、所述fpga综合工具逻辑优化方法还包括对电路网表中的每个并行多路选择器单元,根据选择依赖信号的变量范围执行选择信号的过滤。

5、静态变量检查方法为,遍历电路网表中的每个多路选择器单元,获取多路选择器输出端口信号o在触发器集合内的多路选择器的a端输入信号以及b端输入信号,并在所述多路选择器的a端输入信号或者b端输入信号为常量信号时,将多路选择器的a端输入信号或b端输入信号的常量值插入至多路选择器输出端口信号o变量范围内。

6、所述多路选择器的a端输入信号或b端输入信号不是常量信号时,判断所述多路选择器的a端输入信号或b端输入信号是否为另一多路选择器的输出信号;当判断结果为是,递归对所述多路选择器的a端输入信号或b端输入信号进行静态变量检查,将检查得到的所述多路选择器的a端输入信号或b端输入信号的变量范围插入至多路选择器输出端口信号o变量范围内;当判断结果为否,将所述多路选择器输出端口信号o从多路选择器输出端口变量范围集合中删除。

7、动态变量检查方法是,分析每个多路选择器输出端口信号o所在的多路选择器s端输入信号,获取所述多路选择器s端输入信号依赖的信号集合;判断所述多路选择器s端输入信号依赖的信号集合中的每个信号是否为常量或在所述多路选择器输出端口变量范围集合中查找到;在判断结果为是的情况下,统计出所述多路选择器s端输入信号依赖的信号集合中所有信号值的组合,根据每一种信号值组合,对多路选择器s端输入信号语句执行语句分析,并在所述语句分析结果为true时,递归执行所述多路选择器的b端输入信号动态变量检查,并将所述多路选择器的b端输入信号变量范围插入所述多路选择器输出端口信号o变量范围中。

8、所述多路选择器s端输入信号语句分析结果为false时,递归执行所述多路选择器的a端输入信号动态变量检查,并将所述多路选择器的a端输入信号变量范围插入所述多路选择器输出端口信号o变量范围中。

9、根据动态变量检查后的变量范围对多路选择器单元进行优化,包括,遍历电路网表中的每个多路选择器单元,分析多路选择器s端输入信号,获取所述多路选择器s端输入信号依赖的信号集合,并在所述多路选择器s端输入信号依赖的信号集合的每个信号都是常量或者在多路选择器输出端口变量范围集合内时,统计出所述多路选择器s端输入信号依赖的信号集合中的所有信号值的组合;根据所述多路选择器s端输入信号依赖的信号集合中的每一种信号值的组合,多路选择器s端输入信号语句分析结果都为true时,删除所述多路选择器的a端输入信号,所述多路选择器单元输出信号用所述多路选择器的b端输入信号替代。

10、根据所述多路选择器s端输入信号依赖的信号集合中的每一种信号值的组合,多路选择器s端输入信号语句分析结果都为false时,删除所述多路选择器的b端输入信号,所述多路选择器单元输出信号用所述多路选择器的a端输入信号替代。

11、对电路网表中的每个并行多路选择器单元处理方法包括,遍历电路网表中的每个并行多路选择器单元,获取并行多路选择器s输入端的信号,获取每个并行多路选择器s输入端的每一位信号来源的逻辑单元;判断所述并行多路选择器s输入端每一位信号来源的逻辑单元类型,并在所述逻辑单元运算类型为相等比较运算时,获取所述逻辑单元的a端输入信号和b端输入信号,判断所述逻辑单元的a端输入信号是否存在于多路选择器输出端口变量范围集合中,以及所述逻辑单元的b端输入信号是否存在于所述逻辑单元a端输入信号的变量范围内;在判断结果都为是的情况下,继续执行并行多路选择器s输入端的每一位信号来源的逻辑单元类型判断,并重复上述步骤;在任一判断结果为否的情况下,删除所述并行多路选择器单元s输入端信号以及b输入端对应的信号。

12、若所述逻辑单元运算类型不为相等比较运算时,则继续执行并行多路选择器s输入端的下一位信号来源的逻辑单元类型判断。

13、本专利技术一技术方案所提供的一种计算机可读存储介质,所述计算机可读存储介质中存储有程序代码,所述程序代码被处理器调用执行上述fpga综合工具逻辑优化方法。

14、本专利技术一技术方案所提供的一种电子设备,包括一个或多个处理器;存储器;一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行上述fpga综合工具逻辑优化方法。

15、与现有技术相比,本专利技术的有益效果主要包括:根据动态变量检查后确定一部分信号的变量范围,从而根据信号的变量范围对并行多路选择器单元和多路选择器单元进行优化,去掉一些不在变量范围内的逻辑分支,从而减少逻辑本文档来自技高网...

【技术保护点】

1.一种FPGA综合工具逻辑优化方法,其特征在于,包括遍历电路网表中的每个触发器单元d,将触发器单元d的D输入端口信号到触发器单元d的映射关系存储至触发器输入集合内;

2.根据权利要求1所述的一种FPGA综合工具逻辑优化方法,其特征在于,所述FPGA综合工具逻辑优化方法还包括对电路网表中的每个并行多路选择器单元,根据选择依赖信号的变量范围执行选择信号的过滤。

3.根据权利要求1所述的一种FPGA综合工具逻辑优化方法,其特征在于,静态变量检查方法为,遍历电路网表中的每个多路选择器单元,获取多路选择器输出端口信号o在触发器集合内的多路选择器的A端输入信号以及B端输入信号,并在所述多路选择器的A端输入信号或者B端输入信号为常量信号时,将多路选择器的A端输入信号或B端输入信号的常量值插入至多路选择器输出端口信号o变量范围内。

4.根据权利要求3所述的一种FPGA综合工具逻辑优化方法,其特征在于,所述多路选择器的A端输入信号或B端输入信号不是常量信号时,判断所述多路选择器的A端输入信号或B端输入信号是否为另一多路选择器的输出信号;

5.根据权利要求1所述的一种FPGA综合工具逻辑优化方法,其特征在于,动态变量检查方法是,分析每个多路选择器输出端口信号o所在的多路选择器S端输入信号,获取所述多路选择器S端输入信号依赖的信号集合;

6.根据权利要求5所述的一种FPGA综合工具逻辑优化方法,其特征在于,所述多路选择器S端输入信号语句分析结果为false时,递归执行所述多路选择器的A端输入信号动态变量检查,并将所述多路选择器的A端输入信号变量范围插入所述多路选择器输出端口信号o变量范围中。

7.根据权利要求5所述的一种FPGA综合工具逻辑优化方法,其特征在于,根据动态变量检查后的变量范围对多路选择器单元进行优化,包括,遍历电路网表中的每个多路选择器单元,分析多路选择器S端输入信号,获取所述多路选择器S端输入信号依赖的信号集合,并在所述多路选择器S端输入信号依赖的信号集合的每个信号都是常量或者在多路选择器输出端口变量范围集合内时,统计出所述多路选择器S端输入信号依赖的信号集合中的所有信号值的组合;

8.根据权利要求7所述的一种FPGA综合工具逻辑优化方法,其特征在于,根据所述多路选择器S端输入信号依赖的信号集合中的每一种信号值的组合,多路选择器S端输入信号语句分析结果都为false时,删除所述多路选择器的B端输入信号,所述多路选择器单元输出信号用所述多路选择器的A端输入信号替代。

9.根据权利要求2所述的一种FPGA综合工具逻辑优化方法,其特征在于,对电路网表中的每个并行多路选择器单元处理方法包括,遍历电路网表中的每个并行多路选择器单元,获取并行多路选择器S输入端的信号,获取每个并行多路选择器S输入端的每一位信号来源的逻辑单元;

10.根据权利要求9所述的一种FPGA综合工具逻辑优化方法,其特征在于,

11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有程序代码,所述程序代码被处理器调用执行如权利要求1-10任一项所述的方法。

12.一种电子设备,其特征在于,包括一个或多个处理器;

...

【技术特征摘要】

1.一种fpga综合工具逻辑优化方法,其特征在于,包括遍历电路网表中的每个触发器单元d,将触发器单元d的d输入端口信号到触发器单元d的映射关系存储至触发器输入集合内;

2.根据权利要求1所述的一种fpga综合工具逻辑优化方法,其特征在于,所述fpga综合工具逻辑优化方法还包括对电路网表中的每个并行多路选择器单元,根据选择依赖信号的变量范围执行选择信号的过滤。

3.根据权利要求1所述的一种fpga综合工具逻辑优化方法,其特征在于,静态变量检查方法为,遍历电路网表中的每个多路选择器单元,获取多路选择器输出端口信号o在触发器集合内的多路选择器的a端输入信号以及b端输入信号,并在所述多路选择器的a端输入信号或者b端输入信号为常量信号时,将多路选择器的a端输入信号或b端输入信号的常量值插入至多路选择器输出端口信号o变量范围内。

4.根据权利要求3所述的一种fpga综合工具逻辑优化方法,其特征在于,所述多路选择器的a端输入信号或b端输入信号不是常量信号时,判断所述多路选择器的a端输入信号或b端输入信号是否为另一多路选择器的输出信号;

5.根据权利要求1所述的一种fpga综合工具逻辑优化方法,其特征在于,动态变量检查方法是,分析每个多路选择器输出端口信号o所在的多路选择器s端输入信号,获取所述多路选择器s端输入信号依赖的信号集合;

6.根据权利要求5所述的一种fpga综合工具逻辑优化方法,其特征在于,所述多路选择器s端输入信号语句分析结果为false时,递归执行所述多路选择器的a端输入信号动态变量检查,并将所述多...

【专利技术属性】
技术研发人员:刘洋蔡刚魏育成
申请(专利权)人:中科亿海微电子科技苏州有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1