CN106407533A - 一种寄存器的综合优化方法 - Google Patents
一种寄存器的综合优化方法 Download PDFInfo
- Publication number
- CN106407533A CN106407533A CN201610806549.9A CN201610806549A CN106407533A CN 106407533 A CN106407533 A CN 106407533A CN 201610806549 A CN201610806549 A CN 201610806549A CN 106407533 A CN106407533 A CN 106407533A
- Authority
- CN
- China
- Prior art keywords
- level value
- depositor
- control port
- port
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/34—Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/17704—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form the logic functions being realised by the interconnection of rows and columns
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/06—Multi-objective optimisation, e.g. Pareto optimisation using simulated annealing [SA], ant colony algorithms or genetic algorithms [GA]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Logic Circuits (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明公开了一种寄存器的综合优化方法,所述方法包括:当寄存器的第一控制端口置为第一电平值时,若寄存器的输入端口始终输入第二电平值,或将第二控制端口置为第三电平值后,寄存器的输出端口输出第二电平值,其中,第一电平值是使第一控制端口无效的电平值,第二电平值是与当第二控制端口有效时寄存器输出的值相等的电平值,第三电平值是使第二控制端口有效的电平值,且第二控制端口执行的功能与第一控制端口的执行的功能相反;利用第二电平值等效替代寄存器的输出值。将一个常量值输出代替寄存器的输出,即可以将寄存器在布尔网表中删除,起到寄存器的综合优化作用,而且大大节省了资源。
Description
技术领域
本发明涉及电子技术领域,尤其涉及一种寄存器的综合优化方法。
背景技术
随着现场可编程门阵列(Field-Programmable Gate Array,简称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”有效,低电平“0”无效。
在置位端置为低电平“0”,而在复位端没有置为高电平“1”之前,输出值同样会保持不变,但是输出值要根据之前的输出值X而定。而当复位端置为高电平“1”后,无论之前的输出值“X”为什么值,之后的输出值都将固定为第四电平值“0”。这里的第四电平值是与第一种情况中对应的第二电平值等效的电平值。此时的寄存器的输出值就可以用一个常量值,即第四电平值“0”替代,寄存器也可以从布尔网表中删除了。
第四种情况,具体如图4所示,当第一控制端口为复位端,第二控制端口为置位端。与第二种情况类似的,置位端和复位端均为高电平“1”有效,低电平“0”无效。
在复位端置为低电平“0”,而在置位端没有置为高电平“1”之前,输出值同样会保持不变,但是输出值要根据之前的输出值X而定。而当置位端置为高电平“1”后,无论之前的输出值“X”为什么值,之后的输出值都将固定为第四电平值“1”。这里的第四电平值是与第二种情况中的第二电平值等效的电平值。
此时的寄存器的输出值就可以用一个常量值,即第四电平值“1”替代,寄存器也可以从布尔网表中删除了。
通过上述四种情况可以,寄存器的输出值均可以利用一个“常量值”替代,作为输入端口信号输入到与寄存器连接的其他设备中,而寄存器则可以完全删除掉。由此,就可以大大的节省了FPGA芯片面积,降低芯片功耗、提升了FPGA的设计性能。
读者应该理解,在本发明的具体实施例中所列举的四种具体利用常量等效替代一个寄存器的情形,仅仅是本申请文件中列举的有限的可能,但是并不代表只有这几种情形才可以利用常量值等效寄存器,其他类似的或者与本申请文件所列举的例子等效的方案同样是本申请文件所保护的范围,这里不再一一举例说明。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种寄存器的综合优化方法,其特征在于,所述方法包括:
当寄存器的第一控制端口置为第一电平值时,若所述寄存器的输入端口始终输入第二电平值,或将第二控制端口置为第三电平值后,所述寄存器的输出端口输出第二电平值,其中,所述第一电平值是使所述第一控制端口无效的电平值,所述第二电平值是与当所述第二控制端口有效时所述寄存器输出的值相等的电平值,所述第三电平值是使所述第二控制端口有效的电平值,且所述第二控制端口执行的功能与所述第一控制端口的执行的功能相反;
利用第二电平值等效替代所述寄存器的输出值。
2.根据权利要求1所述的方法,其特征在于,当所述第一控制端口为所述寄存器的置位端时,所述第二控制端口为复位端;
或者
当所述第一控制端口为复位端时,所述第二控制端口为置位端。
3.根据权利要求2所述的方法,其特征在于,当所述第一控制端口为置位端时,所述第二电平值为低电平值;
或者,
当所述第一控制端口为复位端时,所述第二电平值为高电平值。
4.根据权利要求1-3所述的方法,其特征在于,所述方法还包括:将所述寄存器的输入端口与输出端口相连接,当所述寄存器的第一控制端口置为第一电平值,且将所述第二控制端口置为第三电平值后,利用第四电平值等效替代所述寄存器的输出值,其中,所述第四电平值是与所述第二电平值等效的电平值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610806549.9A CN106407533B (zh) | 2016-09-06 | 2016-09-06 | 一种寄存器的综合优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610806549.9A CN106407533B (zh) | 2016-09-06 | 2016-09-06 | 一种寄存器的综合优化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106407533A true CN106407533A (zh) | 2017-02-15 |
CN106407533B CN106407533B (zh) | 2019-11-29 |
Family
ID=57998691
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610806549.9A Active CN106407533B (zh) | 2016-09-06 | 2016-09-06 | 一种寄存器的综合优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106407533B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111459545A (zh) * | 2020-03-27 | 2020-07-28 | 广东速美达自动化股份有限公司 | 一种fpga的寄存器资源的优化方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101127030A (zh) * | 2006-08-18 | 2008-02-20 | 富士通株式会社 | 半导体器件 |
CN101156140A (zh) * | 2005-02-07 | 2008-04-02 | Nxp股份有限公司 | 数据处理系统和高速缓存替换方法 |
CN101159024A (zh) * | 2006-08-01 | 2008-04-09 | 株式会社瑞萨科技 | 半导体集成电路装置以及接收装置 |
CN101465151A (zh) * | 2007-12-17 | 2009-06-24 | 富士通微电子株式会社 | 存储器系统和存储器的控制方法 |
CN102073033A (zh) * | 2009-11-25 | 2011-05-25 | 中国科学院电子学研究所 | 可动态校准的高精度步进延迟产生方法 |
-
2016
- 2016-09-06 CN CN201610806549.9A patent/CN106407533B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101156140A (zh) * | 2005-02-07 | 2008-04-02 | Nxp股份有限公司 | 数据处理系统和高速缓存替换方法 |
CN101159024A (zh) * | 2006-08-01 | 2008-04-09 | 株式会社瑞萨科技 | 半导体集成电路装置以及接收装置 |
CN101127030A (zh) * | 2006-08-18 | 2008-02-20 | 富士通株式会社 | 半导体器件 |
CN101465151A (zh) * | 2007-12-17 | 2009-06-24 | 富士通微电子株式会社 | 存储器系统和存储器的控制方法 |
CN102073033A (zh) * | 2009-11-25 | 2011-05-25 | 中国科学院电子学研究所 | 可动态校准的高精度步进延迟产生方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111459545A (zh) * | 2020-03-27 | 2020-07-28 | 广东速美达自动化股份有限公司 | 一种fpga的寄存器资源的优化方法及装置 |
CN111459545B (zh) * | 2020-03-27 | 2022-07-22 | 广东速美达自动化股份有限公司 | 一种fpga的寄存器资源的优化方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106407533B (zh) | 2019-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6609244B2 (en) | Design method of a logic circuit | |
US7546559B2 (en) | Method of optimization of clock gating in integrated circuit designs | |
Nath et al. | System-on-chip security architecture and CAD framework for hardware patch | |
KR20080077231A (ko) | 멀티-사이클 클록 게이팅 방법 | |
CN102314525A (zh) | 一种低功耗电路设计优化方法 | |
CN101582107A (zh) | 存取系统中具有存储器保护的存储器 | |
US8065129B1 (en) | Methods and apparatuses for circuit simulation | |
CN106407533A (zh) | 一种寄存器的综合优化方法 | |
CN105760558A (zh) | Fpga芯片中多输入查找表的布局方法 | |
CN101021882A (zh) | 一种降低大规模集成电路漏电功耗的设计方法 | |
JP5807887B1 (ja) | プログラマブルロジックデバイス、プログラマブルロジックデバイスのエラー検証方法、及びプログラマブルロジックデバイスの回路形成方法 | |
KR20070022545A (ko) | 디바이스의 전원차단효과를 rtl에서 검증할 수 있는모델 및 전원차단효과를 모델링 하는 방법 | |
Bryant | Verification of synchronous circuits by symbolic logic simulation | |
Oliveira et al. | Burst‐Mode Asynchronous Controllers on FPGA | |
Stievano et al. | Behavioural macromodels of digital IC receivers for analogue-mixed signal simulations | |
Lin et al. | A novel γd/nRLCG transmission line model considering complex RC (L) loads | |
Sandor et al. | PAElib 2.0: Power&Area Aware Modeling of CMOS Digital Circuits in VHDL | |
Mogheer | A new technology for reducing power consumption in synchronous digital design using tri-state buffer | |
Chiwande et al. | VHDL Implementation of Low Power Sequential Circuits using Reversible Logic | |
Curtinhas et al. | A Tools Flow for Automatic Synthesis of Extended Burst-Mode Asynchronous State Machines | |
Ueda et al. | Low power design and its testability | |
Patel et al. | Review of NCL based design | |
Christiansen et al. | Decoy circuits for fpga design protection | |
Bucci et al. | A dynamic and differential CMOS lookup table with data independent power consumption for cryptographic applications on chip cards | |
Bhargava et al. | Power State to PST Conversion: Simplifying static analysis and debugging of power aware designs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20190102 Address after: 901-903, 9th Floor, Satellite Building, 63 Zhichun Road, Haidian District, Beijing Applicant after: Jing Wei Qi Li (Beijing) Technology Co., Ltd. Address before: 100080 Beijing Haidian A62, East of Building No. 27, Haidian Avenue, 4th Floor, A District, Haidian District Applicant before: Beijing deep science and Technology Co., Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |