CN109635466B - 一种用于可配置芯片的功能仿真方法及系统 - Google Patents
一种用于可配置芯片的功能仿真方法及系统 Download PDFInfo
- Publication number
- CN109635466B CN109635466B CN201811548816.2A CN201811548816A CN109635466B CN 109635466 B CN109635466 B CN 109635466B CN 201811548816 A CN201811548816 A CN 201811548816A CN 109635466 B CN109635466 B CN 109635466B
- Authority
- CN
- China
- Prior art keywords
- simulation
- sram
- bit stream
- chip
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/36—Circuit design at the analogue level
- G06F30/367—Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
-
- 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
- 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)
- Microelectronics & Electronic Packaging (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Logic Circuits (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种用于可配置芯片的功能仿真方法及系统,该仿真方法包含:配置一位流文件;读取并解析位流文件,并根据位流与sram对应关系,对每个sram单元赋值;对芯片的信号端口赋值。本发明在进行功能仿真时直接操作SRAM值以取代烦琐的正常配置流程,不但节省了重复编译的时间,在实际仿真中也节省配置所需要的时间,可以明显提高仿真效率。
Description
技术领域
本发明涉及芯片仿真领域,特别涉及一种用于可配置芯片的功能仿真方法及系统。
背景技术
在可配置芯片的设计(FPGA,CPLD等)中,芯片从上电开始到完成功能配置,需要经过一系列全局信号的搭配工作。以sram阵列作为配置存储的电路为例,如图1所示。静态随机存储器(sram:Static Random Access Memory)是一种存储模块,其通过字线wl打开左右两个mos管,可以将bl上的数据写入到sram中,并存储下来。
所以对于图1中的一个sram阵列来说,其实际的配置过程是:
{bl_0,bl_1,bl_2}将第一帧数据送到,wl_0打开,将bl数据写入到第一列sram中;
wl_0关断,sram值保存;
同理依次打开wl_1和wl_2,并配合bl线将整个阵列配置完全。
通常情况下,要对某种配置下的电路功能进行仿真,我们需要首先通过以上标准配置流程将功能写入到待仿真的设计中。
当设计规模较小时,上述配置所需时间可以接受,但是当规模上升到一定程度后,光是配置功能所需时间便以小时计,这样的话,每一次针对电路功能的仿真时间就都成倍增加,十分不利于功能调试。
发明内容
本发明的目的是提供一种用于可配置芯片的功能仿真方法及系统,在进行功能仿真时直接操作SRAM值以取代烦琐的正常配置流程,不但节省了重复编译的时间,在实际仿真中也节省配置所需要的时间,可以明显提高仿真效率。
为了实现以上目的,本发明是通过以下技术方案实现的:
一种用于可配置芯片的功能仿真方法,其特点是,包含:
配置一位流文件;
读取并解析位流文件,并根据位流与sram对应关系,对每个sram单元赋值;
对芯片的信号端口赋值。
所述的对芯片的信号端口赋值后还包含:
对芯片进行功能仿真。
在所述的读取并解析位流文件之前还包含:
预先配置一每个sram单元的物理位置与位流的对应关系表。
一种用于可配置芯片的功能仿真系统,其特点是,包含:
配置模块,用于配置一位流文件;
执行模块,用于读取并解析位流文件,并根据位流与sram对应关系,对每个sram单元赋值,且对芯片的信号端口赋值。
该仿真系统还包含一仿真模块,用于对配置完成后的芯片进行功能仿真并抓取仿真结果。
所述的配置模块还用于配置每个sram单元的物理位置与位流的对应关系表。
所述的执行模块为基于Verilog PLI的函数。
本发明与现有技术相比,具有以下优点:
1、在进行功能仿真时直接操作SRAM值以取代烦琐的正常配置流程;
2、不再是以帧为单位,通过打开关闭字线的流程来实现sram的值写入,节省了重复编译的时间,在实际仿真中也节省配置所需要的时间,可以明显提高仿真效率。
附图说明
图1为sram阵列的示意图;
图2为本发明一种用于可配置芯片的功能仿真方法的流程图。
具体实施方式
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
本文后面所讨论的方法(其中一些通过流程图示出)可以通过硬件、软件、固件、中间件、微代码、硬件描述语言或者其任意组合来实施。当用软件、固件、中间件或微代码来实施时,用以实施必要任务的程序代码或代码段可以被存储在机器或计算机可读介质(比如存储介质)中。(一个或多个)处理器可以实施必要的任务。
这里所公开的具体结构和功能细节仅仅是代表性的,并且是用于描述本发明的示例性实施例的目的。但是本发明可以通过许多替换形式来具体实现,并且不应当被解释成仅受限于这里所阐述的实施例。
一种用于可配置芯片的功能仿真系统,包含:配置模块,用于配置一位流文件;执行模块,用于读取并解析位流文件,并根据位流与sram对应关系,对每个sram单元赋值,且解析激励对芯片的信号端口赋值,通过verilog pli将激励信号施加至待测模块dut的输入端口上,使这些端口的信号跟随激励信号变化,verilog pli是一个接口函数,作用是可以在待测模块dut外部访问和操作待测模块中的任意节点;仿真模块,用于对配置完成后的芯片进行功能仿真并读取仿真结果,该仿真除了采用verilog pli进行激励施加和sram赋值外,与常规仿真无差别,运用vcs或其他仿真工具进行仿真,在此不再赘述。
在具体实施例中,上述的配置模块还用于配置每个sram单元的物理位置与位流的对应关系表。
该执行模块是基于Verilog PLI的函数。
如图1所示,一种用于可配置芯片的功能仿真方法,该方法包含如下步骤:
配置一位流文件;
执行模块读取并解析位流文件,并根据位流与sram对应关系,对每个sram单元赋值。
对芯片的信号端口赋值,仿真使用Verilog PLI来施加激励,好处是只需要编译一次,不同的testbench不需要重复编译,端口赋值其实就是将激励施加到仿真模块。
在具体实施例中,上述的对芯片的信号端口赋值后还包含:对芯片进行功能仿真并抓取仿真结果。在所述的读取并解析位流文件之前还包含:预先配置一每个sram单元的物理位置与位流的对应关系表,且具体通过Verilog PLI的函数读取配置文件,直接将值赋给sram单元。
综上所述,本发明一种用于可配置芯片的功能仿真方法及系统,在进行功能仿真时直接操作SRAM值以取代烦琐的正常配置流程,不但节省了重复编译的时间,在实际仿真中也节省配置所需要的时间,可以明显提高仿真效率。
尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。
Claims (2)
1.一种用于可配置芯片的功能仿真方法,其特征在于,包含:
配置一位流文件;
通过Verilog PLI接口读取并解析位流文件,并根据位流与sram对应关系,对每个sram单元赋值;
对芯片的信号端口赋值;
所述的对芯片的信号端口赋值后还包含:
对芯片进行功能仿真并抓取仿真结果;
在所述的读取并解析位流文件之前还包含:
预先配置一每个sram单元的物理位置与位流的对应关系表;
所述的功能仿真方法不再是以帧为单位,通过打开关闭字线的流程来实现sram的值写入,节省了重复编译的时间,在实际仿真中也节省配置所需要的时间,可以明显提高仿真效率。
2.一种用于可配置芯片的功能仿真系统,其特征在于,包含:
配置模块,用于配置一位流文件;
执行模块,用于读取并解析位流文件,并根据位流与sram对应关系,对每个sram单元赋值,且对芯片的信号端口赋值,所述的执行模块为基于Verilog PLI的函数;
仿真模块,用于对配置完成后的芯片进行功能仿真,抓取仿真结果;所述的配置模块还用于配置每个sram单元的物理位置与位流的对应关系表;
所述的功能仿真系统不再是以帧为单位,通过打开关闭字线的流程来实现sram的值写入,节省了重复编译的时间,在实际仿真中也节省配置所需要的时间,可以明显提高仿真效率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811548816.2A CN109635466B (zh) | 2018-12-18 | 2018-12-18 | 一种用于可配置芯片的功能仿真方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811548816.2A CN109635466B (zh) | 2018-12-18 | 2018-12-18 | 一种用于可配置芯片的功能仿真方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109635466A CN109635466A (zh) | 2019-04-16 |
CN109635466B true CN109635466B (zh) | 2023-05-23 |
Family
ID=66075005
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811548816.2A Active CN109635466B (zh) | 2018-12-18 | 2018-12-18 | 一种用于可配置芯片的功能仿真方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109635466B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7511641B1 (en) * | 2006-09-19 | 2009-03-31 | Lattice Semiconductor Corporation | Efficient bitstream compression |
CN103914580A (zh) * | 2012-12-31 | 2014-07-09 | 复旦大学 | 一种用于fpga电路位流仿真的方法 |
EP2894572A1 (en) * | 2014-01-09 | 2015-07-15 | Université de Rennes 1 | Method and device for programming a FPGA |
CN105843982A (zh) * | 2016-03-07 | 2016-08-10 | 深圳市紫光同创电子有限公司 | 用于可编程逻辑器件的位流生成方法、装置及设计系统 |
WO2016165930A1 (de) * | 2015-04-14 | 2016-10-20 | Siemens Aktiengesellschaft | Vorrichtung und verfahren zum erzeugen eines schlüssels in einem programmierbaren hardwaremodul |
CN106597250A (zh) * | 2016-11-24 | 2017-04-26 | 深圳市紫光同创电子有限公司 | 一种可编程逻辑器件测试方法及设备 |
CN107895087A (zh) * | 2017-11-29 | 2018-04-10 | 中科亿海微电子科技(苏州)有限公司 | 可编程逻辑电路模块级仿真配码自动生成的方法及系统 |
CN108511029A (zh) * | 2017-02-23 | 2018-09-07 | 上海复旦微电子集团股份有限公司 | 一种fpga中双端口sram阵列的内建自测和修复系统及其方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103019947B (zh) * | 2012-11-28 | 2016-02-24 | 复旦大学 | 一种fpga芯片配置信息模型的层次化构建方法 |
CN105260545B (zh) * | 2015-10-19 | 2018-09-14 | 深圳市紫光同创电子有限公司 | 一种可编程电路系统的验证方法 |
-
2018
- 2018-12-18 CN CN201811548816.2A patent/CN109635466B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7511641B1 (en) * | 2006-09-19 | 2009-03-31 | Lattice Semiconductor Corporation | Efficient bitstream compression |
CN103914580A (zh) * | 2012-12-31 | 2014-07-09 | 复旦大学 | 一种用于fpga电路位流仿真的方法 |
EP2894572A1 (en) * | 2014-01-09 | 2015-07-15 | Université de Rennes 1 | Method and device for programming a FPGA |
WO2016165930A1 (de) * | 2015-04-14 | 2016-10-20 | Siemens Aktiengesellschaft | Vorrichtung und verfahren zum erzeugen eines schlüssels in einem programmierbaren hardwaremodul |
CN105843982A (zh) * | 2016-03-07 | 2016-08-10 | 深圳市紫光同创电子有限公司 | 用于可编程逻辑器件的位流生成方法、装置及设计系统 |
CN106597250A (zh) * | 2016-11-24 | 2017-04-26 | 深圳市紫光同创电子有限公司 | 一种可编程逻辑器件测试方法及设备 |
CN108511029A (zh) * | 2017-02-23 | 2018-09-07 | 上海复旦微电子集团股份有限公司 | 一种fpga中双端口sram阵列的内建自测和修复系统及其方法 |
CN107895087A (zh) * | 2017-11-29 | 2018-04-10 | 中科亿海微电子科技(苏州)有限公司 | 可编程逻辑电路模块级仿真配码自动生成的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109635466A (zh) | 2019-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100458371B1 (ko) | 프로그램가능한 논리 셀 어레이의 구성 방법 및 구성 장치 | |
CN108899061B (zh) | 一种电源常开芯片中的存储器内建自测试方法和系统 | |
CN112667445B (zh) | 封装后的内存修复方法及装置、存储介质、电子设备 | |
US20090300440A1 (en) | Data controlling in the mbist chain architecture | |
CN109542670B (zh) | 基于错误快速定位的fpga软错误刷新方法以及刷新器 | |
US20130024178A1 (en) | Playback methodology for verification components | |
US9111596B2 (en) | Memory access control in a memory device | |
TWI723219B (zh) | 加速閘層級模擬的方法與設備 | |
TW202123235A (zh) | 行多工技術 | |
US10496422B2 (en) | Serial device emulator using two memory levels with dynamic and configurable response | |
CN115017845A (zh) | 用于ip单元级别验证的总线驱动式芯片仿真激励模型 | |
CN111198787B (zh) | 测试程序生成方法、装置、存储介质及电子设备 | |
KR20130048999A (ko) | 반도체 테스트 장치 및 그의 어드레스 스크램블 생성 방법 | |
CN109635466B (zh) | 一种用于可配置芯片的功能仿真方法及系统 | |
CN111950217B (zh) | Sram型fpga故障检测中关键帧地址范围定位方法 | |
CN111176926A (zh) | 一种基于双口sram的ip核仿真系统及仿真方法 | |
CN108646106B (zh) | 具有单粒子翻转故障注入功能的微型icap控制器 | |
US20070011544A1 (en) | Reprogramming of tester resource assignments | |
US6144930A (en) | Method for providing a memory model of a memory device for use in simulation | |
US8522178B2 (en) | Re-modeling a memory array for accurate timing analysis | |
US10409624B1 (en) | Data array compaction in an emulation system | |
CN1695131A (zh) | 地址译码 | |
US8225244B2 (en) | Large scale integration device and large scale integration design method including both a normal system and diagnostic system | |
US8495537B1 (en) | Timing analysis of an array circuit cross section | |
Kruthika et al. | SRAM memory built in self-test using MARCH algorithm |
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 |