一种寄存器的综合优化方法技术

技术编号:14637396 阅读:41 留言:0更新日期:2017-02-15 11:34
本发明专利技术公开了一种寄存器的综合优化方法,所述方法包括:当寄存器的第一控制端口置为第一电平值时,若寄存器的输入端口始终输入第二电平值,或将第二控制端口置为第三电平值后,寄存器的输出端口输出第二电平值,其中,第一电平值是使第一控制端口无效的电平值,第二电平值是与当第二控制端口有效时寄存器输出的值相等的电平值,第三电平值是使第二控制端口有效的电平值,且第二控制端口执行的功能与第一控制端口的执行的功能相反;利用第二电平值等效替代寄存器的输出值。将一个常量值输出代替寄存器的输出,即可以将寄存器在布尔网表中删除,起到寄存器的综合优化作用,而且大大节省了资源。

【技术实现步骤摘要】

本专利技术涉及电子
,尤其涉及一种寄存器的综合优化方法
技术介绍
随着现场可编程门阵列(Field-ProgrammableGateArray,简称FPGA)芯片的发展,利用FPGA芯片的设计越来越复杂,出于节省芯片面积,降低芯片功耗、提升设计性能的考虑,对FPGA的综合优化的能力的要求越来越高。而传统的综合优化过程中,只能针对组合逻辑进行优化,而对于寄存器,只能将其视为“黑盒”,在逻辑优化的过程中保持不变。也即是在现有技术中,缺乏针对寄存器这类时序模块的优化能力,从而使得综合优化的结果往往达不到最优效果,甚至造成资源浪费。因此,在综合优化的过程中,寻找一种可以实现寄存器的综合优化的方法,是亟待解决的问题。
技术实现思路
为了解决上述问题,本专利技术提供了一种寄存器的综合优化方法,所述方法包括:当寄存器的第一控制端口置为第一电平值时,若所述寄存器的输入端口始终输入第二电平值,或将第二控制端口置为第三电平值后,所述寄存器的输出端口输出第二电平值,其中,所述第一电平值是使所述第一控制端口无效的电平值,所述第二电平值是与当所述第二控制端口有效时所述寄存器输出的值相等的电平值,所述第三电平值是使所述第二控制端口有效的电平值,且所述第二控制端口执行的功能与所述第一控制端口的执行的功能相反;利用第二电平值等效替代所述寄存器的输出值。优选的,当所述第一控制端口为所述寄存器的置位端时,所述第二控制端口为复位端;或者当所述第一控制端口为复位端时,所述第二控制端口为置位端。优选的,当所述第一控制端口为置位端时,所述第二电平值为低电平值;或者,当所述第一控制端口为复位端时,所述第二电平值为高电平值。进一步优选的,所述方法还包括:将所述寄存器的输入端口与输出端口相连接,当所述寄存器的第一控制端口置为第一电平值,且将所述第二控制端口置为第三电平值后,利用第四电平值等效替代所述寄存器的输出值,其中,所述第四电平值是与所述第二电平值等效的电平值。本专利技术提供的一种寄存器的综合优化方法,将寄存器的输出等效转化为常量,由此将一个常量输出代替整个寄存器的输出,即可以将寄存器在布尔网表中删除,而且大大节省了FPGA芯片面积,降低芯片功耗、提升了FPGA的设计性能。附图说明图1为本专利技术提供的一种具体实现寄存器综合优化的结构示意图;图2为本专利技术提供的另一种具体实现寄存器综合优化的结构示意图;图3为本专利技术提供的又一种具体实现寄存器综合优化的结构示意图;图4为本专利技术提供的再一种具体实现寄存器综合优化的结构示意图。具体实施方式下面通过附图和实施例,对本专利技术的技术方案做进一步的详细描述。FPGA的设计流程就是利用EDA开发软件和编程工具对FPGA芯片进行开发的过程。典型FPGA的开发流程一般包括功能定义/器件选型、设计输入、功能仿真、综合优化、综合后仿真、工艺映射、布局布线、布线后仿真、板级仿真以及芯片编程与调试等主要步骤。所谓综合就是将较高级抽象层次的描述转化成较低层次的描述。综合优化根据目标与要求优化所生成的逻辑连接,使层次设计平面化,供FPGA布局布线软件进行实现。就目前的层次来看,综合优化(Synthesis)是指将设计输入编译成由与门、或门、非门、RAM、触发器等基本逻辑单元组成的逻辑连接网表,而并非真实的门级电路。而本专利技术提供的一种寄存器的综合优化方法,正是属于FPGA的综合优化阶段,主要是将寄存器的输出值转化为常量值的情况下,将寄存器从布尔网表中删除,而利用一个常量值等效替代寄存器的输出值。将寄存器等效为常量输出后,通常这个常量可以结合剩余的组合逻辑进行进一步的组合逻辑优化。由此,可以节省芯片面积,降低芯片功耗、提升设计性能。而具体在哪些情况下才能够将寄存器的输出值等效为一个常量值,将在下文中说明:具体包括:当寄存器的第一控制端口置为第一电平值,且寄存器的输入端输入第二电平值后,将第二控制端口置为第三电平值,其中,第一电平值是是第一控制端口无效的电平值。第三电平值是使第二控制端口有效的电平值,且第二控制端口执行的功能与第一控制端口的执行的功能相反。此时,寄存器的输出值已经变为一个常量值,也即第二电平值,因此可以将该寄存器删除,利用第二电平值等效替代寄存器的输出值。例如,当第一控制端口为置位端时,第二控制端口因为执行的功能是与第一控制端口执行的功能相反,所以,毫无疑问,第二控制端口为复位端。并且,这里仅在置位端和复位端输入为高电平值时为有效,而输入为低电平值时为无效为例说明。其他情形则可以根据实际情况而定。那么在一种情况中,具体如图1所示,当寄存器的第一控制端口为置位端,第二控制端口为复位端,第一电平值为使第一控制端口无效时的电平值,在本实施例中为低电平值“0”,而第二电平值是与第二控制端口有效时,与输出端口输出值相等的值,即当复位端口有效时,寄存器的输出值永远为低电平值“0”,那么第二电平值则为低电平值“0”。第三电平值为使第二控制端口有效的电平值,在本实施例中具体指的是高电平值“1”。当然,这里默认寄存器的其他端口(例如图中的使能信号端口,时钟信号端口等)均处于正常工作情况下。下文中的情形同样默认寄存器的其他端口均处于正常工作情况下。下文中将不再赘述。图1(a)中,若置位端置为低电平值“0”时,而输入端始终输入低电平值“0”时。寄存器的输出端口输出值则一直为低电平值“0”,而且不发生改变。那么,此时的寄存器的输出值就可以用一个常量值“0”替代,寄存器也可以从布尔网表中删除了。或者,如图1(b)所示,当寄存器的置位端口为低电平值“0”时,而复位端为高电平值“1”。那么,无论寄存器的输入端口输入的信号为高电平值还是低电平值。输出端口输出的值均为低电平值“0”。那么,寄存器的输出端口输出值同样可以用一个常量值“0”替代。此时,寄存器同样可以从布尔网表上删除了。第二种情况,具体如图2所示,当寄存器的第一控制端口为复位端,而第二控制端口为置位端。同样的,第一电平值为使第一控制端口无效时的电平值,在本实施例中为低电平值“0”,而第二电平值是与第二控制端口有效时,与输出端口输出值相等的值,即当置位端口有效时,寄存器的输出值永远为高电平值“1”,那么第二电平值则为高电平值“1”。第三电平值为使第二控制端口有效的电平值,在本实施例中具体指的是高电平值“1”。图2(a)中,若复位端为低电平“0”时,输入端始终输入高电平值“1”。寄存器的输出端口输出值则同样一直为高电平值“1”,而不发生任何改变。那么此时的寄存器的输出值就可以用一个常量值“1”替代,寄存器就可以从布尔网表中删除了。或者,图2(b)中,当寄存器的复位端为低电平值“0”时,而置位端为高电平值“1”时,无论寄存器的输入端口输入的信号为高电平值还是低电平值,输出端口的值均为高电平值“1”。那么,寄存器的输出端口输出值同样可以用一个常量值“1”替代,此时寄存器可以从布尔网表上删除了。可选的,将寄存器的输出值等效为常量值的情况还可以包括如下情形。前提是将寄存器的输入端口和输出端口相连接。当寄存器的第一控制端口置为第一电平值,且将第二控制端口置为第三电平值后,利用第四电平值等效替代寄存器的输出值,其中,第四电平值是与第二电平值等效的电平值。具体的,第三种情况,具体如图3所示,当第一控制端口为本文档来自技高网...
一种寄存器的综合优化方法

【技术保护点】
一种寄存器的综合优化方法,其特征在于,所述方法包括:当寄存器的第一控制端口置为第一电平值时,若所述寄存器的输入端口始终输入第二电平值,或将第二控制端口置为第三电平值后,所述寄存器的输出端口输出第二电平值,其中,所述第一电平值是使所述第一控制端口无效的电平值,所述第二电平值是与当所述第二控制端口有效时所述寄存器输出的值相等的电平值,所述第三电平值是使所述第二控制端口有效的电平值,且所述第二控制端口执行的功能与所述第一控制端口的执行的功能相反;利用第二电平值等效替代所述寄存器的输出值。

【技术特征摘要】
1.一种寄存器的综合优化方法,其特征在于,所述方法包括:当寄存器的第一控制端口置为第一电平值时,若所述寄存器的输入端口始终输入第二电平值,或将第二控制端口置为第三电平值后,所述寄存器的输出端口输出第二电平值,其中,所述第一电平值是使所述第一控制端口无效的电平值,所述第二电平值是与当所述第二控制端口有效时所述寄存器输出的值相等的电平值,所述第三电平值是使所述第二控制端口有效的电平值,且所述第二控制端口执行的功能与所述第一控制端口的执行的功能相反;利用第二电平值等效替代所述寄存器的输出值。2.根据权利要求1所述的方法,其特征在于,当所述第一控制端...

【专利技术属性】
技术研发人员:耿嘉樊平
申请(专利权)人:北京深维科技有限公司
类型:发明
国别省市:北京;11

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

1