CN116738906B - 实现循环电路的方法、电路、装置和存储介质 - Google Patents

实现循环电路的方法、电路、装置和存储介质 Download PDF

Info

Publication number
CN116738906B
CN116738906B CN202310819457.4A CN202310819457A CN116738906B CN 116738906 B CN116738906 B CN 116738906B CN 202310819457 A CN202310819457 A CN 202310819457A CN 116738906 B CN116738906 B CN 116738906B
Authority
CN
China
Prior art keywords
circuit
input
output
selection
signal
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.)
Active
Application number
CN202310819457.4A
Other languages
English (en)
Other versions
CN116738906A (zh
Inventor
赵晓庆
朱嘉华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xinhuazhang Intelligent Technology Shanghai Co ltd
Original Assignee
Xinhuazhang Intelligent Technology Shanghai Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xinhuazhang Intelligent Technology Shanghai Co ltd filed Critical Xinhuazhang Intelligent Technology Shanghai Co ltd
Priority to CN202310819457.4A priority Critical patent/CN116738906B/zh
Publication of CN116738906A publication Critical patent/CN116738906A/zh
Application granted granted Critical
Publication of CN116738906B publication Critical patent/CN116738906B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/331Design verification, e.g. functional simulation or model checking using simulation with hardware acceleration, e.g. by using field programmable gate array [FPGA] or emulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/327Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

本申请提供一种实现循环电路的方法。该方法包括:获取逻辑系统设计的描述,所述逻辑系统设计包括所述循环电路,所述循环电路包括电路结构,所述电路结构包括至少一个门电路;根据所述循环电路的输入信号的数量n确定选择电路;生成2n个所述电路结构;以及将所述2n个电路结构的输出连接到所述选择电路,所述选择电路的输出连接到所述输入信号,其中,所述选择电路包括F(n)个选择器,F(n)=F(n‑1)*2+2,并且F(1)=1。

Description

实现循环电路的方法、电路、装置和存储介质
技术领域
本申请涉及芯片验证技术领域,尤其涉及一种实现循环电路的方法、电路、装置和存储介质。
背景技术
硬件仿真工具(例如,原型验证板或硬件仿真器(emulator))可以原型化(prototype)并且调试一个包括一个或多个模块的逻辑系统设计。所述逻辑系统设计可以是,例如,用于供专门应用的集成电路(Application Specific Integrated Circuit,简称ASIC)或者片上系统芯片(System-On-Chip,简称SOC)的设计。因此,在仿真工具中被测试的逻辑系统设计又可以称为待测设计(Design Under Test,简称DUT)。仿真工具可以通过一个或多个可配置组件(例如,现场可编程逻辑门阵列(Field Programmable Gate Array,简称FPGA))来仿真该待测设计,包括执行该待测设计的各种操作,从而在制造之前就测试并验证待测设计的各个模块的功能。通过在仿真工具上外接多种外设子卡还可以测试待测设计与各种外设作为一个完整系统进行运行的效果。
为了在FPGA上实现待测设计,需要对以硬件描述语言(例如,Verilog或VHDL)描述的待测设计进行综合,以将源代码综合成实际的电路(例如,以网表的形式)。
由于FPGA的资源有限,在正确体现用户的设计意图的前提下尽可能减少综合后电路的面积和占用的门电路的数量是一个亟待解决的问题。
发明内容
本申请的第一方面提供一种实现循环电路的方法。该方法包括:获取逻辑系统设计的描述,所述逻辑系统设计包括所述循环电路,所述循环电路包括电路结构,所述电路结构包括至少一个门电路;根据所述循环电路的输入信号的数量n确定选择电路;生成2n个所述电路结构;以及将所述2n个电路结构的输出连接到所述选择电路,所述选择电路的输出连接到所述输入信号,其中,所述选择电路包括F(n)个选择器,F(n)=F(n-1)*2+2,并且F(1)=1。
本申请的第二方面提供一种展开循环电路的电路。所述循环电路包括电路结构,所述电路结构包括至少一个门电路,所述展开循环电路的电路包括:2n个所述电路结构,n是所述循环电路的输入信号的数量;选择电路,连接到所述2n个电路结构的输出,所述选择电路包括F(n)个选择器,F(n)=F(n-1)*2+2,并且F(1)=1,所述选择电路包括多个输入和选择输出;以及震荡检测电路,连接所述选择电路的选择输出。
本申请的第三方面提供一种电子装置,包括:存储器,用于存储一组指令;以及至少一个处理器,配置为执行所述一组指令以使得所述电子装置执行如第一方面所述的方法。
本申请的第四方面提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机的一组指令,该组指令用于在被执行时使所述计算机执行如第一方面所述的方法。
附图说明
为了更清楚地说明本申请或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了根据本申请实施例的主机的结构示意图。
图2示出了根据本申请实施例的仿真系统的示意图。
图3示出了示例性的循环电路。
图4示出了根据本申请实施例的一种展开循环电路的电路。
图5示出了根据本申请实施例的另一种循环电路。
图6示出了根据本申请实施例的另一种展开循环电路的电路。
图7示出了根据本申请实施例的实现循环电路的方法的流程图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本申请进一步详细说明。
需要说明的是,除非另外定义,本申请使用的技术术语或者科学术语应当为本申请所属领域内具有一般技能的人士所理解的通常意义。本申请中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。
图1示出了根据本申请实施例的主机100的结构示意图。主机100可以是运行仿真系统的电子设备。如图1所示,主机100可以包括:处理器102、存储器104、网络接口106、外围接口108和总线110。其中,处理器102、存储器104、网络接口106和外围接口108通过总线110实现彼此之间在电子设备内部的通信连接。
处理器102可以是中央处理器(Central Processing Unit,CPU)、图像处理器、神经网络处理器(NPU)、微控制器(MCU)、可编程逻辑器件、数字信号处理器(DSP)、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路。处理器102可以用于执行与本申请描述的技术相关的功能。在一些实施例中,处理器102还可以包括集成为单一逻辑组件的多个处理器。如图1所示,处理器102可以包括多个处理器102a、102b和102c。
存储器104可以配置为存储数据(例如,指令集、计算机代码、中间数据等)。在一些实施例中,用于仿真测试设计的仿真测试系统可以是存储器104中存储的计算机程序。如图1所示,存储器存储的数据可以包括程序指令(例如,用于实现本申请的定位错误的方法的程序指令)以及要处理的数据(例如,存储器可以存储在编译过程产生的临时代码)。处理器102也可以访问存储器存储的程序指令和数据,并且执行程序指令以对要处理的数据进行操作。存储器104可以包括易失性存储装置或非易失性存储装置。在一些实施例中,存储器104可以包括随机访问存储器(RAM)、只读存储器(ROM)、光盘、磁盘、硬盘、固态硬盘(SSD)、闪存、存储棒等。
网络接口106可以配置为经由网络向主机100提供与其他外部设备的通信。该网络可以是能够传输和接收数据的任何有线或无线的网络。例如,该网络可以是有线网络、本地无线网络(例如,蓝牙、WiFi、近场通信(NFC)等)、蜂窝网络、因特网、或上述的组合。可以理解的是,网络的类型不限于上述具体示例。在一些实施例中,网络接口106可以包括任意数量的网络接口控制器(NIC)、射频模块、接收发器、调制解调器、路由器、网关、适配器、蜂窝网络芯片等的任意组合。
外围接口108可以配置为将主机100与一个或多个外围装置连接,以实现信息输入及输出。例如,外围装置可以包括键盘、鼠标、触摸板、触摸屏、麦克风、各类传感器等输入设备以及显示器、扬声器、振动器、指示灯等输出设备。
总线110可以被配置为在主机100的各个组件(例如处理器102、存储器104、网络接口106和外围接口108)之间传输信息,诸如内部总线(例如,处理器-存储器总线)、外部总线(USB端口、PCI-E总线)等。
需要说明的是,尽管上述电子设备架构仅示出了处理器102、存储器104、网络接口106、外围接口108和总线110,但是在具体实施过程中,该电子设备架构还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述电子设备架构中也可以仅包含实现本申请实施例方案所必需的组件,而不必包含图中所示的全部组件。
图2示出了根据本申请实施例的仿真系统200的示意图。
如图2所示,仿真系统200可以包括仿真工具202以及与仿真工具202连接的主机100。
仿真工具202是一种用于仿真待测设计(DUT)的系统。仿真工具202可以是原型验证板或者硬件仿真器(emulator)。一个待测设计可以包括多个模块。待测设计可以是组合逻辑电路、时序逻辑电路、或上述两者的组合。仿真工具202可以包括一个或多个可配置电路(例如,FPGA),用于仿真待测设计。
仿真工具202可以包括接口单元2022,用于与主机100通信地耦接,以进行主机100和仿真工具202之间的通信。在一些实施例中,接口单元2022可以包括具有电连接能力的一个或多个接口。例如,接口单元2022可以包括RS232接口、USB接口、LAN口、光纤接口、IEEE1394(火线接口)等。在一些实施例中,接口单元2022可以是无线网络接口。例如,接口单元2022可以是WIFI接口、蓝牙接口等。
主机100可以经由接口单元2022向仿真工具202传输编译后的DUT、调试指令等。仿真工具202也可以经由接口单元2022向主机100传输仿真数据等。
仿真工具202还可以包括存储器2024,用于存储在仿真过程中待测设计产生的仿真数据(例如,各种信号值)。在一些实施例中,仿真过程中待测设计产生的信号值可以直接被主机100读取。可以理解的是,存储器2024也可以独立仿真工具202,例如,使用一种外接存储器。
仿真工具202还可以包括FPGA 2026,用于将逻辑系统设计硬件地实现到FPGA上。可以理解的是,仿真工具202可以包括多个FPGA,图中仅为示例。
除了连接到主机100,仿真工具202还可以经由接口单元2022连接到一个或多个子卡204。
子卡用于在使用仿真工具202进行原型验证时向DUT提供外设以构成完整的电子系统。原型验证是指在芯片流片之前,尽可能的还原芯片真实使用场景,验证芯片功能是否准确和完整的一种验证方式。子卡204可以包括存储器子卡(例如,提供DDR内存接口)、通信子卡(例如,提供多种网络接口或无线网卡接口)等。
主机100可以用于配置仿真工具202以仿真一个待测设计。该待测设计可以是一个完整的逻辑系统设计或一个完整逻辑系统设计的一个或多个模块。在一些实施例中,主机100可以是云计算系统中的一个虚拟主机。逻辑系统设计(例如,ASIC或者System-On-Chip)可以由硬件描述语言(例如Verilog、VHDL、System C、或System Verilog)设计。
主机100可以从用户接收调试待测设计的请求。如上所述,待测设计可以包括一个或多个模块。待测设计的描述可以用硬件描述语言来完成。主机100可以基于待测设计的描述来进行综合,以生成,例如,待测设计的门级电路网表(未示出)。待测设计的该门级电路网表可以被载入仿真工具202中运行,进而可以在仿真工具202中形成与待测设计相对应的电路结构。因此,待测设计的电路结构可以根据该描述而获得,并且相应地,待测设计中的每个块的电路结构也可以类似地获得。
如上所述,如何在还原用户设计意图的情况下减少综合后电路的面积和占用的门电路的数量是一个亟待解决的问题。在进行芯片设计时,由于各种原因(例如,用户的错误设计),可能出现循环电路。循环电路很容易导致电路震荡,从而破坏电路设计。因此,传统的做法会向循环电路插入一个寄存器,以破坏电路的震荡。但是,这样会改变用户设计意图
图3示出了示例性的循环电路300和310。
循环电路300包括由多个门电路(例如,312、314、316)构成的电路结构,其中,门电路316的输出就是循环电路300的输出,并且该输出连接到循环电路300的输入,从而构成了一个循环。
在图3的例子中,根据循环的次数,循环电路300被展开为循环电路310。循环电路310可以包括与循环次数相同的电路结构(包括门电路312、314、316)。这种通常做法直观并在实现上非常简单,同时不会改变用户设计意图。但是,当循环次数增多时,循环电路310的电路规模会持续增长,占用过多的门电路并形成较大的电路的面积。因此,图3的解决方案虽然可以避免改变用户设计意图,但是会大量占用FPGA有限的门电路资源。
鉴于上述问题,本申请的实施例提供了一种实现循环电路的方法、电路、装置和存储介质。
图4示出了根据本申请实施例的一种展开循环电路的电路400。
在一些实施例中,循环电路可以是单输入(即,只有一个输入信号)的循环电路。在图4的示例中,电路400可以包括循环电路的电路结构402和电路结构404以及选择电路406。可以理解的是,电路结构402和电路结构404是相同的。其中,电路结构402的输入信号的值是“0”,电路结构404的输入信号的值是“1”。选择电路406可以是一个选择器(例如,双输入的选择器)。选择器406可以包括两个输入S1和S2、一个选择输出D、以及一个选择输入ENB。输入S1和S2分别连接到电路结构402和电路结构404的输出信号。选择输出D连接到选择输入ENB,并且向外部提供最终的输出信号。通常,在初始化选择器406时的选择输出D为0,即,会使得选择输入ENB为0,从而选择输入S1的信号。
在一些实施例中,电路结构402或404仅有一个输出信号。在一个例子中,当电路结构402在输入信号的值是“0”的情况下,其输出信号的值是“0”,且电路结构404在输入信号的值是“1”的情况下,其输出信号的值是“1”时,由于初始化时会选择输入S1的信号(即,“0”),因此,电路400会持续输出“0”。当电路结构402在输入信号的值是“0”的情况下,其输出信号的值是“1”,且电路结构404在输入信号的值是“1”的情况下,其输出信号的值是“0”时,由于初始化时会选择输入S1的信号(即,“0”),因此,即使电路400的输入信号没有变化,电路400也会先在第一个时钟周期输出“1”,在第二个时钟周期输出“0”,在第三个时钟周期输出“1”,如此反复,形成震荡。
由此可见,对于一个单信号输入的循环电路,当该循环电路出现震荡时,就是循环电路在输入信号没有变化的时候输出不断震荡,即,在0和1之间变化。因此,对于以两个时钟周期为一个完整周期的循环电路,当第二个时钟周期的输出与第三个时钟周期的输出不同时,意味着循环电路在输入没有变化的情况发生了输出的跳变,从而证明震荡的存在。
因此,为了检测震荡,在一些实施例中,选择器406的选择输出D可以连接到一个震荡检测电路408。该震荡检测电路408可以分别获取选择输出D在第二时钟周期和第三时钟周期的第二值和第三值;确定第二值和第三值是否相同;响应于第二值和第三值不相同,输出震荡指示信号。该震荡指示信号指示循环电路存在震荡。
在一些实施例中,电路结构402或404包括多个输出信号。可以理解的是,对于具有单输入信号和多个输出信号的电路,其虽然具有多个输出信号,但是该多个输出信号也仅存在2种组合,分别对应于单输入信号的“0”和“1”。此时,可以将多个输出信号经由一个转换电路(未示出)转换为由一个信号表示的指示信号。该指示信号的值可以用“0”和“1”表示,并且分别连接到选择器406的输入S1和S2。转换电路也可以是一个选择器,该选择器可以配置为根据。
图5示出了根据本申请实施例的另一种循环电路500。
在一些实施例中,循环电路500可以是双输入(即,具有输入0和输入1)单输出的循环电路。
如图5所示,循环电路500可以包括电路结构502和输出处理电路504。电路结构502可以与电路结构402类似,电路结构502的输出连接到电路结构502的输入0。输出处理电路504用于将电路结构502的输出处理,并且将处理后的输出连接到电路结构502的输入1。这样,就形成了单输出对于双输入的循环电路。
图6示出了根据本申请实施例的另一种展开循环电路的电路600。
对于循环电路500,本申请实施例提供了另一种电路600,用于展开循环电路500。
电路600包括2n个电路结构502(n=2)。为了清楚,这些电路结构502被称为电路结构602、604、606和608。这些电路结构602、604、606和608的输入信号的值分别为“00”、“01”、“10”和“11”。电路结构602和604的输出分别作为选择器614的输入S11和S12,电路结构606和608的输出分别作为选择器616的输入S21和S22。
电路600还包括两个输出处理电路610和612。输出处理电路610和612与图5的输出处理电路504相同,在此为了清楚而刻意进行区分。
选择器614的输出D1和选择器616的输出D2分别连接到输出处理电路610和612。
输出处理电路610和612的输出则进一步连接到了选择器620的输入S41和S42。选择器620的输出一方面连接到选择器620的选择输入ENB4,另一方面则连接到选择器618的选择输入ENB3。
选择器614的输出D1和选择器616的输出D2还连接到选择器618的输入S31和S32。通过选择输入ENB3选择的输出D3连接到选择器618的ENB2。
可以理解的是,为了检测震荡,可以将每一个选择器的输出连接到震荡检测电路。例如,选择器614的选择输出D1可以连接到第一震荡检测电路(未示出),选择器616的选择输出D2可以连接到第二震荡检测电路(未示出),选择器618的选择输出D3可以连接到第三震荡检测电路(未示出),选择器620的选择输出D4可以连接到第四震荡检测电路(未示出)。其中,选择器620的选择输出D4是电路600的最终输出。
发明人通过总结,得出如下规律。
对于具有n输入的循环电路,展开该循环电路的电路包括2n个电路结构以及F(n)个选择器,其中,F(n)=F(n-1)*2+2。当n=2时,f(1)=1。
可以理解的是,对于具有更多输入信号的循环电路,可以在图6的基础上不断复制叠加。所需要的选择器的数量则由上述F(n)公示来确定。在此,申请人不再进一步说明展开的方式。
通过将循环电路展开为如上所述电路,可以在保持用户的原始设计意图的情况下,又可以检测到震荡的存在。
本申请实施例还提供了一种实现循环电路的方法。
图7示出了根据本申请实施例的实现循环电路的方法700的流程图。方法700可以由如图2所示的仿真系统200执行。方法700可以是编译逻辑系统设计的过程的一部分。方法700可以包括如下步骤。
在步骤701,仿真系统200可以获取逻辑系统设计的描述。所述逻辑系统设计包括所述循环电路(例如,图3的循环电路300)。所述循环电路包括电路结构(例如,图4的结构402),所述电路结构包括至少一个门电路(例如,门电路302、304或306)。
在步骤702,仿真系统200可以根据所述循环电路的输入信号的数量n确定选择电路(例如,图4的选择电路406或者图6的选择电路614等)。所述选择电路包括F(n)个选择器,F(n)=F(n-1)*2+2,并且F(1)=1。
在一些实施例中,所述选择电路包括多个输入(例如,两个)和选择输出。所述选择输出在依次的第一时钟周期、第二时钟周期和第三时钟周期产生输出值,所述方法进一步包括:
连接所述选择输出到震荡检测电路,所述震荡检测电路配置为:分别获取所述选择输出在所述第二时钟周期和所述第三时钟周期的第二值和第三值;确定所述第二值和第三值是否相同;以及响应于所述第二值和第三值不相同,输出震荡指示信号。所述震荡指示信号指示所述循环电路存在震荡。具体描述请见图4。
在步骤703,仿真系统200可以生成2n个所述电路结构(例如,图4的电路结构402和404,或者图6的电路结构602-608)。
在步骤704,仿真系统200可以将所述2n个电路结构的输出连接到所述选择电路。所述选择电路的选择输出可以连接到所述输入信号。
在一些实施例中,响应于所述输入数量n为1,所述2n个所述电路结构包括相同的第一电路结构(例如,图4的电路结构402)和第二电路结构(例如,图4的电路结构404)。所述第一电路结构的输入信号为“0”并且包括第一输出信号,所述第二电路结构的输入信号为“1”并包括第二输出信号。所述F(n)个选择器包括第一选择器(例如,图4的选择器406)。所述第一选择器包括第一输入(例如,S1)、第二输入(例如,S2)、所述选择输出(例如,选择输出D)和选择输入(例如,ENB)。所述选择输出连接到所述选择输入,所述第一输出信号连接到所述第一输入,所述第二输出信号连接到所述第二输入。
在一些实施例中,响应于所述输入数量n为2,所述2n个所述电路结构包括相同的第一电路结构(例如,图6的602)、第二电路结构(例如,604)、第三电路结构(例如,606)和第四电路结构(例如,608),所述第一电路结构的输入信号为“00”并且包括第一输出信号,所述第二电路结构的输入信号为“01”并包括第二输出信号,所述第三电路结构的输入信号为“10”并且包括第三输出信号,所述第四电路结构的输入信号为“11”并包括第四输出信号,
所述F(n)个选择器包括第一选择器(例如,614)、第二选择器(例如,616)、第三选择器(例如,618)和第四选择器(例如,620)。
所述第一选择器包括第一一输入(例如,S11)、第一二输入(例如,S12)、第一选择输出(例如,D1)和第一选择输入(例如,ENB1)。所述第一输出信号和所述第二输出信号分别连接到所述第一一输入和所述第一二输入。
所述第二选择器包括第二一输入(例如,S21)、第二二输入(例如,S22)、第二选择输出(例如,D2)和第二选择输入(例如,ENB2)。所述第三输出信号和所述第四输出信号分别连接到所述第二一输入和所述第二二输入。
所述第三选择器包括第三一输入(例如,S31)、第三二输入(例如,S32)、第三选择输出(例如,D3)和第三选择输入(例如,ENB3)。所述第一选择输出和所述第二选择输出分别连接到所述第三一输入和所述第三二输入,所述第三选择输出连接到所述第二选择输入。
所述第四选择器包括第四一输入(例如,S41)、第四二输入(例如,S42)、所述选择输出(例如,D4)和第四选择输入(例如,ENB4)。所述第一选择输出和所述第二选择输出经分别处理后连接到所述第四一输入和所述第四二输入,所述选择输出连接到所述第四选择输入和所述第三选择输入。
上述每一个选择器的输出都可以连接到震荡检测电路。
通过将循环电路展开为如上所述电路,可以在保持用户的原始设计意图的情况下,又可以检测到震荡的存在。
本申请实施例还提供一种电子装置。该电子装置可以是图1的主机100。该主机100可以包括存储器,用于存储一组指令;以及至少一个处理器,配置为执行该组指令以使得所述电子装置执行方法700。
本申请实施例还提供一种非暂态计算机可读存储介质。该非暂态计算机可读存储介质存储计算机的一组指令,该组指令用于在被执行时使该电子控制装置执行方法700。
本申请实施例还提供一种展开循环电路的电路。所述循环电路包括电路结构,所述电路结构包括至少一个门电路,所述展开循环电路的电路包括:2n个所述电路结构,n是所述循环电路的输入信号的数量;选择电路,连接到所述2n个电路结构的输出,所述选择电路包括F(n)个选择器,F(n)=F(n-1)*2+2,并且F(1)=1,所述选择电路包括多个输入和选择输出;以及震荡检测电路,连接所述选择电路的选择输出。
上述对本申请的一些实施例进行了描述。其他实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本申请的范围(包括权利要求)被限于这些例子;在本申请的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本申请的不同方面的许多其它变化,为了简明它们没有在细节中提供。
尽管已经结合了本申请的具体实施例对本申请进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本申请旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本申请的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (8)

1.一种实现循环电路的方法,包括:
获取逻辑系统设计的描述,所述逻辑系统设计包括所述循环电路,所述循环电路包括电路结构,所述电路结构包括至少一个门电路;
根据所述循环电路的输入信号的数量n确定选择电路;
生成2n个所述电路结构;以及
将所述2n个电路结构的输出连接到所述选择电路,所述选择电路的选择输出连接到所述输入信号,
其中,所述选择电路包括F(n)个选择器,F(n)=F(n-1)×2+2,并且F(1)=1。
2.如权利要求1所述的方法,其中,所述选择电路包括多个输入和所述选择输出,所述选择输出在依次的第一时钟周期、第二时钟周期和第三时钟周期产生输出值,所述方法进一步包括:
连接所述选择输出到震荡检测电路,所述震荡检测电路配置为:
分别获取所述选择输出在所述第二时钟周期和所述第三时钟周期的第二值和第三值;
确定所述第二值和第三值是否相同;
响应于所述第二值和第三值不相同,输出震荡指示信号,所述震荡指示信号指示所述循环电路存在震荡。
3.如权利要求2所述的方法,其中,响应于所述输入信号的数量n为1,所述2n个所述电路结构包括相同的第一电路结构和第二电路结构,所述第一电路结构的输入信号为“0”并且包括第一输出信号,所述第二电路结构的输入信号为“1”并包括第二输出信号,所述F(n)个选择器包括第一选择器,所述第一选择器包括第一输入、第二输入、所述选择输出和选择输入,所述选择输出连接到所述选择输入,所述第一输出信号连接到所述第一输入,所述第二输出信号连接到所述第二输入。
4.如权利要求2所述的方法,其中,响应于所述输入信号的数量n为2,所述2n个所述电路结构包括相同的第一电路结构、第二电路结构、第三电路结构和第四电路结构,所述第一电路结构的输入信号为“00”并且包括第一输出信号,所述第二电路结构的输入信号为“01”并包括第二输出信号,所述第三电路结构的输入信号为“10”并且包括第三输出信号,所述第四电路结构的输入信号为“11”并包括第四输出信号,所述F(n)个选择器包括第一选择器、第二选择器、第三选择器和第四选择器,所述第一选择器包括第一一输入、第一二输入、第一选择输出和第一选择输入,所述第一输出信号和所述第二输出信号分别连接到所述第一一输入和所述第一二输入;
所述第二选择器包括第二一输入、第二二输入、第二选择输出和第二选择输入,所述第三输出信号和所述第四输出信号分别连接到所述第二一输入和所述第二二输入;
所述第三选择器包括第三一输入、第三二输入、第三选择输出和第三选择输入,所述第一选择输出和所述第二选择输出分别连接到所述第三一输入和所述第三二输入,所述第三选择输出连接到所述第二选择输入;
所述第四选择器包括第四一输入、第四二输入、所述选择输出和第四选择输入,所述第一选择输出和所述第二选择输出经分别处理后连接到所述第四一输入和所述第四二输入,所述选择输出连接到所述第四选择输入和所述第三选择输入。
5.一种展开循环电路的电路,其中,所述循环电路包括电路结构,所述电路结构包括至少一个门电路,所述展开循环电路的电路包括:
2n个电路结构,n是所述循环电路的输入信号的数量;
选择电路,连接到所述2n个电路结构的输出,所述选择电路包括F(n)个选择器,F(n)=F(n-1)×2+2,并且F(1)=1所述选择电路包括多个输入和选择输出;以及
震荡检测电路,连接所述选择电路的选择输出,所述选择电路的选择输出还连接到所述输入信号。
6.如权利要求5所述的电路,其中,所述震荡检测电路配置为:
分别获取所述选择输出在第一时钟周期和第二时钟周期的第一值和第二值;
确定所述第一值和第二值是否相同;
响应于所述第一值和第二值相同,输出震荡指示信号,所述震荡指示信号指示所述循环电路存在震荡。
7.一种电子装置,包括
存储器,用于存储一组指令;以及
至少一个处理器,用于执行该组指令以使得所述电子装置执行如权利要求1-4的任一项所述的方法。
8.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机的一组指令,该组指令用于在被执行时使所述计算机执行如权利要求1-4的任一项所述的方法。
CN202310819457.4A 2023-07-05 2023-07-05 实现循环电路的方法、电路、装置和存储介质 Active CN116738906B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310819457.4A CN116738906B (zh) 2023-07-05 2023-07-05 实现循环电路的方法、电路、装置和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310819457.4A CN116738906B (zh) 2023-07-05 2023-07-05 实现循环电路的方法、电路、装置和存储介质

Publications (2)

Publication Number Publication Date
CN116738906A CN116738906A (zh) 2023-09-12
CN116738906B true CN116738906B (zh) 2024-04-19

Family

ID=87913349

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310819457.4A Active CN116738906B (zh) 2023-07-05 2023-07-05 实现循环电路的方法、电路、装置和存储介质

Country Status (1)

Country Link
CN (1) CN116738906B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1849519A (zh) * 2003-09-12 2006-10-18 爱德万测试株式会社 测试装置以及写入控制电路
US7363526B1 (en) * 2004-09-07 2008-04-22 Altera Corporation Method for transferring data across different clock domains with selectable delay
EP2690548A1 (en) * 2012-07-26 2014-01-29 Mobileye Technologies Ltd Computer architecture with a hardware accumulator reset
CN107425849A (zh) * 2017-07-05 2017-12-01 电子科技大学 一种可锁相恒定频率的多相操作电路
US10796048B1 (en) * 2017-06-16 2020-10-06 Synopsys, Inc. Adding delay elements to enable mapping a time division multiplexing circuit on an FPGA of a hardware emulator
CN114329644A (zh) * 2021-11-17 2022-04-12 芯华章科技股份有限公司 对逻辑系统设计进行加密仿真的方法、设备及存储介质
CN115293076A (zh) * 2022-04-21 2022-11-04 芯华章科技股份有限公司 生成电路的方法、电子设备及存储介质
CN115688643A (zh) * 2022-10-21 2023-02-03 芯华章科技(北京)有限公司 仿真逻辑系统设计的方法、设备及存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1849519A (zh) * 2003-09-12 2006-10-18 爱德万测试株式会社 测试装置以及写入控制电路
US7363526B1 (en) * 2004-09-07 2008-04-22 Altera Corporation Method for transferring data across different clock domains with selectable delay
EP2690548A1 (en) * 2012-07-26 2014-01-29 Mobileye Technologies Ltd Computer architecture with a hardware accumulator reset
US10796048B1 (en) * 2017-06-16 2020-10-06 Synopsys, Inc. Adding delay elements to enable mapping a time division multiplexing circuit on an FPGA of a hardware emulator
CN107425849A (zh) * 2017-07-05 2017-12-01 电子科技大学 一种可锁相恒定频率的多相操作电路
CN114329644A (zh) * 2021-11-17 2022-04-12 芯华章科技股份有限公司 对逻辑系统设计进行加密仿真的方法、设备及存储介质
CN115293076A (zh) * 2022-04-21 2022-11-04 芯华章科技股份有限公司 生成电路的方法、电子设备及存储介质
CN115688643A (zh) * 2022-10-21 2023-02-03 芯华章科技(北京)有限公司 仿真逻辑系统设计的方法、设备及存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
基于DC-DC转换器的锯齿波振荡器的设计;刘光伦;李智群;刘桂芝;;电子技术(第10期);全文 *
基于PLD与VHDL的多路输入多路输出数据选择器的设计;伊鑫;黄利彬;吴克启;;信息化研究(第09期);全文 *
高速低耗BiCMOS OC门及其线与逻辑系统;成立;朱漪云;王振宇;刘星桥;祝俊;;江苏大学学报(自然科学版)(第02期);全文 *

Also Published As

Publication number Publication date
CN116738906A (zh) 2023-09-12

Similar Documents

Publication Publication Date Title
CN111931445B (zh) 用于调试逻辑系统设计的方法、仿真器及存储介质
CN112100957B (zh) 用于调试逻辑系统设计的方法、仿真器、存储介质
JPH0548494B2 (zh)
CN117910398A (zh) 仿真逻辑系统设计的方法、电子装置和存储介质
CN114548027A (zh) 在验证系统中追踪信号的方法、电子设备及存储介质
CN112733478B (zh) 用于对设计进行形式验证的装置
CN115827568B (zh) 获取逻辑系统设计的数据的方法、电子设备和存储介质
CN116738906B (zh) 实现循环电路的方法、电路、装置和存储介质
CN115470125B (zh) 基于日志文件的调试方法、设备以及存储介质
US9672094B1 (en) Interconnect circuitry fault detection
US6973405B1 (en) Programmable interactive verification agent
CN115906730A (zh) 验证逻辑系统设计的方法、设备及存储介质
CN113760751B (zh) 生成测试用例的方法、电子设备及存储介质
CN114548028B (zh) 进行低功耗设计的方法、电子设备及存储介质
CN114328062B (zh) 校验缓存一致性的方法、装置和存储介质
CN115688643A (zh) 仿真逻辑系统设计的方法、设备及存储介质
CN113946937B (zh) 同步方法及仿真器
CN116151187B (zh) 处理触发条件的方法、装置和存储介质
CN116594830B (zh) 硬件仿真工具、调试方法和存储介质
US11500639B2 (en) Arithmetic processing apparatus and control method using ordering property
CN116880963B (zh) 用于检测多个硬件仿真工具之间的连接错误的方法
CN116841697B (zh) 处理mmio请求的方法、电子装置和存储介质
CN117933151A (zh) 仿真逻辑系统设计的方法、电子装置和存储介质
CN115809620B (zh) 仿真逻辑系统设计的方法、电子设备和存储介质
CN114169287B (zh) 生成验证环境的连接示意图的方法、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant