CN108090239B - 一种基于tlm系统模型的分布式仿真方法 - Google Patents
一种基于tlm系统模型的分布式仿真方法 Download PDFInfo
- Publication number
- CN108090239B CN108090239B CN201611037804.4A CN201611037804A CN108090239B CN 108090239 B CN108090239 B CN 108090239B CN 201611037804 A CN201611037804 A CN 201611037804A CN 108090239 B CN108090239 B CN 108090239B
- Authority
- CN
- China
- Prior art keywords
- simulation
- time
- rtl
- module
- tlm
- 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/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3323—Design verification, e.g. functional simulation or model checking using formal methods, e.g. equivalence checking or property checking
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)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于TLM系统模型的分布式仿真方法,由TLM系统建模模块(1)算法仿真开始,将整个算法仿真过程按需划分为若干时间段,通过分时状态产生模块(2)产生分时状态文件,记录各时间段结尾重要系统状态值,分布装载模块(3)读取分时状态文件,并将不同状态值转换为不同RTL仿真初始值,仿真结果分析模块(4)根据不同初始值并行进行多个时间段仿真,仿真结果由仿真结果分析模块(5)进行分布式对比分析,完成分布式仿真的全部过程。本仿真方法解决了传统仿真方法速度慢、迭代次数较多的问题。
Description
技术领域
本发明涉及一种分布式仿真方法,特别是一种基于TLM系统模型的分布式仿真方法。
背景技术
目前的仿真方法中,验证效率已经成为制约SoC开发进度的重要瓶颈。一方面,由于大部分RTL仿真工具无法进行多核并行仿真,造成大规模数字SoC验证时间过长,一个芯片级测试激励的仿真验证需要等待一周或更长时间才能得到结果。另一方面,由于仿真在时间上是连续的,在得到期望时间点的仿真结果之前,需要进行大量无意义的仿真,这种现象在反复验证迭代中十分常见,浪费大量仿真时间。为了解决上述问题,业内主要采取以下几种方式:
第一,采用昂贵的仿真加速器。基本上所有知名芯片设计公司均采购高级仿真加速器提高验证速度,这些仿真加速器采用FPGA和DSP协同工作方式完成RTL验证加速工作,由于设备庞大复杂,价格十分昂贵。
第二,直接采用原型验证方式完成芯片级行为仿真验证,这种方式需要对芯片设计进行修改,以适应FPGA的特殊需求,严格来说会导致验证设计内容不一致,同时设计可观测性较差。
TLM指事务级模型,能够在行为级描述数字集成电路行为,基于TLM的仿真验证可以更快速更准确的定位问题。RTL指寄存器传输级,能够在电路级描述数字集成电路行为,由于保留电路细节,仿真验证速度较慢。
发明内容
本发明的目的在于提供一种基于TLM系统模型的分布式仿真方法,解决以往方法中设备庞大复杂、价格十分昂贵,验证设计内容不一致,同时设计可观测性较差的问题。
一种基于TLM系统模型的分布式仿真方法的具体步骤为:
第一步 搭建基于TLM系统模型的仿真系统
基于TLM系统模型的仿真系统,包括:TLM系统建模模块、分时状态产生模块、状态分布装载模块、芯片仿真模块和仿真结果分析模块。
TLM系统建模模块的功能为:对RTL仿真副本进行TLM级建模,用于系统级仿真和生成分布状态。
分时状态产生模块的功能为:进行TLM系统仿真并产生RTL仿真副本分布式仿真需要的各个分布式时间节点。
状态分布装载模块的功能为:提取分时状态文件中各时间节点的状态值,并初始化各个RTL仿真副本。
芯片仿真模块的功能为:进行分布式RTL仿真副本的仿真。
仿真结果分析模块的功能为:对比TLM系统仿真结果和RTL仿真副本,并根据对比结果单独针对错误RTL副本进行设计验证迭代。
第二步 TLM系统建模模块进行行为级仿真
TLM系统建模模块根据待观测的信号进行TLM级系统模型的子部分划分,分别描述RTL仿真副本各子部分电路逻辑行为,描述过程中根据时钟按节拍模拟子部分行为。最终将多个子部分模型连接为TLM级系统模型,记录TLM级系统模型的仿真节点的关键状态值。关键状态值包括:子部分接口信号和子部分内部重要存储器数值。其他数据均为非关键状态值。
第三步 分时状态产生模块确定分布式时间节点
分时状态产生模块根据仿真需求确定各个分布式时间节点,时间节点的确定考虑以下因素:选取具有阶段性意义的仿真时间点、总体预期仿真时间、已完成的验证。
分时状态产生模块首先编写分布式时间节点文件,将预定关键时间节点编写在分布式时间节点文件中,通过调用时间节点文件进行TLM系统仿真,最终在关键时间节点以分时状态文件形式输出分布式时间节点和分时系统状态值。
第四步 状态分布装载模块初始化RTL仿真副本
状态分布装载模块根据分时状态文件,以各时间节点的状态值为初始值,初始化RTL仿真副本,RTL仿真副本的数量与关键时间节点的数量相同。RTL仿真副本的非关键状态值设置为随机值。
第五步 芯片仿真模块进行分布式仿真
芯片仿真模块将待验证的RTL工程拷贝多份,得到多个RTL仿真副本,对多个RTL仿真副本设定不同的分时系统状态值,分时系统状态值为完整仿真过程中顺序发生的离散状态。各个RTL仿真副本并行进行RTL级仿真,RTL仿真副本各自存储仿真结果。
第六步 仿真结果分析模块评估仿真结果
仿真结果分析模块将TLM仿真模型产生的TLM系统仿真结果和RTL仿真副本的仿真结果进行分布式对比,当一个RTL仿真副本的仿真结果的发生错误,针对发生错误的RTL仿真副本加载分布式初始状态值,并单独进行仿真验证。
至此,完成了基于TLM系统模型的分布式仿真。
本发明的TLM级系统模型由高级语言描述,仿真时间较短,可以在短时间内完成整个系统状态变化的模拟,为整个RTL仿真提供对比验证依据。基于TLM级模型的分布式仿真方法通过将传统顺序仿真流程拆分为多个独立阶段,大幅提高了仿真速度,增强了仿真的针对性,可以对仿真流程进行片段式跟踪。在仿真-排查故障-再仿真的设计迭代过程中,无需重复进行已验证正确的时间段,无需对修改后的RTL进行全流程仿真,仅需要针对发生错误的时间段加载分布式初态值,直接针对错误时间段进行反复验证,可以极大提升项目开发进度。设计副本的非关键状态值可以设置为随机值,增加验证的随机性。
附图说明
图1 一种基于TLM系统模型的分布式仿真方法的结构示意图。
1.TLM系统建模模块 2.分时状态产生模块 3.状态分布装载模块 4.芯片仿真模块
5.仿真结果分析模块。
具体实施方式
一种基于TLM系统模型的分布式仿真方法的具体步骤为:
第一步 搭建基于TLM系统模型的仿真系统
基于TLM系统模型的仿真系统,包括:TLM系统建模模块1、分时状态产生模块2、状态分布装载模块3、芯片仿真模块4和仿真结果分析模块5。
TLM系统建模模块1的功能为:对RTL仿真副本进行TLM级建模,用于系统级仿真和生成分布状态。
分时状态产生模块2的功能为:进行TLM系统仿真并产生RTL仿真副本分布式仿真需要的各个分布式时间节点。
状态分布装载模块3的功能为:提取分时状态文件中各时间节点的状态值,并初始化各个RTL仿真副本。
芯片仿真模块4的功能为:进行分布式RTL仿真副本的仿真。
仿真结果分析模块5的功能为:对比TLM系统仿真结果和RTL仿真副本,并根据对比结果单独针对错误RTL副本进行设计验证迭代。
第二步 TLM系统建模模块1进行行为级仿真
TLM系统建模模块1根据待观测的信号进行TLM级系统模型的子部分划分,分别描述RTL仿真副本各子部分电路逻辑行为,描述过程中根据时钟按节拍模拟子部分行为。最终将多个子部分模型连接为TLM级系统模型,记录TLM级系统模型的仿真节点的关键状态值。关键状态值包括:子部分接口信号和子部分内部重要存储器数值。其他数据均为非关键状态值。
第三步 分时状态产生模块2确定分布式时间节点
分时状态产生模块2根据仿真需求确定各个分布式时间节点,时间节点的确定考虑以下因素:选取具有阶段性意义的仿真时间点、总体预期仿真时间、已完成的验证。
分时状态产生模块2首先编写分布式时间节点文件,将预定关键时间节点编写在分布式时间节点文件中,通过调用时间节点文件进行TLM系统仿真,最终在关键时间节点以分时状态文件形式输出分布式时间节点和分时系统状态值。
第四步 状态分布装载模块3初始化RTL仿真副本
状态分布装载模块3根据分时状态文件,以各时间节点的状态值为初始值,初始化RTL仿真副本,RTL仿真副本的数量与关键时间节点的数量相同。RTL仿真副本的非关键状态值设置为随机值。
第五步 芯片仿真模块4进行分布式仿真
芯片仿真模块4将待验证的RTL工程拷贝多份,得到多个RTL仿真副本,对多个RTL仿真副本设定不同的分时系统状态值,分时系统状态值为完整仿真过程中顺序发生的离散状态。各个RTL仿真副本并行进行RTL级仿真,RTL仿真副本各自存储仿真结果。
第六步 仿真结果分析模块5评估仿真结果
仿真结果分析模块5将TLM仿真模型产生的TLM系统仿真结果和RTL仿真副本的仿真结果进行分布式对比,当一个RTL仿真副本的仿真结果的发生错误,针对发生错误的RTL仿真副本加载分布式初始状态值,并单独进行仿真验证。
至此,完成了基于TLM系统模型的分布式仿真。
Claims (1)
1.一种基于TLM系统模型的分布式仿真方法,其特征在于该方法的具体步骤为:
第一步 搭建基于TLM系统模型的仿真系统
基于TLM系统模型的仿真系统,包括:TLM系统建模模块(1)、分时状态产生模块(2)、状态分布装载模块(3)、芯片仿真模块(4)和仿真结果分析模块(5);
TLM系统建模模块(1)的功能为:对RTL仿真副本进行TLM级建模,用于系统级仿真和生成分布状态;
分时状态产生模块(2)的功能为:进行TLM系统仿真并产生RTL仿真副本分布式仿真需要的各个分布式时间节点;
状态分布装载模块(3)的功能为:提取分时状态文件中各时间节点的状态值,并初始化各个RTL仿真副本;
芯片仿真模块(4)的功能为:进行分布式RTL仿真副本的仿真;
仿真结果分析模块(5)的功能为:对比TLM系统仿真结果和RTL仿真副本,并根据对比结果单独针对错误RTL副本进行设计验证迭代;
第二步 TLM系统建模模块(1)进行行为级仿真
TLM系统建模模块(1)根据待观测的信号进行TLM级系统模型的子部分划分,分别描述RTL仿真副本各子部分电路逻辑行为,描述过程中根据时钟按节拍模拟子部分行为;最终将多个子部分模型连接为TLM级系统模型,记录TLM级系统模型的仿真节点的关键状态值;关键状态值包括:子部分接口信号和子部分内部重要存储器数值;
第三步 分时状态产生模块(2)确定分布式时间节点
分时状态产生模块(2)根据仿真需求确定各个分布式时间节点,时间节点的确定考虑以下因素:选取具有阶段性意义的仿真时间点、总体预期仿真时间、已完成的验证;
分时状态产生模块(2)首先编写分布式时间节点文件,将预定关键时间节点编写在分布式时间节点文件中,通过调用时间节点文件进行TLM系统仿真,最终在关键时间节点以分时状态文件形式输出分布式时间节点和分时系统状态值;
第四步 状态分布装载模块(3)初始化RTL仿真副本
状态分布装载模块(3)根据分时状态文件,以各时间节点的状态值为初始值,初始化RTL仿真副本,RTL仿真副本的数量与关键时间节点的数量相同;RTL仿真副本的非关键状态值设置为随机值;
第五步 芯片仿真模块(4)进行分布式仿真
芯片仿真模块(4)将待验证的RTL工程拷贝多份,得到多个RTL仿真副本,对多个RTL仿真副本设定不同的分时系统状态值,分时系统状态值为完整仿真过程中顺序发生的离散状态;各个RTL仿真副本并行进行RTL级仿真,RTL仿真副本各自存储仿真结果;
第六步 仿真结果分析模块(5)评估仿真结果
仿真结果分析模块(5)将TLM仿真模型产生的TLM系统仿真结果和RTL仿真副本的仿真结果进行分布式对比,当一个RTL仿真副本的仿真结果的发生错误,针对发生错误的RTL仿真副本加载分布式初始状态值,并单独进行仿真验证;
至此,完成了基于TLM系统模型的分布式仿真。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611037804.4A CN108090239B (zh) | 2016-11-23 | 2016-11-23 | 一种基于tlm系统模型的分布式仿真方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611037804.4A CN108090239B (zh) | 2016-11-23 | 2016-11-23 | 一种基于tlm系统模型的分布式仿真方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108090239A CN108090239A (zh) | 2018-05-29 |
CN108090239B true CN108090239B (zh) | 2021-05-07 |
Family
ID=62169976
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611037804.4A Active CN108090239B (zh) | 2016-11-23 | 2016-11-23 | 一种基于tlm系统模型的分布式仿真方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108090239B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115422865B (zh) * | 2022-10-28 | 2023-01-10 | 飞腾信息技术有限公司 | 仿真方法及装置、计算设备、计算机可读存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110307847A1 (en) * | 2010-06-10 | 2011-12-15 | Global Unichip Corporation | Hybrid system combining TLM simulators and HW accelerators |
CN102508753B (zh) * | 2011-11-29 | 2014-09-03 | 青岛海信信芯科技有限公司 | Ip核验证系统 |
CN103514074B (zh) * | 2013-09-06 | 2015-12-09 | 清华大学 | Mvb网卡开发方法及平台 |
CN104516770A (zh) * | 2014-12-31 | 2015-04-15 | 北京神舟航天软件技术有限公司 | 一种基于高速仿真的程序计算开销评估技术 |
CN104965750B (zh) * | 2015-06-05 | 2017-11-10 | 浪潮集团有限公司 | 基于Python语言的Rapidio切换器逻辑仿真验证平台及方法 |
CN105677446B (zh) * | 2016-01-28 | 2019-05-28 | 中国电子科技集团公司第十研究所 | 分布式仿真平台的可视化建模方法 |
-
2016
- 2016-11-23 CN CN201611037804.4A patent/CN108090239B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN108090239A (zh) | 2018-05-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9218440B2 (en) | Timing verification of an integrated circuit | |
JP4994393B2 (ja) | 単一のマスターモデルから異なる抽象化レベルの複数のモデルを生成するシステムと方法 | |
US11726899B2 (en) | Waveform based reconstruction for emulation | |
US9081925B1 (en) | Estimating system performance using an integrated circuit | |
US7302656B2 (en) | Method and system for performing functional verification of logic circuits | |
US6567971B1 (en) | Circuit synthesis method using technology parameters extracting circuit | |
KR20040063846A (ko) | 다양한 검증 플랫폼들의 통합 사용을 지원하는 검증 장치및 이를 이용한 검증 방법 | |
CN108090239B (zh) | 一种基于tlm系统模型的分布式仿真方法 | |
US9594858B1 (en) | Methods, systems, and articles of manufacture for implementing scalable statistical library characterization for electronic designs | |
Li et al. | Efficient implementation of FPGA based on Vivado high level synthesis | |
Gao et al. | Software and hardware co-verification technology based on virtual prototyping of RF SOC | |
Bombieri et al. | FAST-GP: An RTL functional verification framework based on fault simulation on GP-GPUs | |
KR20060101127A (ko) | Esl 설계 방식에서의 효과적인 함수적 설계 검증 장치 및이를 이용한 검증 방법 | |
US7181384B1 (en) | Method and apparatus for simulating a hybrid system with registered and concurrent nodes | |
US7107201B2 (en) | Simulating a logic design | |
Chou et al. | Optimizing blocks in an soc using symbolic code-statement reachability analysis | |
Zheng et al. | Fitvs: A fpga-based emulation tool for high-efficiency hardness evaluation | |
KR102558036B1 (ko) | Python을 활용한 RTL 설계 검증 자동화 방법 및 시스템 | |
KR20060066634A (ko) | 검증 성능과 검증 효율성을 높이는 동적검증 기법 방식의검증 장치 및 이를 이용한 검증 방법론 | |
Kartika | Analysis of “SystemC” design flow for FPGA implementation | |
US11868694B1 (en) | System and method for optimizing emulation throughput by selective application of a clock pattern | |
US20140025362A1 (en) | Methods for Semiconductor Processor Design and Verification | |
Kumar et al. | RTL2RTL formal equivalence: Boosting the design confidence | |
Siemen et al. | Hot Fuzz: Assisting verification by fuzz testing microelectronic hardware | |
Chang et al. | Handling nondeterminism in logic simulation so that your waveform can be trusted again |
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 | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20180529 Assignee: Tuowei Electronic Technology (Shanghai) Co.,Ltd. Assignor: BEIJING REMOTE SENSING EQUIPMENT INSTITUTE Contract record no.: X2022990000982 Denomination of invention: A Distributed Simulation Method Based on TLM System Model Granted publication date: 20210507 License type: Exclusive License Record date: 20221226 |
|
EE01 | Entry into force of recordation of patent licensing contract |