CN117709261A - Fpga的电路设计方法、asic原型验证方法及设计装置 - Google Patents
Fpga的电路设计方法、asic原型验证方法及设计装置 Download PDFInfo
- Publication number
- CN117709261A CN117709261A CN202311420382.9A CN202311420382A CN117709261A CN 117709261 A CN117709261 A CN 117709261A CN 202311420382 A CN202311420382 A CN 202311420382A CN 117709261 A CN117709261 A CN 117709261A
- Authority
- CN
- China
- Prior art keywords
- fpga
- bus
- fpgas
- target control
- target
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 72
- 238000013461 design Methods 0.000 title claims abstract description 57
- 238000012795 verification Methods 0.000 title claims abstract description 31
- 238000012938 design process Methods 0.000 claims abstract description 25
- 230000006870 function Effects 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 8
- 238000012545 processing Methods 0.000 description 7
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000007792 addition Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本申请提供一种FPGA的电路设计方法、ASIC原型验证方法及设计装置,所述方法包括:在多个FPGA的电路设计过程中例化目标ASIC中的控制寄存器列表以得到多个FPGA中各个FPGA各自对应的结构一致的目标控制寄存器列表;在各个FPGA的电路设计过程中将控制寄存器列表对应的控制总线进行复制以得到各个FPGA各自对应的目标控制总线;将各个FPGA各自对应的目标控制总线进行串联以得到各个FPGA各自对应的总线连接关系数据,以使得用户基于各个FPGA各自对应的设计好的目标控制寄存器列表、目标控制总线和总线连接关系数据生成各个FPGA。本申请能够有效降低控制寄存器列表划分的复杂度,进而有效地对ASIC进行原型验证。
Description
技术领域
本申请涉及ASIC原型验证领域,尤其涉及一种FPGA的电路设计方法、ASIC原型验证方法及设计装置。
背景技术
在ASIC实现中,通常需要通过FPGA进行原型验证。ASIC设计比FPGA设计要大得多,通常在多个FPGA上划分为多个分区。被划分到不同FPGA的功能模块,可能需要共同的寄存器列表进行控制,从而需要对控制寄存器进行划分。
现有技术对FPGA的GPIO资源要求过高,同时控制寄存器的拆分复杂度高。
发明内容
鉴于此,本申请实施例提供了一种FPGA的电路设计方法、ASIC原型验证方法及设计装置,以消除或改善现有技术中存在的一个或更多个缺陷。
本申请的第一个方面提供了一种FPGA的电路设计方法,该方法包括:
在多个FPGA的电路设计过程中例化目标ASIC中的控制寄存器列表以得到所述多个FPGA中各个FPGA各自对应的结构一致的目标控制寄存器列表;其中,各个FPGA的所述目标控制寄存器列表调用各自需要的控制寄存器实现不同的功能;
在各个所述FPGA的电路设计过程中将所述控制寄存器列表对应的控制总线进行复制以得到各个所述FPGA各自对应的目标控制总线;
将各个所述FPGA各自对应的所述目标控制总线进行串联以得到各个所述FPGA各自对应的总线连接关系数据,以使得用户基于各个所述FPGA各自对应的设计好的目标控制寄存器列表、目标控制总线和总线连接关系数据生成各个所述FPGA。
在本申请的一些实施例中,在所述在多个FPGA的电路设计过程中例化目标ASIC中的控制寄存器列表以得到所述多个FPGA中各个FPGA各自对应的结构一致的目标控制寄存器列表之后,还包括:
将各个所述目标控制寄存器列表中除对应只读功能模块的目标控制寄存器列表外的其他目标控制寄存器列表中的只读寄存器都置零。
在本申请的一些实施例中,所述在各个所述FPGA的电路设计过程中将所述控制寄存器列表对应的控制总线进行复制以得到各个所述FPGA各自对应的目标控制总线,包括:
在各个所述FPGA的电路设计过程中采用各个所述FPGA各自对应的总线同步模块将所述控制总线进行复制以得到各自对应的目标控制总线;
所述目标控制总线包括第一控制总线和第二控制总线;
其中,各个所述FPGA中的终点FPGA的目标控制总线不包括所述第二控制总线;各个所述FPGA中的起点FPGA中的目标控制总线还包括对所述控制总线进行复制得到的第三控制总线。
在本申请的一些实施例中,所述将各个所述FPGA各自对应的所述目标控制总线进行串联以得到各个所述FPGA各自对应的总线连接关系数据,包括:
将各个所述第一控制总线与各自对应的总线同步模块和本地的目标控制寄存器列表进行连接,以及将各个所述第二控制总线与各自对应的总线同步模块和下一级FPGA的总线同步模块进行连接;将所述第三控制总线与对应的总线同步模块和所述目标ASIC的各个功能模块进行连接,以得到各个所述FPGA各自对应的总线连接关系数据。
本申请的第二个方面提供了一种FPGA的电路设计装置,该装置包括:
控制寄存器列表例化模块,用于在多个FPGA的电路设计过程中例化目标ASIC中的控制寄存器列表以得到所述多个FPGA中各个FPGA各自对应的结构一致的目标控制寄存器列表;其中,各个FPGA的所述目标控制寄存器列表调用各自需要的控制寄存器实现不同的功能;
控制总线复制模块,用于在各个所述FPGA的电路设计过程中将所述控制寄存器列表对应的控制总线进行复制以得到各个所述FPGA各自对应的目标控制总线;
控制总线串联模块,用于将各个所述FPGA各自对应的所述目标控制总线进行串联以得到各个所述FPGA各自对应的总线连接关系数据,以使得用户基于各个所述FPGA各自对应的设计好的目标控制寄存器列表、目标控制总线和总线连接关系数据生成各个所述FPGA。
本申请的第三个方面还提供了一种基于FPGA的ASIC原型验证方法,该方法包括:
生成目标控制指令;
将所述目标控制指令发送至各个由权利要求1-4任一项所述的FPGA的电路设计方法生成的FPGA各自对应的总线同步模块,以使各个所述总线同步模块在各自对应的本地目标控制寄存器列表中进行相应的读取或更新。
在本申请的一些实施例中,在所述目标控制指令为只读指令时,所述以使各个所述总线同步模块在各自对应的本地目标控制寄存器列表中进行相应的读取或更新,包括:
各个所述总线同步模块依次基于接收到的只读指令,将各自接收到的目标读取数据,与从本地的目标控制寄存器列表中的只写寄存器基于所述只读指令读取的读取数据进行或运算,以更新所述目标读取数据,并将更新后的目标读取数据和所述只读指令传入各自对应的下一级FPGA中的总线同步模块。
在本申请的一些实施例中,在所述目标控制指令为只写指令时,所述以使各个所述总线同步模块在各自对应的本地目标控制寄存器列表中进行相应的读取或更新,包括:
各个所述总线同步模块依次基于接收到的只写指令,将各自接收到的目标写入数据写入本地的目标控制寄存器列表中的只写寄存器,并将所述目标写入数据和只写指令传入各自对应的下一级FPGA中的总线同步模块。
本申请的第四个方面提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现前述的第一方面所述的FPGA的电路设计方法,或者实现前述的第三方面所述的基于FPGA的ASIC原型验证方法。
本申请的第五个方面提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现前述的第一方面所述的FPGA的电路设计方法,或者实现前述的第三方面所述的基于FPGA的ASIC原型验证方法。
本申请提供一种FPGA的电路设计方法、ASIC原型验证方法及设计装置,所述方法包括:在多个FPGA的电路设计过程中例化目标ASIC中的控制寄存器列表以得到所述多个FPGA中各个FPGA各自对应的结构一致的目标控制寄存器列表;在各个所述FPGA的电路设计过程中将所述控制寄存器列表对应的控制总线进行复制以得到各个所述FPGA各自对应的目标控制总线;将各个所述FPGA各自对应的所述目标控制总线进行串联以得到各个所述FPGA各自对应的总线连接关系数据,以使得用户基于各个所述FPGA各自对应的设计好的目标控制寄存器列表、目标控制总线和总线连接关系数据生成各个所述FPGA。本申请能够有效降低控制寄存器列表划分的复杂度,进而有效地对ASIC进行原型验证。
本申请的附加优点、目的,以及特征将在下面的描述中将部分地加以阐述,且将对于本领域普通技术人员在研究下文后部分地变得明显,或者可以根据本申请的实践而获知。本申请的目的和其它优点可以通过在说明书以及附图中具体指出的结构实现到并获得。
本领域技术人员将会理解的是,能够用本申请实现的目的和优点不限于以上具体所述,并且根据以下详细说明将更清楚地理解本申请能够实现的上述和其他目的。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,并不构成对本申请的限定。附图中的部件不是成比例绘制的,而只是为了示出本申请的原理。为了便于示出和描述本申请的一些部分,附图中对应部分可能被放大,即,相对于依据本申请实际制造的示例性装置中的其它部件可能变得更大。在附图中:
图1为本申请一实施例中的FPGA的电路设计方法的流程示意图。
图2为本申请另一实施例中的FPGA的电路设计装置的结构示意图。
图3为本申请另一实施例中的基于FPGA的ASIC原型验证方法的流程示意图。
图4为本申请另一实施例中的控制总线串联的结构示意图。
图5为本申请另一实施例中的基于只读或只写指令对各个FPGA进行访问的流程示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本申请做进一步详细说明。在此,本申请的示意性实施方式及其说明用于解释本申请,但并不作为对本申请的限定。
在此,还需要说明的是,为了避免因不必要的细节而模糊了本申请,在附图中仅仅示出了与根据本申请的方案密切相关的结构和/或处理步骤,而省略了与本申请关系不大的其他细节。
应该强调,术语“包括/包含”在本文使用时指特征、要素、步骤或组件的存在,但并不排除一个或更多个其它特征、要素、步骤或组件的存在或附加。
在此,还需要说明的是,如果没有特殊说明,术语“连接”在本文不仅可以指直接连接,也可以表示存在中间物的间接连接。
在下文中,将参考附图描述本申请的实施例。在附图中,相同的附图标记代表相同或类似的部件,或者相同或类似的步骤。
具体通过下述实施例进行详细说明。
本申请实施例提供一种可以由FPGA的电路设计装置或客户端设备执行的FPGA的电路设计方法,参见图1,所述的FPGA的电路设计方法具体包含有如下内容:
步骤110:在多个FPGA的电路设计过程中例化目标ASIC中的控制寄存器列表以得到所述多个FPGA中各个FPGA各自对应的结构一致的目标控制寄存器列表。其中,各个FPGA的所述目标控制寄存器列表调用各自需要的控制寄存器实现不同的功能;
步骤120:在各个所述FPGA的电路设计过程中将所述控制寄存器列表对应的控制总线进行复制以得到各个所述FPGA各自对应的目标控制总线。
步骤130:将各个所述FPGA各自对应的所述目标控制总线进行串联以得到各个所述FPGA各自对应的总线连接关系数据,以使得用户基于各个所述FPGA各自对应的设计好的目标控制寄存器列表、目标控制总线和总线连接关系数据生成各个所述FPGA。
具体来说,客户端设备首先在多个FPGA(现场可编程们阵列)的电路设计过程中例化目标ASIC(专用集成电路)中的控制寄存器列表以得到各个FPGA各自对应的目标控制寄存器列表(如图4中的RegList Mirror1、RegList Mirror2和RegList Mirror3)。然后在各个FPGA的电路设计过程中将控制寄存器列表对应的控制总线进行复制以得到各个FPGA各自对应的目标控制总线。最后将各个FPGA各自对应的目标控制总线进行串联以得到各个FPGA各自对应的总线连接关系数据,以使得用户基于各个所述FPGA各自对应的设计好的目标控制寄存器列表、目标控制总线和总线连接关系数据生成各个FPGA,从而能够有效降低控制寄存器列表划分的复杂度,进而有效地对ASIC进行原型验证。
其中,客户端设备对控制寄存器列表的例化以及控制总线的复制,均是调用相应的设计代码后,基于设计代码在各个FPGA的电路中进行设计以得到各自对应的目标控制寄存器列表和目标控制总线的。各个FPGA的所述目标控制寄存器列表调用各自需要的控制寄存器实现不同的功能;
另外,各个FPGA各自对应的结构一致的目标控制寄存器列表,表示均与目标ASIC中的控制寄存器列表结构一致,即控制寄存器列表中的多个控制寄存器的类型相同,各个控制寄存器的逻辑排序也相同,仅在各个FPGA的功能实现时根据功能去调用各自对应的控制寄存器,并对自身不需要的控制寄存器进行屏蔽,以免对FPGA自身要实现的功能产生干扰。
为了有效提升ASIC原型验证中只读功能的准确性,在步骤110之后还包括:
将各个所述目标控制寄存器列表中除对应只读功能模块的目标控制寄存器列表外的其他目标控制寄存器列表中的只读寄存器都置零。
具体来说,客户端设备在获取到控制寄存器列表的设计代码模块后,在除了用于只读功能模块的FPGA的目标控制寄存器列表外其他的FPGA的目标控制寄存器列表的设计代码中,对只读寄存器对应的代码部分修改,使得只读寄存器的读取结果为0,从而能够有效提示ASIC原型验证中只读功能的准确性。
为了保证控制总线复制的准确性,步骤120包括:
在各个所述FPGA的电路设计过程中采用各个所述FPGA各自对应的总线同步模块将所述控制总线进行复制以得到各自对应的目标控制总线;
所述目标控制总线包括第一控制总线和第二控制总线;
其中,各个所述FPGA中的终点FPGA的目标控制总线不包括所述第二控制总线;各个所述FPGA中的起点FPGA中的目标控制总线还包括对所述控制总线进行复制得到的第三控制总线。
具体来说,参见图4,客户端设备在各个FPGA的电路设计过程中采用各个FPGA各自对应的总线同步模块(即图4中的Bus Duplicate)将调用所述控制总线的设计代码进行复制以得到各自对应的目标控制总线,从而能够保证控制总线复制的准确性。
其中,目标控制总线包括第一控制总线和第二控制总线;各个FPGA中的终点FPGA的目标控制总线不包括第二控制总线;各个FPGA中的起点FPGA中的目标控制总线还包括对控制总线进行复制得到的第三控制总线。
为了保证各个FPGA之间的数据同步的一致性,步骤130包括:
将各个所述第一控制总线与各自对应的总线同步模块和本地的目标控制寄存器列表进行连接,以及将各个所述第二控制总线与各自对应的总线同步模块和下一级FPGA的总线同步模块进行连接;将所述第三控制总线与对应的总线同步模块和所述目标ASIC的各个功能模块进行连接,以得到各个所述FPGA各自对应的总线连接关系数据。
具体来说,客户端设备将各个第一控制总线与各自对应的总线同步模块和本地的目标控制寄存器列表进行连接,以及将各个第二控制总线与各自对应的总线同步模块和下一级FPGA的总线同步模块进行连接(即图4中的FPGA1、FPGA2、FPGA3);将第三控制总线与对应的总线同步模块和所述目标ASIC的各个功能模块进行连接,以得到各个FPGA各自对应的总线连接关系数据,从而能够保证各个FPGA之间的数据同步的一致性。
本申请实施例还提供一种可以由客户端设备执行的基于FPGA的ASIC原型验证方法,参见图3,所述的FPGA的ASIC原型验证方法具体包含有如下内容:
步骤210:生成目标控制指令。
步骤220:将所述目标控制指令发送至各个由前述的FPGA的电路设计方法生成的FPGA各自对应的总线同步模块,以使各个所述总线同步模块在各自对应的本地目标控制寄存器列表中进行相应的读取或更新。
具体来说,客户端设备首先生成目标控制指令,然后将目标控制指令发送至各个由前述的FPGA的电路设计方法生成的FPGA各自对应的总线同步模块,以使各个总线同步模块在各自对应的本地目标控制寄存器列表中进行相应的读取或更新,从而能够有效地对ASIC进行原型验证。
为了有效地对只读功能模块进行验证,在目标控制指令为只读指令时,步骤220中以使各个所述总线同步模块在各自对应的本地目标控制寄存器列表中进行相应的读取或更新,包括:
各个所述总线同步模块依次基于接收到的只读指令,将各自接收到的目标读取数据,与从本地的目标控制寄存器列表中的只写寄存器基于所述只读指令读取的读取数据进行或运算,以更新所述目标读取数据,并将更新后的目标读取数据和所述只读指令传入各自对应的下一级FPGA中的总线同步模块。
具体来说,参见图5在目标控制指令(即图5中的Cmd)为只读指令时,各个FPGA将各自接收到的目标读取数据,与从本地的目标控制寄存器列表中的只写寄存器基于只读指令读取的读取数据进行或运算(即图5中的OR),以更新目标读取数据(即图5中的Rd_data),并将更新后的目标读取数据和只读指令传入各自对应的下一级FPGA中的总线同步模块,从而能够有效地对只读功能模块进行验证。
为了有效地对只写功能模块进行验证,在所述目标控制指令为只写指令时,步骤220中以使各个所述总线同步模块在各自对应的本地目标控制寄存器列表中进行相应的读取或更新,包括:
各个所述总线同步模块依次基于接收到的只写指令,将各自接收到的目标写入数据写入本地的目标控制寄存器列表中的只写寄存器,并将所述目标写入数据和只写指令传入各自对应的下一级FPGA中的总线同步模块。
具体来说,在所述目标控制指令为只写指令时,各个FPGA将各自接收到的目标写入数据写入本地的目标控制寄存器列表中的只写寄存器,并将目标写入数据(即图5中的Wr_data)和只写指令传入各自对应的下一级FPGA中的总线同步模块,从而能够有效地对只写功能模块进行验证。
另外,图5中的Dup表示目标控制指令或者目标写入数据均传入本地寄存器和下一级FPGA。
从软件层面来说,本申请还提供一种用于执行所述的FPGA的电路设计方法中全部或部分内的FPGA的电路设计装置,参见图2,所述的FPGA的电路设计装置具体包含有如下内容:
控制寄存器列表例化模块,用于在多个FPGA的电路设计过程中例化目标ASIC中的控制寄存器列表以得到所述多个FPGA中各个FPGA各自对应的结构一致的目标控制寄存器列表;其中,各个FPGA的所述目标控制寄存器列表调用各自需要的控制寄存器实现不同的功能。
控制总线复制模块,用于在各个所述FPGA的电路设计过程中将所述控制寄存器列表对应的控制总线进行复制以得到各个所述FPGA各自对应的目标控制总线。
控制总线串联模块,用于将各个所述FPGA各自对应的所述目标控制总线进行串联以得到各个所述FPGA各自对应的总线连接关系数据,以使得用户基于各个所述FPGA各自对应的设计好的目标控制寄存器列表、目标控制总线和总线连接关系数据生成各个所述FPGA。
本申请提供的FPGA的电路设计装置的实施例具体可以用于执行上述实施例中的FPGA的电路设计方法的实施例的处理流程,其功能在此不再赘述,可以参照上述的FPGA的电路设计方法实施例的详细描述。
本申请提供一种FPGA的电路设计方法、ASIC原型验证方法及设计装置,所述的FPGA的电路设计方法包括:在多个FPGA的电路设计过程中例化目标ASIC中的控制寄存器列表以得到所述多个FPGA中各个FPGA各自对应的结构一致的目标控制寄存器列表;在各个所述FPGA的电路设计过程中将所述控制寄存器列表对应的控制总线进行复制以得到各个所述FPGA各自对应的目标控制总线;将各个所述FPGA各自对应的所述目标控制总线进行串联以得到各个所述FPGA各自对应的总线连接关系数据,以使得用户基于各个所述FPGA各自对应的设计好的目标控制寄存器列表、目标控制总线和总线连接关系数据生成各个所述FPGA。本申请能够有效降低控制寄存器列表划分的复杂度,进而有效地对ASIC进行原型验证。
本申请实施例还提供了一种电子设备,例如中心服务器,该电子设备可以包括处理器、存储器、接收器及发送器,处理器用于执行上述实施例提及的FPGA的电路设计方法,或者上述实施例提及的基于FPGA的ASIC原型验证方法,其中处理器和存储器可以通过总线或者其他方式连接,以通过总线连接为例。该接收器可通过有线或无线方式与处理器、存储器连接。
处理器可以为中央处理器(Central Processing Unit,CPU)。处理器还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable GateArray,FPGA的电路设计)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本申请实施例中的FPGA的电路设计方法,或者上述实施例提及的基于FPGA的ASIC原型验证方法对应的程序指令/模块。处理器通过运行存储在存储器中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施例中的FPGA的电路设计方法,或者上述实施例提及的基于FPGA的ASIC原型验证方法。
存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个模块存储在所述存储器中,当被所述处理器执行时,执行实施例中的FPGA的电路设计方法,或者上述实施例提及的基于FPGA的ASIC原型验证方法。
在本申请的一些实施例中,用户设备可以包括处理器、存储器和收发单元,该收发单元可包括接收器和发送器,处理器、存储器、接收器和发送器可通过总线系统连接,存储器用于存储计算机指令,处理器用于执行存储器中存储的计算机指令,以控制收发单元收发信号。
作为一种实现方式,本申请中接收器和发送器的功能可以考虑通过收发电路或者收发的专用芯片来实现,处理器可以考虑通过专用处理芯片、处理电路或通用芯片实现。
作为另一种实现方式,可以考虑使用通用计算机的方式来实现本申请实施例提供的服务器。即将实现处理器,接收器和发送器功能的程序代码存储在存储器中,通用处理器通过执行存储器中的代码来实现处理器,接收器和发送器的功能。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时以实现前述的FPGA的电路设计方法,或者上述实施例提及的基于FPGA的ASIC原型验证方法的步骤。该计算机可读存储介质可以是有形存储介质,诸如随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、软盘、硬盘、可移动存储盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质。
本领域普通技术人员应该可以明白,结合本文中所公开的实施方式描述的各示例性的组成部分、系统和方法,能够以硬件、软件或者二者的结合来实现。具体究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本申请的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。
需要明确的是,本申请并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本申请的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本申请的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
本申请中,针对一个实施方式描述和/或例示的特征,可以在一个或更多个其它实施方式中以相同方式或以类似方式使用,和/或与其他实施方式的特征相结合或代替其他实施方式的特征。
以上所述仅为本申请的优选实施例,并不用于限制本申请,对于本领域的技术人员来说,本申请实施例可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种FPGA的电路设计方法,其特征在于,包括:
在多个FPGA的电路设计过程中例化目标ASIC中的控制寄存器列表以得到所述多个FPGA中各个FPGA各自对应的结构一致的目标控制寄存器列表;其中,各个FPGA的所述目标控制寄存器列表调用各自需要的控制寄存器实现不同的功能;
在各个所述FPGA的电路设计过程中将所述控制寄存器列表对应的控制总线进行复制以得到各个所述FPGA各自对应的目标控制总线;
将各个所述FPGA各自对应的所述目标控制总线进行串联以得到各个所述FPGA各自对应的总线连接关系数据,以使得用户基于各个所述FPGA各自对应的设计好的目标控制寄存器列表、目标控制总线和总线连接关系数据生成各个所述FPGA。
2.根据权利要求1所述的FPGA的电路设计方法,其特征在于,在所述在多个FPGA的电路设计过程中例化目标ASIC中的控制寄存器列表以得到所述多个FPGA中各个FPGA各自对应的结构一致的目标控制寄存器列表之后,还包括:
将各个所述目标控制寄存器列表中除对应只读功能模块的目标控制寄存器列表外的其他目标控制寄存器列表中的只读寄存器都置零。
3.根据权利要求1所述的FPGA的电路设计方法,其特征在于,所述在各个所述FPGA的电路设计过程中将所述控制寄存器列表对应的控制总线进行复制以得到各个所述FPGA各自对应的目标控制总线,包括:
在各个所述FPGA的电路设计过程中采用各个所述FPGA各自对应的总线同步模块将所述控制总线进行复制以得到各自对应的目标控制总线;
所述目标控制总线包括第一控制总线和第二控制总线;
其中,各个所述FPGA中的终点FPGA的目标控制总线不包括所述第二控制总线;各个所述FPGA中的起点FPGA中的目标控制总线还包括对所述控制总线进行复制得到的第三控制总线。
4.根据权利要求3所述的FPGA的电路设计方法,其特征在于,所述将各个所述FPGA各自对应的所述目标控制总线进行串联以得到各个所述FPGA各自对应的总线连接关系数据,包括:
将各个所述第一控制总线与各自对应的总线同步模块和本地的目标控制寄存器列表进行连接,以及将各个所述第二控制总线与各自对应的总线同步模块和下一级FPGA的总线同步模块进行连接;将所述第三控制总线与对应的总线同步模块和所述目标ASIC的各个功能模块进行连接,以得到各个所述FPGA各自对应的总线连接关系数据。
5.一种基于FPGA的ASIC原型验证方法,其特征在于,包括:
生成目标控制指令;
将所述目标控制指令发送至各个由权利要求1-4任一项所述的FPGA的电路设计方法生成的FPGA各自对应的总线同步模块,以使各个所述总线同步模块在各自对应的本地目标控制寄存器列表中进行相应的读取或更新。
6.根据权利要求5所述的基于FPGA的ASIC原型验证方法,其特征在于,在所述目标控制指令为只读指令时,所述以使各个所述总线同步模块在各自对应的本地目标控制寄存器列表中进行相应的读取或更新,包括:
各个所述总线同步模块依次基于接收到的只读指令,将各自接收到的目标读取数据,与从本地的目标控制寄存器列表中的只写寄存器基于所述只读指令读取的读取数据进行或运算,以更新所述目标读取数据,并将更新后的目标读取数据和所述只读指令传入各自对应的下一级FPGA中的总线同步模块。
7.根据权利要求5所述的基于FPGA的ASIC原型验证方法,其特征在于,在所述目标控制指令为只写指令时,所述以使各个所述总线同步模块在各自对应的本地目标控制寄存器列表中进行相应的读取或更新,包括:
各个所述总线同步模块依次基于接收到的只写指令,将各自接收到的目标写入数据写入本地的目标控制寄存器列表中的只写寄存器,并将所述目标写入数据和只写指令传入各自对应的下一级FPGA中的总线同步模块。
8.一种FPGA的电路设计装置,其特征在于,包括:
控制寄存器列表例化模块,用于在多个FPGA的电路设计过程中例化目标ASIC中的控制寄存器列表以得到所述多个FPGA中各个FPGA各自对应的结构一致的目标控制寄存器列表;其中,各个FPGA的所述目标控制寄存器列表调用各自需要的控制寄存器实现不同的功能;
控制总线复制模块,用于在各个所述FPGA的电路设计过程中将所述控制寄存器列表对应的控制总线进行复制以得到各个所述FPGA各自对应的目标控制总线;
控制总线串联模块,用于将各个所述FPGA各自对应的所述目标控制总线进行串联以得到各个所述FPGA各自对应的总线连接关系数据,以使得用户基于各个所述FPGA各自对应的设计好的目标控制寄存器列表、目标控制总线和总线连接关系数据生成各个所述FPGA。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至4任一项所述的FPGA的电路设计方法,或者,执行权利要求5至7任一项所述的基于FPGA的ASIC原型验证方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至4任一项所述的FPGA的电路设计方法,或者,执行权利要求5至7任一项所述的基于FPGA的ASIC原型验证方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311420382.9A CN117709261A (zh) | 2023-10-30 | 2023-10-30 | Fpga的电路设计方法、asic原型验证方法及设计装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311420382.9A CN117709261A (zh) | 2023-10-30 | 2023-10-30 | Fpga的电路设计方法、asic原型验证方法及设计装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117709261A true CN117709261A (zh) | 2024-03-15 |
Family
ID=90154037
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311420382.9A Pending CN117709261A (zh) | 2023-10-30 | 2023-10-30 | Fpga的电路设计方法、asic原型验证方法及设计装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117709261A (zh) |
-
2023
- 2023-10-30 CN CN202311420382.9A patent/CN117709261A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10671556B2 (en) | Selectable peripheral logic in programmable apparatus | |
CN110750341B (zh) | 任务调度方法、装置、系统、终端设备及存储介质 | |
US11853767B2 (en) | Inter-core data processing method, system on chip and electronic device | |
CN111338662A (zh) | 从站的固件升级方法、固件升级装置及终端 | |
US20100131685A1 (en) | Hardware configuration information system, method, and computer program product | |
CN110825435B (zh) | 用于处理数据的方法和装置 | |
CN111966287A (zh) | 数据存储方法、电子设备及存储介质 | |
CN105740405A (zh) | 存储数据的方法和装置 | |
CN115934625A (zh) | 一种用于远程直接内存访问的敲门铃方法、设备及介质 | |
CN107741965B (zh) | 数据库同步处理方法、装置、计算设备及计算机存储介质 | |
CN117709261A (zh) | Fpga的电路设计方法、asic原型验证方法及设计装置 | |
CN114564241B (zh) | 硬件设备的访问方法、装置、计算机设备和存储介质 | |
CN112764897B (zh) | 任务请求的处理方法、装置、系统及计算机可读存储介质 | |
CN112860595B (zh) | Pci设备或pcie设备、数据存取方法及相关组件 | |
US9519487B2 (en) | System-on-chip and method of operating the same | |
CN114564210A (zh) | 一种副本部署方法、装置、系统、电子设备及存储介质 | |
CN112015458A (zh) | 设备升级方法、终端设备、电子设备和存储介质 | |
CN111427815A (zh) | 一种基于spi接口的核间通讯方法、终端及存储介质 | |
CN206312120U (zh) | 一种移动设备软件更新设备 | |
CN111427813A (zh) | 一种基于串口的核间通讯方法、终端及存储介质 | |
CN103605622B (zh) | 一种传输数据的方法和设备 | |
CN110543351A (zh) | 数据处理方法以及计算机设备 | |
JP7363344B2 (ja) | メモリ制御装置、および制御方法 | |
CN114444423B (zh) | 基于验证平台的数据处理方法、系统及电子设备 | |
US20230176932A1 (en) | Processor, information processing apparatus, and information processing method |
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 |