CN112486248B - 基于多fpga互联的收发信号恢复方法、系统以及终端 - Google Patents
基于多fpga互联的收发信号恢复方法、系统以及终端 Download PDFInfo
- Publication number
- CN112486248B CN112486248B CN202011310514.9A CN202011310514A CN112486248B CN 112486248 B CN112486248 B CN 112486248B CN 202011310514 A CN202011310514 A CN 202011310514A CN 112486248 B CN112486248 B CN 112486248B
- Authority
- CN
- China
- Prior art keywords
- fpga
- selectio
- signal
- receiving
- pll0
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 230000000630 rising effect Effects 0.000 claims abstract description 48
- 238000011084 recovery Methods 0.000 claims abstract description 40
- 238000012795 verification Methods 0.000 claims abstract description 9
- 230000011218 segmentation Effects 0.000 claims abstract description 7
- 230000005540 biological transmission Effects 0.000 claims description 17
- 238000005070 sampling Methods 0.000 claims description 13
- 230000008569 process Effects 0.000 claims description 8
- 238000011161 development Methods 0.000 claims description 3
- 230000018109 developmental process Effects 0.000 claims description 3
- 238000007689 inspection Methods 0.000 claims description 3
- 238000001514 detection method Methods 0.000 claims 2
- 238000006243 chemical reaction Methods 0.000 abstract description 3
- 238000013461 design Methods 0.000 abstract description 3
- 230000001360 synchronised effect Effects 0.000 abstract description 3
- 240000007320 Pinus strobus Species 0.000 description 33
- 238000010586 diagram Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- YZMCKZRAOLZXAZ-UHFFFAOYSA-N sulfisomidine Chemical compound CC1=NC(C)=CC(NS(=O)(=O)C=2C=CC(N)=CC=2)=N1 YZMCKZRAOLZXAZ-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/12—Synchronisation of different clock signals provided by a plurality of clock generators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Logic Circuits (AREA)
Abstract
本发明的基于多FPGA互联的收发信号恢复方法、系统及终端,应用多FPGA多SelectIO互联的系统,所述方法包括:收发双方FPGA均使用由本地DUT clk以及派生出的Strobe信号,采用固定封包结构进行收发信号管理。解决了大型同步RTL逻辑无法在多个FPGA中进行实现的问题。本发明采用FPGA的SelectIO作为底层串并转换基础,基于多个FPGA内DUT clk的产生方法(另外专利申请中),在每个FPGA内部以验证逻辑实际运行DUT clk上升沿做Strobe信号,采用固定的封包结构,完成RTL分割后的大量跨芯片signal从一个FPGA传输到另外一个FPGA的实现。本专利方法可对大型同步逻辑RTL,在任意block边界分割到多个FPGA上的实现,保证原有设计RTL的clk cycle级的真实吞吐效率。并且FPGA还有相当快的运行速度。
Description
技术领域
本发明涉及电气设备领域,特别是涉及一种基于多FPGA互联的收发信号恢复方法、系统以及终端。
背景技术
在用FPGA验证SOC样机阶段,logic IP规模非常庞大,特别是图像和视频相关的IP,一个FPGA资源无法实现,需要多个FPGA才能实现。基于FPGA的emulator系统,同样需要把整个DUT分割到多个FPGA上运行,RTL规模变大,而且大量运行在一个single clkdomian,为了保证RTL验证的一致性,多个FPGA上的逻辑必须跑在一个同频的clk。
现有技术中,一般的多个FPGA内部的逻辑运行在异步模式,RTL分割点一般选择具有ready/valid或者req/ack边界处,常称为逻辑代码的异步边界。这种方案无法实现同频(single clk domain)大型RTL逻辑在多个FPGA的之间协调工作。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种提供一种基于多FPGA互联的收发信号恢复方法、系统以及终端,用于解决现有技术中大型同频(single clkdomain)RTL逻辑在多个FPGA上验证难点。
为实现上述目的及其他相关目的,本发明提供一种基于多FPGA互联的收发信号恢复方法,应用应用多FPGA多个SelectIO互联的系统,所述方法包括:收发双方FPGA均使用由本地DUT clk的上升沿产生的Strobe信号进行收发管理。
于本发明的一实施例中,所述方法包括:将每个本地DUT clk时钟信号的上升沿分别做一个Strobe信号作为发送或接收开始,并基于封包结构,依次在每个FPGA的selectIO的pll0_clkout0时钟信号上升沿,发送端SelectIO按照节拍发送RTL的分割边界信号,接受端SelectIO按照pll0_clkout0的节拍查找起始Start、恢复Payload以及检查结束End。
于本发明的一实施例中,所述封包结构包括:起始Start、可多个中间payload区域D0~Dn和结束End。
于本发明的一实施例中,所述方法包括:所述收发双发的FPGA根据各自的DUTclk,使用各自FPGA产生SelectIO的pll0_clkout0上升沿采样,逻辑处理出一个pll0_clkout0脉冲宽度strobe信号,作为发送开始,此Strobe信号后发送端FPGA内的SelectIO按节拍采样发送RTL逻辑分割后边界的信号状态值记录到封包结构的payload D0~Dn中,以令接受端FPGA内的SelectIO按节拍查找恢复出信号。
于本发明的一实施例中,所述方法包括:所述收发双发的FPGA根据各自的DUTclk,使用各自FPGA产生SelectIO的pll0_clkout0上升沿采样,逻辑处理出一个pll0_clkout0脉冲宽度strobe信号,作为接收开始,并基于和发送端约定的封包结构,开始在每个pll0_clkout0cycle时钟信号上升沿查找Start,恢复D0~Dn,检查结束END。
为实现上述目的及其他相关目的,本发明提供一种基于多FPGA互联的收发信号恢复系统,应用于多FPGA多个SelectIO互联的系统,所述收发信号恢复系统所述收发信号恢复系统包括:收发信号恢复模块,用于收发双方FPGA均使用由本地DUT clk的上升沿产生的Strobe信号进行收发管理。
于本发明的一实施例中,所述收发信号恢复模块用于将每个本地DUT clk时钟信号的上升沿分别做一个Strobe信号作为发送或接收开始,并基于封包结构,依次在每个FPGA的selectIO的pll0_clkout0时钟信号上升沿,发送端SelectIO按照节拍发送RTL的分割边界信号,接受端SelectIO按照pll0_clkout0的节拍查找起始Start、恢复Payload以及检查结束End。
于本发明的一实施例中,所述封包结构包括:起始Start、可多个中间payload区域D0~Dn和结束End
为实现上述目的及其他相关目的,本发明提供一种基于多FPGA互联的收发信号恢复终端,包括:基于FPGA的验证平台,应用于大型RTL验证和开发;基于FPGA开发的大型应用系统,用于执行所述的基于多FPGA互联的收发信号恢复方法。
如上所述,本发明的一种基于多FPGA互联的收发信号恢复方法、系统以及终端,具有以下有益效果:对大型同频RTL的分割到多个FPGA上实现可以任意边界分割,原型功能等比例实现。FPGA SelectIO数量多,可以复用发送的信号量大。工作稳定,抗干扰能力强,易于FPGA工程实现,运行速度快。
附图说明
图1显示为本发明一实施例中的基于多FPGA互联的收发信号恢复方法的流程示意图。
图2显示为本发明一实施例中的从125Mhz的TxData_N RxData_N中找到恢复出收发信号的示意图。
图3显示为本发明一实施例中的发送端SelectIO的逻辑控制方法的流程示意图。
图4显示为本发明一实施例中的接收端SelectIO的逻辑控制方法的流程示意图。
图5显示为本发明一实施例中的基于多FPGA互联的收发信号恢复系统的结构示意图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,在下述描述中,参考附图,附图描述了本发明的若干实施例。应当理解,还可使用其他实施例,并且可以在不背离本发明的精神和范围的情况下进行机械组成、结构、电气以及操作上的改变。下面的详细描述不应该被认为是限制性的,并且本发明的实施例的范围仅由公布的专利的权利要求书所限定。这里使用的术语仅是为了描述特定实施例,而并非旨在限制本发明。空间相关的术语,例如“上”、“下”、“左”、“右”、“下面”、“下方”、““下部”、“上方”、“上部”等,可在文中使用以便于说明图中所示的一个元件或特征与另一元件或特征的关系。
在通篇说明书中,当说某部分与另一部分“连接”时,这不仅包括“直接连接”的情形,也包括在其中间把其它元件置于其间而“间接连接”的情形。另外,当说某种部分“包括”某种构成要素时,只要没有特别相反的记载,则并非将其它构成要素,排除在外,而是意味着可以还包括其它构成要素。
其中提到的第一、第二及第三等术语是为了说明多样的部分、成份、区域、层及/或段而使用的,但并非限定于此。这些术语只用于把某部分、成份、区域、层或段区别于其它部分、成份、区域、层或段。因此,以下叙述的第一部分、成份、区域、层或段在不超出本发明范围的范围内,可以言及到第二部分、成份、区域、层或段。
再者,如同在本文中所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文中有相反的指示。应当进一步理解,术语“包含”、“包括”表明存在所述的特征、操作、元件、组件、项目、种类、和/或组,但不排除一个或多个其他特征、操作、元件、组件、项目、种类、和/或组的存在、出现或添加。此处使用的术语“或”和“和/或”被解释为包括性的,或意味着任一个或任何组合。因此,“A、B或C”或者“A、B和/或C”意味着“以下任一个:A;B;C;A和B;A和C;B和C;A、B和C”。仅当元件、功能或操作的组合在某些方式下内在地互相排斥时,才会出现该定义的例外。
本发明实施例中提供一种基于多FPGA互联的收发信号恢复方法,解决了现有技术中现有大型同步RTL逻辑在多个FPGA中验证问题。
下面以附图为参考,针对本发明的实施例进行详细说明,以便本发明所述技术领域的技术人员能够容易地实施。本发明可以以多种不同形态体现,并不限于此处说明的实施例。
本发明采用FPGA的SelectIO作为底层串并转换基础,基于SelectIO的差分收发机制,可以保证几百个差分对可靠有效稳定长距离传输。
如图1所示,展示本发明实施例中的基于多FPGA互联的收发信号恢复方法的流程示意图。应用多FPGA多个SelectIO互联的系统。
所述接收端(RX)为FPGA的SelectIO配置为接收模式,发送端为FPGA(TX)的SelectIO配置为发送模式,2个FPGA的发送和接受SelectIO成对互联,完成N个信号从一个FPGA的发送和另一个FPGA中对N个信号的恢复。
所述方法包括:
收发双方FPGA均使用由本地DUT clk的上升沿产生的Strobe信号进行收发管理。
可选的,所述方法包括:将每个本地DUT clk时钟信号的上升沿分别做一个Strobe信号作为发送开始,并基于封包结构,依次在每个FPGA的selectIO的pll0_clkout0时钟信号上升沿,发送端SelectIO按照节拍发送RTL的分割边界信号,接受端SelectIO按照pll0_clkout0的节拍查找起始Start、恢复Payload以及检查结束End。
可选的,对于发送端SelectIO的实现方式:收发双发的FPGA,根据各自的DUT clk,使用各自FPGA产生的SelectIO模块的pll0_clkout0上升沿采样,逻辑处理出一个pll0_clkout0脉冲宽度strobe信号,作为发送开始,此Strobe信号后发送端FPGA内的SelectIO按节拍采样发送RTL逻辑分割后边界的信号状态值记录到封包结构的payload D0~Dn中,以令接受端FPGA内的SelectIO按节拍查找恢复出信号。
可选的,对于接受端SelectIO的实现方式:接受端SelectIO按照TX端产生Strobe信号的方法,产生本地Strobe信号,作为接收开始,并基于和发送端约定的封包结构,开始在每个pll0_clkout0 cycle时钟信号上升沿查找Start,恢复D0~Dn,检查END。从Strobe信号有效开始,就开始计数pll0_clkout0 cycle值,如果在规定的pll0_clkout0 cyclecycle数内,没有能找到Start,则接受恢复数据无效;
可选的,所述封包结构包括:起始Start、一或多个中间Playload(D0~Dn)以及结束End。
举例来说,封包结构为Start+D0~D7+End。但不限于此封包格式,中间的payload可是D0~Dn。
需要注意的是,整个封包结构由pll0_clkout0/Dut_clk决定。如果约定收发端FPGA的SelectIO以1Gbps通信,那pll0_clkout0应该是1Gbps/8=125Mhz,如果每个FPGA内的RTL逻辑希望运行在5Mhz,那么pll0_clkout0/DUT_clk=25,理想情况Start+D0~Dn+End不能超过23,因为在DUT clk上升沿来后,产生Strobe信号还会消耗掉2个pll0_clkout0cycle。如果不考虑channel传输的physical latency,封包结构可以是Start区域、D0~D20区域、END区域。可以发送21*8个RTL分割后的边界信号。
另外,还需要考虑硬件设计FPGA直接距离以及SelectIO穿并行转换过程中的physical latency。举例来说,若硬件设计FPGA直接距离非常远,physical latency偏大,则中间payload区域的个数选择偏少一点。目前针对pll0_clkout0/Dut_clk=25这种倍率关系,我们使用的是Start+D0~D7+End封包结构进行后续描述。
可选的,对于发送端来说,在FPGA发送芯片的每个DUT clk的上升沿,以Strobe信号作为开始,发送RTL逻辑分割后边界signal的状态值,第一个cycle发送一固定字节长度的起始(Strart),然后第二个cycle发送D0,第三个cycle发送D1,…发到第n个cycle发送最后一个Dn-1,最后发送End,在一个DUT clk周期内,还有多余的pll0_clkout0 cycle将全部发送End,直到下一个Strobe信号到来。
可选的,对于接受端来说,在一个DUT clk周期内,根据pll0_clkout0 cycle/DUTclk比率关系,例如是25,那么Strobe消耗2个pll0_clkout0 cycle,实际约定封包是Start+D0~D7+End结构,需要10个pll0_clkout0 cycle,Rx端必须在Strobe信号有效后(25-2-10=13)个pll0_clkout0cycle内找到Start标记,否则恢复数据无效。
可选的,所述FPGA可以为任一类型,在本申请中不作限定。优选的,所述FPGA为Xilinx FPGA。
以下结合具体实施例来说明基于多FPGA互联的收发信号恢复方法。
实施例1:基于多FPGA互联的收发信号恢复方法,如图2所示从125Mhz的TxData_NRxData_N中找到恢复出收发信号示意图。
应用于进行互联的FPGA的一或多个SelectIO,所述方法包括:
发送端SelectIO(RX)按照固定顺序发送一个DUT clk上升延后RTL逻辑分割边界信号的高低状态值。按照Start、D0~D7区域、END区域封包结构为例,在Strobe信号为高后,第一个pll0_clkout0上升沿发送Start(特殊字符),第二个pll0_clkout0上升沿发送分割RTL边界signal0~signal7的值;第三个pll0_clkout0上升沿发送分割RTL边界signal8~signal15的值;以此发送下去,直到第九个pll0_clkout0上升沿发送分割RTL边界的signal56~signal63的值;第十个pll0_clkout0上升沿发送END(特殊字符),如图3所示。一个DUT clk周期内后续多余的pll0_clkout0 cycle时间,都固定发送END。直到下一次DUTclk再来上升沿再产生发送的Strobe信号再启动一轮signal0~signal63更新后值的发送。接收端SelectIO(TX)按照固定封包格式按节拍有序恢复数据,从接受端的DUT clk上升沿开始,产生一个Strobe信号,接受状态机就开始在每个pll0_clkout0的上升沿检测SelectIO收到的值,如果收到Start,后续第一个pll0_clkout0的上升收到的就是signal0~signal7值,第二个pll0_clkout0的上升沿收到的就是signal8~signal15值,以此下去,第八个pll0_clkout0的上升沿收到的就是signal56~signal63值,第九个pll0_clkout0的上升沿收到的就是END区域,表示本次DUT clk内signal0~signal63全部恢复完成,如图4所示。后续等待下一次DUT clk上升沿再产生Strobe信号再开始一轮新的信号数据恢复。当然也可以更改封包结构和降低DUT clk频率,能处理更加多的边界分割signal复用传输。此例以及后续都按照SelectIO跑1Gbps,pll0_clkout0为125Mhz,DUT clk为5Mhz来举例,确定的比率25(但不限与此,SelectIO可以运行在1.6Gpbs等各自支持的速度,pll0_clkout0为SelectIO速度/8,DUT clk可以修改频率速度)。一个SelctIO线可以完成64个RTL分割产生的边界signal的传输和恢复。FPGA,有上千个SelectIO,可以处理几万signal的发送和恢复。
与上述实施例原理相似的是,本发明提供一种基于多FPGA互联的收发信号恢复系统。
以下结合附图提供具体实施例:
如图5展示本发明实施例中的一种基于多FPGA互联的收发信号恢复方法的系统的结构示意图。
应用多FPGA多个SelectIO互联的系统。所述收发信号恢复系统包括:
收发信号恢复模块51,用于收发双方FPGA均使用由本地DUT clk的上升沿产生的Strobe信号进行收发管理。
可选的,所述收发信号恢复模块51用于将每个本地DUT clk时钟信号的上升沿分别做一个Strobe信号作为发送开始,并基于封包结构,依次在每个FPGA的selectIO的pll0_clkout0时钟信号上升沿,发送端SelectIO按照节拍发送RTL的分割边界信号,接受端SelectIO按照pll0_clkout0的节拍查找起始Start、恢复Payload以及检查结束End。
可选的,所述收发信号恢复模51包括:发送端SelectIO模块511,用于收发双发的FPGA根据各自的DUT clk,使用各自FPGA产生的SelectIO模块的pll0_clkout0上升沿采样,逻辑处理出一个pll0_clkout0脉冲宽度strobe信号,作为发送和接受开始,此Strobe信号后发送端FPGA内的SelectIO按节拍采样发送RTL逻辑分割后边界的信号状态值记录到封包结构的payload D0~Dn中,以令接受端FPGA内的SelectIO按节拍查找恢复出信号。
可选的,所述收发信号恢复模块51还包括:接受端SelectIO模块512,用于接受端SelectIO按照TX端产生Strobe信号的方法,产生本地Strobe信号,作为接收开始,并基于和发送端约定的封包结构,开始在每个pll0_clkout0 cycle时钟信号上升沿查找Start,恢复D0~Dn,检查END。从Strobe信号有效开始,就开始计数pll0_clkout0 cycle值,如果在规定的pll0_clkout0cycle cycle数内,没有能找到Start,则接受恢复数据无效。
可选的,所述发送端SelectIO模块511用于在FPGA发送芯片的每个DUT clk的上升沿,以Strobe信号作为开始,发送RTL逻辑分割后边界signal的状态值,第一个cycle发送一固定字节长度的起始(Strart),然后第二个cycle发送D0,第三个cycle发送D1,…发到第n个cycle发送最后一个Dn-1,最后发送End,在一个DUT clk周期内,还有多余的pll0_clkout0cycle将全部发送End,直到下一个Strobe信号到来。
可选的,所述接受端SelectIO模块512用于在一个DUT clk周期内,根据pll0_clkout0cycle/DUT clk比率关系,例如是25,那么Strobe消耗2个pll0_clkout0 cycle,实际约定封包是Start+D0~D7+End结构,需要10个pll0_clkout0 cycle,Rx端必须在Strobe信号有效后(25-2-10=13)个pll0_clkout0 cycle内找到Start标记,否则恢复数据无效。
本发明实施例中提供一种基于多FPGA互联的收发信号恢复终端。
所述基于多FPGA互联的收发信号恢复终端包括:
基于FPGA的SOC验证平台,应用于大型RTL验证和开发;
基于FPGA开发的大型应用系统,用于执行如图1所述的基于多FPGA互联的收发信号恢复方法。
综上所述,本发明基于多FPGA互联的收发信号恢复方法、系统以及终端,用于解决了解决现有技术中大型同频(single clk domain)RTL逻辑在多个FPGA上验证难点。本发明对大型同频RTL的分割到多个FPGA上实现可以任意边界分割,原型功能等比例实现。FPGASelectIO数量多,可以复用发送的信号量大。工作稳定,抗干扰能力强,易于FPGA工程实现,运行速度快。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅示例性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,但凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
Claims (3)
1.一种基于多FPGA互联的收发信号恢复方法,其特征在于,应用多个互联的FPGA的一或多个SelectIO互联的系统,所述方法包括:
收发双方FPGA均使用由本地DUT clk的上升沿产生的Strobe信号进行收发管理;
所述方法包括:将每个本地DUT clk时钟信号的上升沿分别做一个Strobe信号作为发送或接收开始,并基于封包结构,依次在每个FPGA的selectIO的pll0_clkout0时钟信号上升沿,发送端SelectIO按照节拍发送RTL的分割边界信号,接受端SelectIO按照pll0_clkout0的节拍查找起始Start、恢复Payload以及检查结束End;所述封包结构包括:起始Start、可多个中间payload区域D0~Dn和结束End;
其中,收发双方的FPGA根据各自的DUT clk,使用各自FPGA产生SelectIO的pll0_clkout0上升沿采样,逻辑处理出一个pll0_clkout0脉冲宽度strobe信号,作为发送开始,此Strobe信号后发送端FPGA内的SelectIO按节拍采样发送RTL逻辑分割后边界的信号状态值记录到封包结构的payload D0~Dn中,以令接受端FPGA内的SelectIO按节拍查找恢复出信号;
收发双方的FPGA根据各自的DUT clk,使用各自FPGA产生SelectIO的pll0_clkout0上升沿采样,逻辑处理出一个pll0_clkout0脉冲宽度strobe信号,作为接收开始,并基于和发送端约定的封包结构,开始在每个pll0_clkout0 cycle时钟信号上升沿查找Start,恢复D0~Dn,检查结束END。
2.一种基于多FPGA互联的收发信号恢复系统,其特征在于,应用多个互联的FPGA的一或多个SelectIO互联的系统,所述收发信号恢复系统包括:
收发信号恢复模块,用于收发双方FPGA均使用由本地DUT clk的上升沿产生的Strobe信号进行收发管理
所述收发信号恢复模块用于将每个本地DUT clk时钟信号的上升沿分别做一个Strobe信号作为发送或接收开始,并基于封包结构,依次在每个FPGA的selectIO的pll0_clkout0时钟信号上升沿,发送端SelectIO按照节拍发送RTL的分割边界信号,接受端SelectIO按照pll0_clkout0的节拍查找起始Start、恢复Payload以及检查结束End;所述封包结构包括:起始Start、可多个中间payload区域D0~Dn和结束End;
其中,收发双方的FPGA根据各自的DUT clk,使用各自FPGA产生SelectIO的pll0_clkout0上升沿采样,逻辑处理出一个pll0_clkout0脉冲宽度strobe信号,作为发送开始,此Strobe信号后发送端FPGA内的SelectIO按节拍采样发送RTL逻辑分割后边界的信号状态值记录到封包结构的payload D0~Dn中,以令接受端FPGA内的SelectIO按节拍查找恢复出信号;
收发双方的FPGA根据各自的DUT clk,使用各自FPGA产生SelectIO的pll0_clkout0上升沿采样,逻辑处理出一个pll0_clkout0脉冲宽度strobe信号,作为接收开始,并基于和发送端约定的封包结构,开始在每个pll0_clkout0 cycle时钟信号上升沿查找Start,恢复D0~Dn,检查结束END。
3.一种基于多FPGA互联的收发信号恢复终端,其特征在于,包括:
基于FPGA的SOC验证平台,应用于大型RTL验证和开发;
基于FPGA开发的大型应用系统,用于执行如权利要求1所述的基于多FPGA互联的收发信号恢复方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011310514.9A CN112486248B (zh) | 2020-11-20 | 2020-11-20 | 基于多fpga互联的收发信号恢复方法、系统以及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011310514.9A CN112486248B (zh) | 2020-11-20 | 2020-11-20 | 基于多fpga互联的收发信号恢复方法、系统以及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112486248A CN112486248A (zh) | 2021-03-12 |
CN112486248B true CN112486248B (zh) | 2024-08-16 |
Family
ID=74932474
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011310514.9A Active CN112486248B (zh) | 2020-11-20 | 2020-11-20 | 基于多fpga互联的收发信号恢复方法、系统以及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112486248B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103105889A (zh) * | 2013-01-21 | 2013-05-15 | 杭州乔微电子科技有限公司 | 一种fpga原型验证板堆叠的时钟同步装置及系统 |
CN111651951A (zh) * | 2020-06-04 | 2020-09-11 | 思尔芯(上海)信息科技有限公司 | 一种fpga端口扩展的方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9176839B2 (en) * | 2011-05-20 | 2015-11-03 | Whizchip Design Technologies Pvt. Ltd. | Bus transaction monitoring and debugging system using FPGA |
CN102567587A (zh) * | 2012-01-04 | 2012-07-11 | 青岛海信信芯科技有限公司 | Fpga互联装置及方法 |
US8595683B1 (en) * | 2012-04-12 | 2013-11-26 | Cadence Design Systems, Inc. | Generating user clocks for a prototyping environment |
CN106357266B (zh) * | 2016-08-26 | 2019-07-23 | 华为技术有限公司 | 锁定检测电路、方法及锁相电路 |
CN107808364B (zh) * | 2016-09-08 | 2020-07-28 | 北京大学 | 基于多fpga的医学图像分块重建系统及其方法 |
CN111027266A (zh) * | 2019-12-06 | 2020-04-17 | 思尔芯(上海)信息科技有限公司 | 一种多个fpga的设计分割的方法、系统、存储介质及终端 |
CN111125975B (zh) * | 2019-12-09 | 2024-06-14 | 上海思尔芯技术股份有限公司 | 一种fpga时分复用多路数据传输的方法、存储介质及终端 |
-
2020
- 2020-11-20 CN CN202011310514.9A patent/CN112486248B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103105889A (zh) * | 2013-01-21 | 2013-05-15 | 杭州乔微电子科技有限公司 | 一种fpga原型验证板堆叠的时钟同步装置及系统 |
CN111651951A (zh) * | 2020-06-04 | 2020-09-11 | 思尔芯(上海)信息科技有限公司 | 一种fpga端口扩展的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112486248A (zh) | 2021-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1103951C (zh) | 用于自定时算法执行的装置和方法 | |
CN100449522C (zh) | 基于多fpga的矩阵乘法并行计算系统 | |
CN111289975B (zh) | 一种多gpu并行计算的快速成像处理系统 | |
CN104850524A (zh) | 一种跨时钟域的ahb总线桥接方法和装置 | |
CN107391422A (zh) | 多路异步串行通讯数据访问系统及方法 | |
EP3486780B1 (en) | Instruction processing alignment system | |
CN109194430A (zh) | 一种基于srio的c6678分布式系统时间同步方法及系统 | |
CN112486248B (zh) | 基于多fpga互联的收发信号恢复方法、系统以及终端 | |
CN106155822A (zh) | 一种处理能力评估方法及装置 | |
CN101710311B (zh) | 一种非对称多元资源节点体系结构 | |
CN105808476B (zh) | 跨时钟域数据的传输方法及装置 | |
EP1139242A2 (en) | Non-synchronized multiplex data transport across synchronous systems | |
CN105550131A (zh) | 一种基于有限状态机和arinc659总线的接口数据处理系统及方法 | |
CN110830137B (zh) | 一种基于srio的多节点时间同步控制系统及其同步控制方法 | |
CN100458715C (zh) | 一种握手电路监测装置及方法 | |
CN115174090B (zh) | 区块链共识方法、装置、计算机设备及可读存储介质 | |
CN102946293A (zh) | 一种基于ds编码的并行接收方法及其装置 | |
CN109246331A (zh) | 一种视频处理方法和系统 | |
CN105608046A (zh) | 基于MapReduce编程模型的多核处理器架构 | |
CN114839905A (zh) | 一种量子测控方法及系统 | |
Pendyala et al. | 100-Mb/s enhanced data rate MIL-STD-1553B controller in 65-nm CMOS technology | |
Shelke et al. | Optimization of Memory Oriented Network-on-Chip for FPGA | |
CN103425583B (zh) | 一种多dsp并行系统的跟踪和回放方法 | |
CN111212124A (zh) | 将共识转化为处理对异步系统并发请求的异步排序技术 | |
EP3486777A1 (en) | Message synchronization system |
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 |