CN108959011A - 一种基于fpga原型验证***上的共享式在线调试方法 - Google Patents
一种基于fpga原型验证***上的共享式在线调试方法 Download PDFInfo
- Publication number
- CN108959011A CN108959011A CN201810710818.0A CN201810710818A CN108959011A CN 108959011 A CN108959011 A CN 108959011A CN 201810710818 A CN201810710818 A CN 201810710818A CN 108959011 A CN108959011 A CN 108959011A
- Authority
- CN
- China
- Prior art keywords
- fpga prototype
- prototype verification
- shared
- signal
- file
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明提供一种基于FPGA原型验证***上的共享式在线调试方法,所述调试方法包括:电路文件加载,挑选信号,映射信号和端口,生成电路bin文件,远程烧录bin文件,设置触发条件,调试。本发明的设备包括服务器端、FPGA原型验证板和客户端,所述服务器端包括服务器端程序,所述客户端包括客户端程序,所述客户端程序为用户提供可视化的调试接口,包括RTL代码查看器、变量名称的映射,以及ECO中的二次映射等等功能,本发明的一种基于FPGA原型验证***上的共享式在线调试方法,能够提升FPGA原型验证的使用率,降低使用成本,并且能够极大的提高了电路设计工程师的调试速度。
Description
技术领域
本发明属于数字电路设计技术领域,特别涉及一种基于FPGA原型验证***上的共享式在线调试方法。
背景技术
随着半导体业进入深亚微米时代,ASIC设计的规模、复杂度以及成本都在大幅增加,尤其是进入90nm以后,ASIC总体设计成本增加20%,即使采用130nm工艺,单次ASIC制造成本也在数十万美元以上,若是芯片流片失败,不仅会损耗NRE费用,而且再次流片将会推迟数月甚至一年,失去市场先机。
验证伴随于ASIC设计整个过程,从定制设计***规约和代码实现,到最终的网表和后端布局布线等过程,验证工作都一直如影随形,ASIC设计过程中会不断引入风险,在概念阶段到上市的过程都会经过几次转换(如设计规范->代码->综合网表等),不管哪次转换过程都会或多或少的引入偏差,验证工作就是尽量减少设计过程中存在的风险,保证芯片与***规约的吻合度,验证在流片(tap-out)前发现设计芯片在概念、功能、实现等方面的错误,保证项目开发顺利进行,目前,验证是ASIC设计过程中最耗时的一项工作,它会占到设计工作量的50%-70%,成为ASIC设计中最重要的一项工作之一,而且随着越来越多的实时数据需要处理,验证要求设计能够在接近芯片实际工作频率下运行,这对验证工作又是一次挑战。
在对ASIC设计进行验证时,根据设计的不同阶段,可以将验证分为模块级验证、部件级验证以及***级验证,在整个验证流程中,在不同的验证阶段需要使用不同的验证技术,每种验证技术在验证流程中都占据不同的地位,在行为级建模至代码,以及代码至网表时,使用形式化验证,在设计进行之初,使用软件模拟或者硬件仿真器等形式,有利于查找设计的设计缺陷,而在设计基本结束的开发末期需要进行足够的测试,应该使用FPGA原型验证,从而发现剩余的***级错误,布局布线后进行静态时序分析等,各验证方法相互补充,形成一个多级验证体系,对于大型的ASIC设计,灵活运用各种验证方法对设计记性全面的验证是保证设计顺利流片的关键因素。
传统的仿真技术已经远远不能满足现状复杂的ASIC验证对速度的要求,软件仿真器和制定的软件模型非常普及,但是它们已经不能满足用的需求, 硬件加速器有比较好的性能,但贵且使用不方便,并且对于具有高速数据处理的一些应用,如MPEG视频处理等,仍然不能达到所需的性能,而现在市面上更加昂贵且使用较为复杂的硬件仿真器,也不能满足现在的ASIC设计的性能需求。
作为传统的ASIC设计或SoC设计的验证环境的前端部分,功能验证的主要方式是软件仿真,各式各样的功能验证的问题之一,就是要收集与存储的数据量,如果要监视大量的信号会大幅拖慢仿真的速度,而且冗长的仿真速度又会导致更大量的数据,软件仿真的主要优势就是对设计有完全的能见度,而主要的缺点就是慢,即使在威力强大、高阶工作站上执行,对于当今大型的SoC设计的软件仿真也只能勉强达到几Hz的仿真速度(也就是说,每秒钟只能有几次设计的实时主***频率周期),这表示,软件仿真通常仅适用于设计的一小部分,或者适用于全芯片设计的数十个频率周期而已,但是,完全验证现代化的SoC设计需要成千上万甚至数百万的频率周期,这时就需要某种形式的硬件辅助验证,为了解决仿真速度的问题,以及搭建编写测试平台等繁琐的问题,本发明提出一种基于FPGA原型验证***上的共享式在线调试方法。
发明内容
为了解决现有技术存在的问题,本发明提供了一种基于FPGA原型验证***上的共享式在线调试方法,FPGA原型验证有着速度上的优势,在后期的***级验证中有巨大优势。
为了实现上述目的,本发明是通过如下的技术方案来实现:一种基于FPGA原型验证***上的共享式在线调试方法,所述调试方法包括以下步骤:
步骤一:电路文件加载;打开客户端,把需要调试验证的电路文件加载进来,所述电路文件包括RTL、IP、XDC、EDF等;
步骤二:挑选信号;通过RTL代码查看器选择想要调试的信号;
步骤三:映射信号和端口;将挑选的调试信号和FPGA原型验证板上既定的32个Probe进行映射,然后调用vivado;
步骤四:生成电路bin文件;判断是否需要通过生成的dcp文件添加二次映射,如果需要则通过vivado生成bin文件ECO二次映射,如果不需要则直接通过vivado生成电路bin文件;
步骤五:远程烧录bin文件;通过互联网将bin文件烧录到与服务器相连的 FPGA原型验证板上;
步骤六:设置触发条件;根据需求设置触发条件,然后开始捕捉触发信号;
步骤七:调试;调试信号通过GTKWave显示出来,从而方便的进行在线调试;
作为本发明的一种优选方式,所述FPGA原型验证板通过USB与服务器端程序连接, 所述服务器端连接到互联网上。
作为本发明的一种优选方式,用户通过客户端程序登录到服务器上,从而共享使用 FPGA原型验证板,进行在线验证调试,不同的客户端通过用户名和密码登录到服务器端进行使用。
作为本发明的一种优选方式,当出现多个客户端同时使用同一个FPGA原型验证板的时候,服务器端程序会根据登录的时间先后顺序进行分配,如果一个用户正占用着服务器端的某个FPGA原型验证板,新登录的用户要等到被占用的FPGA原型验证板使用完毕后才进行释放。
作为本发明的一种优选方式,FPGA原型验证板在线采集多达2GB的波形信号,采样率最高可到200MHz。
作为本发明的一种优选方式,所述FPGA原型验证板采用DDR3缓存波形信号,速度快,波形采集量大。
本发明的有益效果为:
1、本发明采用了FPGA原型验证板作为我们的硬件仿真的组成部分,极大的提升了仿真速度,克服了软件仿真在仿真速度上的缺点,考虑到FPGA原型验证板成本的问题,我们采取了一种共享式的使用思路,即通过互联网将FPGA原型验证板互联共享起来,从而支持更多用户在不同时间段持续使用,从而提升了FPGA原型验证的使用率,降低使用成本。
2、从使用方法上看,本发明提供了很多可视化、自动化的调试方法,极大的方便了电路设计工程师在验证调试方面所做的工作,比如,用户在加载设计文件时,通过RTL查看器可以方便的阅读RTL源文件,然后可以在RTL查看器里面直接将要调试的信号添加到信号/端口映射区域,当做完映射以后,软件会自动从新生成映射过后的RTL源文件,从而方便、快速的送入vivado进行综合实现,从而避免了用户直接对RTL源文件的修改而导致的一些错误,极大的提升了对RTL源文件的验证和调试速度,此外,软件提供了“ECO Probe”的功能,即软件后台调用vivado 跑完综合以后, 会生成dcp文件,通过生成的dcp文件,用户还可以再次进行信号映射,更新信号映射信息,避免用户在综合之前进行信号映射时有遗忘的情况,通常情况下,vivado跑一次综合需要很长时间,有了“ECO Probe”的功能,使电路设计工程师能快速的迭代调试,极大的提高了电路设计工程师的调试速度。
3、本发明相对于软件仿真,其仿真速度很快,作为一款软件终端平台,添加了很多实用的、方便的功能,从而能快速的帮助电路设计工程师在线调试电路,能够在线采集多达2GB的波形信号,采样率最高可到200MHz,采用了DDR3缓存波形信号,速度快,波形采集量大,支持多种赋值的trigger模式,包括组合触发、序列检测和脉宽检测等,同时还可以缓存trigger触发前的波形信号,支持FPGAECO功能,可以在不需要重新综合的情况下对布线完成的FPGA网表文件进行ECO修改,配置文件通过USB接口直接下载,方便快捷。
附图说明
图1为一种基于FPGA原型验证***上的共享式在线调试方法流程图。
图2为一种基于FPGA原型验证***上的共享式在线调试方法使用流程图。
图3为FPGA原型验证在ASIC设计流程中的位置示意图。
具体实施方式
为使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体实施方式,进一步阐述本发明。
请参阅图1至图3,本发明提供一种技术方案:一种基于FPGA原型验证***上的共享式在线调试方法,所述调试方法包括以下步骤:
步骤一:电路文件加载;打开客户端,把需要调试验证的电路文件加载进来,所述电路文件包括RTL、IP、XDC、EDF等;
步骤二:挑选信号;通过RTL代码查看器选择想要调试的信号;
步骤三:映射信号和端口;将挑选的调试信号和FPGA原型验证板上既定的32个Probe进行映射,然后调用vivado;
步骤四:生成电路bin文件;判断是否需要通过生成的dcp文件添加二次映射,如果需要则通过vivado生成bin文件ECO二次映射,如果不需要则直接通过vivado生成电路bin文件;
步骤五:远程烧录bin文件;通过互联网将bin文件烧录到与服务器相连的 FPGA原型验证板上;
步骤六:设置触发条件;根据需求设置触发条件,然后开始捕捉触发信号;
步骤七:调试;调试信号通过GTKWave显示出来,从而方便的进行在线调试;
作为本发明的一种优选方式,所述FPGA原型验证板通过USB与服务器端程序连接, 所述服务器端连接到互联网上。
作为本发明的一种优选方式,用户通过客户端程序登录到服务器上,从而共享使用 FPGA原型验证板,进行在线验证调试,不同的客户端通过用户名和密码登录到服务器端进行使用。
作为本发明的一种优选方式,当出现多个客户端同时使用同一个FPGA原型验证板的时候,服务器端程序会根据登录的时间先后顺序进行分配,如果一个用户正占用着服务器端的某个FPGA原型验证板,新登录的用户要等到被占用的FPGA原型验证板使用完毕后才进行释放。
作为本发明的一种优选方式,FPGA原型验证板在线采集多达2GB的波形信号,采样率最高可到200MHz。
作为本发明的一种优选方式,所述FPGA原型验证板采用DDR3缓存波形信号,速度快,波形采集量大。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点,对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
Claims (6)
1.一种基于FPGA原型验证***上的共享式在线调试方法,其特征在于,所述调试方法包括以下步骤:
步骤一:电路文件加载;打开客户端,把需要调试验证的电路文件加载进来,所述电路文件包括RTL、IP、XDC、EDF等;
步骤二:挑选信号;通过RTL代码查看器选择想要调试的信号;
步骤三:映射信号和端口;将挑选的调试信号和FPGA原型验证板上既定的32个Probe进行映射,然后调用vivado;
步骤四:生成电路bin文件;判断是否需要通过生成的dcp文件添加二次映射,如果需要则通过vivado生成bin文件ECO二次映射,如果不需要则直接通过vivado生成电路bin文件;
步骤五:远程烧录bin文件;通过互联网将bin文件烧录到与服务器相连的 FPGA原型验证板上;
步骤六:设置触发条件;根据需求设置触发条件,然后开始捕捉触发信号;
步骤七:调试;调试信号通过GTKWave显示出来,从而方便的进行在线调试。
2.根据权利要求1所述的一种基于FPGA原型验证***上的共享式在线调试方法,其特征在于,所述FPGA原型验证板通过USB与服务器端程序连接,所述服务器端连接到互联网上。
3.根据权利要求1所述的一种基于FPGA原型验证***上的共享式在线调试方法,其特征在于,用户通过客户端程序登录到服务器上,从而共享使用 FPGA原型验证板,进行在线验证调试,不同的客户端通过用户名和密码登录到服务器端进行使用。
4.根据权利要求3所述的一种基于FPGA原型验证***上的共享式在线调试方法,其特征在于,当出现多个客户端同时使用同一个FPGA原型验证板的时候,服务器端程序会根据登录的时间先后顺序进行分配,如果一个用户正占用着服务器端的某个FPGA原型验证板,新登录的用户要等到被占用的FPGA原型验证板使用完毕后才进行释放。
5.根据权利要求1所述的一种基于FPGA原型验证***上的共享式在线调试方法,其特征在于,FPGA原型验证板在线采集多达2GB的波形信号,采样率最高可到200MHz。
6.根据权利要求1所述的一种基于FPGA原型验证***上的共享式在线调试方法,其特征在于,所述FPGA原型验证板采用DDR3缓存波形信号,速度快,波形采集量大。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810710818.0A CN108959011A (zh) | 2018-07-03 | 2018-07-03 | 一种基于fpga原型验证***上的共享式在线调试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810710818.0A CN108959011A (zh) | 2018-07-03 | 2018-07-03 | 一种基于fpga原型验证***上的共享式在线调试方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108959011A true CN108959011A (zh) | 2018-12-07 |
Family
ID=64484691
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810710818.0A Pending CN108959011A (zh) | 2018-07-03 | 2018-07-03 | 一种基于fpga原型验证***上的共享式在线调试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108959011A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112148617A (zh) * | 2020-10-09 | 2020-12-29 | 中国科学技术大学 | 一种用于远程实验平台的波形采样调试方法 |
CN112181745A (zh) * | 2020-09-28 | 2021-01-05 | 上海国微思尔芯技术股份有限公司 | 一种fpga原型验证的云服务平台***及方法 |
CN112541310A (zh) * | 2020-12-18 | 2021-03-23 | 广东高云半导体科技股份有限公司 | 逻辑综合控制方法及装置 |
CN113504463A (zh) * | 2021-07-02 | 2021-10-15 | 芯启源(上海)半导体科技有限公司 | 一种fpga原型验证中探针信号复用方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110307233A1 (en) * | 1998-08-31 | 2011-12-15 | Tseng Ping-Sheng | Common shared memory in a verification system |
CN102411535A (zh) * | 2011-08-02 | 2012-04-11 | 上海交通大学 | 导航SoC芯片仿真、验证和调试平台 |
CN103064006A (zh) * | 2012-12-26 | 2013-04-24 | 中国科学院微电子研究所 | 集成电路的测试装置 |
CN202995711U (zh) * | 2012-12-27 | 2013-06-12 | 杭州乔微电子科技有限公司 | 一种实现fpga原型验证远程控制的装置 |
CN106021631A (zh) * | 2015-03-24 | 2016-10-12 | 上海图元软件技术有限公司 | 交互式数字集成电路仿真验证方法、服务器、客户端及*** |
-
2018
- 2018-07-03 CN CN201810710818.0A patent/CN108959011A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110307233A1 (en) * | 1998-08-31 | 2011-12-15 | Tseng Ping-Sheng | Common shared memory in a verification system |
CN102411535A (zh) * | 2011-08-02 | 2012-04-11 | 上海交通大学 | 导航SoC芯片仿真、验证和调试平台 |
CN103064006A (zh) * | 2012-12-26 | 2013-04-24 | 中国科学院微电子研究所 | 集成电路的测试装置 |
CN202995711U (zh) * | 2012-12-27 | 2013-06-12 | 杭州乔微电子科技有限公司 | 一种实现fpga原型验证远程控制的装置 |
CN106021631A (zh) * | 2015-03-24 | 2016-10-12 | 上海图元软件技术有限公司 | 交互式数字集成电路仿真验证方法、服务器、客户端及*** |
Non-Patent Citations (1)
Title |
---|
冯凌霄等: "基于FPGA的SoC原型验证方法研究", 《电子设计工程》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112181745A (zh) * | 2020-09-28 | 2021-01-05 | 上海国微思尔芯技术股份有限公司 | 一种fpga原型验证的云服务平台***及方法 |
CN112181745B (zh) * | 2020-09-28 | 2022-09-09 | 上海国微思尔芯技术股份有限公司 | 一种fpga原型验证的云服务平台***及方法 |
CN112148617A (zh) * | 2020-10-09 | 2020-12-29 | 中国科学技术大学 | 一种用于远程实验平台的波形采样调试方法 |
CN112541310A (zh) * | 2020-12-18 | 2021-03-23 | 广东高云半导体科技股份有限公司 | 逻辑综合控制方法及装置 |
CN112541310B (zh) * | 2020-12-18 | 2021-10-29 | 广东高云半导体科技股份有限公司 | 逻辑综合控制方法及装置 |
CN113504463A (zh) * | 2021-07-02 | 2021-10-15 | 芯启源(上海)半导体科技有限公司 | 一种fpga原型验证中探针信号复用方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108959011A (zh) | 一种基于fpga原型验证***上的共享式在线调试方法 | |
CN102141962B (zh) | 一种安全性分布式测试框架***及其测试方法 | |
CN105589993B (zh) | 微处理器功能验证设备及微处理器功能验证方法 | |
Leupers et al. | Virtual platforms: Breaking new grounds | |
US11726899B2 (en) | Waveform based reconstruction for emulation | |
CN101499937A (zh) | 一种基于fpga的软硬件协同仿真验证***及方法 | |
CN204789908U (zh) | 基于LabVIEW的电路板自动测试*** | |
CN101013394A (zh) | 一种采用硬件逻辑对ic设计进行验证的方法 | |
CN115686655A (zh) | 用于gpu ip验证的联合仿真*** | |
CN115496034A (zh) | 多模式gpu联合仿真*** | |
CN105893707A (zh) | 一种soc芯片模块验证和功耗分析方法 | |
Lingappan et al. | Satisfiability-based automatic test program generation and design for testability for microprocessors | |
CN109101414B (zh) | 基于埋点数据的海量ui测试生成方法及其装置 | |
CN103268272B (zh) | 基于场景的处理器***级验证完备性度量方法 | |
CN103455672A (zh) | 一种fpga仿真测试用例自动化回归方法 | |
Göhringer | FPGA debugging by a device start and stop approach | |
CN106296429A (zh) | 一种用于社交网站的智能测试方法 | |
Bateman et al. | Simulation of an integrated design and test environment for mixed signal integrated circuits | |
CN115618800A (zh) | 基于dpi的gpu联合仿真*** | |
Melnik et al. | Modeling methods of the test inputs for analysis the digital devices | |
CN103017815A (zh) | 一种可视化的通用测试***及测试方法 | |
CN107576926B (zh) | 一种生成模拟电表返回数据的方法 | |
CN116203393B (zh) | 一种集成电路测试方法及*** | |
CN113032203B (zh) | 一种可编程逻辑器件加速的测试装置及方法 | |
CN101017513A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181207 |