CN113312080B - 芯片eda仿真中更新芯片软硬件配置的系统、装置及方法 - Google Patents
芯片eda仿真中更新芯片软硬件配置的系统、装置及方法 Download PDFInfo
- Publication number
- CN113312080B CN113312080B CN202110563320.8A CN202110563320A CN113312080B CN 113312080 B CN113312080 B CN 113312080B CN 202110563320 A CN202110563320 A CN 202110563320A CN 113312080 B CN113312080 B CN 113312080B
- Authority
- CN
- China
- Prior art keywords
- code
- register
- value
- git
- chip
- 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
- 238000004088 simulation Methods 0.000 title claims abstract description 85
- 238000000034 method Methods 0.000 title claims description 15
- 238000006243 chemical reaction Methods 0.000 claims abstract description 31
- 238000013461 design Methods 0.000 claims abstract description 29
- 238000001514 detection method Methods 0.000 claims description 8
- 238000004891 communication Methods 0.000 claims description 4
- 238000011161 development Methods 0.000 abstract description 2
- 238000012795 verification Methods 0.000 description 27
- 238000012360 testing method Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种芯片EDA仿真中更新芯片软硬件配置的系统及应用,涉及芯片开发技术领域。所述系统包括:GIT代码库,用于存储代码;验证人员客户端,用于将基于硬件编程语言设计的仿真代码上传至GIT代码库;软件人员客户端,用于将C代码上传至GIT代码库;自动转换装置,用于在判断GIT代码库有代码更新时,获取更新的代码并转换为具有配置通用格式的配置信息文件以存储对应的芯片寄存器配置参数信息;以及,在验证人员客户端或软件人员客户端发出代码下载请求时,将最新的配置信息文件转换成基于硬件语言设计的仿真代码或C代码后传输到对应客户端。本发明提供的系统节点少,提高了芯片软硬件配置的转换效率和转换可靠性。
Description
技术领域
本发明涉及芯片开发技术领域,尤其涉及一种芯片EDA仿真中更新芯片软硬件配置的系统、装置及方法。
背景技术
随着设计芯片规模的增加,芯片的验证(Verification)工作显得越来越重要。验证工作贯穿整个芯片设计流程,从行为级HDL设计,一直到芯片流片之前都需要进行大量的EDA(Eletronic Design Automation,电子设计自动化)验证。其中,测试案例(case test)是为了验证测试项目的功能或者性能而编写一系列的代码,以芯片设计中常用的UVM(Universal Verification Methodology,通用验证方法学)验证为例,其测试案例(casetest)是基于system verilog语言,其通过用UVM sequence(UVM序列)的方式产生激励。
通过测试案例进行EDA仿真获取仿真结果后,后期还需要通过debug(侦错)工具来定位bug并进行改正,通常是由一个系统模型来运行软件,以此来检测芯片硬件设计中的bug。在芯片debug过程中,经常需要芯片验证工程师(或称验证人员)提供某种仿真测试场景下的配置信息以提供给软件设计工程师(或称软件人员)在芯片上调试,软件设计工程师调试芯片验证工程师提供的配置信息时,可能会根据需要对配置信息进行修改并在芯片上面运行,并记录芯片的运行结果(或称现场),再把修改后的配置信息和对应的芯片运行结果提供给芯片验证工程师,让芯片验证工程师复现软件设计工程师调试出的上述运行结果以供设计者进行分析。以UVM仿真为例,传统的流程图参见图1所示:芯片验证工程师完成一个基于system Verilog语言的仿真代码(对应UVM仿真测试案例)的仿真后,将该基于system Verilog语言的仿真代码通过GIT (分布式版本控制系统)版本管理工具上传到GIT代码库。软件设计工程师从前述GIT 代码库拿到芯片验证工程师的仿真代码之后,通过脚本转换成C代码(将UVM sequence的配置转换成基于C语言的程序,以便对应的 C代码软件能够运行上述测试案例)并在芯片上面进行调试,调试完成之后再将C代码上传到GIT 代码库。在需要迭代的时候,芯片验证工程师通过GIT代码库下载软件设计工程师上传的前述C代码再通过脚本将C 代码转换成基于system Verilog语言的仿真代码以进行UVM仿真。在上述流程中,配置信息需要从芯片验证工程师到软件设计工程师、再从软件设计工程师返回到芯片验证工程师,且需要进行语言转换,一方面配置信息的传递耗费了大量的时间迭代,另一方面由于节点太多无疑会导致出错概率增大。
发明内容
本发明的目的在于:克服现有技术的不足,提供了一种芯片EDA仿真中更新芯片软硬件配置的系统、装置及方法。本发明对应GIT代码库设置有自动转换装置,所述自动转换装置能够基于预设的时间周期定期对GIT代码库中的仿真代码进行转换形成具有配置通用格式的配置信息文件,当芯片验证工程师或软件设计工程师执行代码下载(GIT pull)操作的时候,可以根据最新的配置信息文件生成相应语言的代码,当芯片验证工程师或者软件设计工程师执行代码上传(GIT push)操作的时候,上传的相应语言的代码会自动转换成具有配置通用格式的配置信息文件。本发明提供的系统节点少,提高了进行芯片测试时芯片软硬件配置的转换效率和转换可靠性。
为实现上述目标,本发明提供了如下技术方案:
一种芯片EDA仿真中更新芯片软硬件配置的系统,包括:
GIT代码库,用于存储代码;
与GIT代码库连接的验证人员客户端,用于获取验证人员的基于硬件编程语言设计的仿真代码并将前述仿真代码上传至GIT代码库,以及根据代码下载请求从GIT代码库获取基于硬件语言设计的仿真代码;
与GIT代码库连接的软件人员客户端,用于获取软件人员的C代码并将前述C代码上传至GIT代码库,以及根据代码下载请求从GIT代码库获取C代码;
与GIT代码库连接的自动转换装置,用于在判断GIT代码库有代码更新时,获取更新的代码信息,并将所述代码转换为具有配置通用格式的配置信息文件以存储对应的芯片寄存器配置参数信息;以及,在验证人员客户端或软件人员客户端发出代码下载请求时,将最新的配置信息文件转换成基于硬件语言设计的仿真代码或C代码后传输到对应客户端。
进一步,判断GIT代码库是否有代码更新的步骤为:
基于预设的时间周期T,定期访问前述GIT代码库以获取GIT代码库中的当前代码信息;
将当前代码信息与前一次访问时获取的代码信息进行比对,判断是否有新增代码信息,有新增代码信息时判定前述GIT代码库有代码更新。
进一步,所述时间周期T由用户或系统设置。
进一步,所述配置通用格式包括寄存器地址和寄存器值两项内容,用于配置芯片寄存器的寄存器地址和对应的寄存器值信息。
进一步,上述两项内容在配置信息文件以列表形式存储,第1列用于存储寄存器地址,第2列用于存储对应的寄存器值;
所述寄存器为32位寄存器,当寄存器地址的值除以4余1时,解析为当前寄存器地址的值-1 的地址轮询对应的寄存器值;当寄存器地址的值除以4余2时,解析为读取当前寄存器地址值-2的地址;当寄存器地址的值除以4余0时,解析为向当前寄存器地址写入对应的寄存器值;当寄存器地址的值包含wait 信息时,表示等待相应的时间。
进一步,所述仿真代码为基于system verilog语言的UVM仿真代码。
本发明还提供了一种芯片EDA仿真中更新芯片软硬件配置的装置,包括如下结构:
GIT代码库,其与验证人员客户端和软件人员客户端二者通信连接,能够根据验证人员或软件人员的代码上传请求将对应的基于硬件编程语言设计的仿真代码或C代码进行上传存储,以及根据代码下载请求将GIT代码库中的基于硬件语言设计的仿真代码或C代码下载到对应的验证人员客户端或软件人员客户端;
所述GIT代码库包括自动转换模块,所述自动转换模块用于在判断GIT代码库有代码更新时,获取更新的代码信息,并将所述代码转换为具有配置通用格式的配置信息文件以存储对应的芯片寄存器配置参数信息;以及,在验证人员客户端或软件人员客户端发出代码下载请求时,将最新的配置信息文件转换成基于硬件语言设计的仿真代码或C代码后传输到对应客户端。
进一步,所述自动转换模块包括代码检测单元,所述代码检测单元被配置为:基于预设的时间周期T,定期访问前述GIT代码库以获取GIT代码库中的当前代码信息;将当前代码信息与前一次访问时获取的代码信息进行比对,判断是否有新增代码信息,有新增代码信息时判定前述GIT代码库有代码更新。
进一步,所述配置通用格式包括寄存器地址和寄存器值两项内容,用于配置芯片寄存器的寄存器地址和对应的寄存器值信息;上述两项内容在配置信息文件以列表形式存储,第1列用于存储寄存器地址,第2列用于存储对应的寄存器值;
所述寄存器为32位寄存器,当寄存器地址的值除以4余1时,解析为当前寄存器地址的值-1 的地址轮询对应的寄存器值;当寄存器地址的值除以4余2时,解析为读取当前寄存器地址值-2的地址;当寄存器地址的值除以4余0时,解析为向当前寄存器地址写入对应的寄存器值;当寄存器地址的值包含wait 信息时,表示等待相应的时间。
本发明还提供了一种芯片EDA仿真中更新芯片软硬件配置的方法,包括如下步骤:
获取GIT代码库的代码信息,判断GIT代码库是否有代码更新;
判断GIT代码库有代码更新时,获取更新的代码信息,并将所述代码转换为具有配置通用格式的配置信息文件以存储对应的芯片寄存器配置参数信息;
获取验证人员客户端或软件人员客户端对应所述GIT代码库发出的代码下载请求时,将最新的配置信息文件转换成基于硬件语言设计的仿真代码或C代码后传输到对应客户端。
本发明由于采用以上技术方案,与现有技术相比,作为举例,具有以下的优点和积极效果:本发明对应GIT代码库设置有自动转换装置,所述自动转换装置能够基于预设的时间周期定期对GIT代码库中的仿真代码进行转换形成具有配置通用格式的配置信息文件,当芯片验证工程师或软件设计工程师执行代码下载(GIT pull)操作的时候,可以根据最新的配置信息文件生成相应语言的代码,当芯片验证工程师或者软件设计工程师执行代码上传(GIT push)操作的时候,上传的相应语言的代码会自动转换成具有配置通用格式的配置信息文件。本发明提供的系统节点少,提高了进行芯片测试时芯片软硬件配置的转换效率和转换可靠性。
附图说明
图1为现有技术中的更新芯片软硬件配置的典型流程示例图。
图2为本发明实施例提供的芯片EDA仿真中更新芯片软硬件配置的系统的模块结构示意图。
图3为本发明实施例提供的配置信息文件的配置通用格式示例图。
图4为本发明实施例提供的芯片EDA仿真中更新芯片软硬件配置的方法流程图。
具体实施方式
以下结合附图和具体实施例对本发明公开的芯片EDA仿真中更新芯片软硬件配置的系统、装置及方法作进一步详细说明。应当注意的是,下述实施例中描述的技术特征或者技术特征的组合不应当被认为是孤立的,它们可以被相互组合从而达到更好的技术效果。在下述实施例的附图中,各附图所出现的相同标号代表相同的特征或者部件,可应用于不同实施例中。因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
需说明的是,本说明书所附图中所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定发明可实施的限定条件,任何结构的修饰、比例关系的改变或大小的调整,在不影响发明所能产生的功效及所能达成的目的下,均应落在发明所揭示的技术内容所能涵盖的范围内。本发明的优选实施方式的范围包括另外的实现,其中可以不按所述的或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
实施例
参见图2所示,为本发明提供的一种芯片EDA仿真中更新芯片软硬件配置的系统。
所述系统包括GIT(分布式版本控制系统)代码库,验证人员客户端,软件人员客户端和自动转换装置。
所述GIT代码库用于存储代码。
所述验证人员客户端与GIT代码库通信连接,用于获取验证人员的基于硬件编程语言设计的仿真代码并将前述仿真代码上传至GIT代码库,以及根据代码下载请求从GIT代码库获取基于硬件语言设计的仿真代码。
以常用的UVM仿真为例,此时,所述仿真代码为基于system verilog语言的UVM仿真代码。作为举例,比如芯片验证工程师调通了一版UVM仿真代码 (仿真code)后,执行GITpush 操作以将该UVM仿真代码上传至GIT代码库。芯片验证工程师调试了仿真代码的典型过程可以如下:首先,根据待测设计(DUT, Design Under Testbench)——比如待验证芯片,验证人员配置仿真环境,并将仿真案例(case)执行过程中需要的文件拷贝或链接到该仿真案例的仿真目录下。然后,就可以通过调用EDA仿真工具并配置合适的参数进行仿真操作,运行仿真案例,仿真案例运行完成时,结束仿真验证,获得仿真结果。随后,芯片验证工程师可以将该仿真案例对应的仿真代码上传到GIT代码库。
所述软件人员客户端与GIT代码库通信连接,用于获取软件人员的C代码并将前述C代码上传至GIT代码库,以及根据代码下载请求从GIT代码库获取C代码。
所述自动转换装置与GIT代码库连接,用于在判断GIT代码库有代码更新时,获取更新的代码信息,并将所述代码转换为具有配置通用格式的配置信息文件以存储对应的芯片寄存器配置参数信息;以及,在验证人员客户端或软件人员客户端发出代码下载请求时,将最新的配置信息文件转换成基于硬件语言设计的仿真代码或C代码后传输到对应客户端。
本实施例中,所述自动转换装置可以包括有代码检测模块,所述代码检测模块用于判断GIT代码库是否有代码更新。具体的,所述代码检测模块被配置为:基于预设的时间周期T,定期访问前述GIT代码库以获取GIT代码库中的当前代码信息;将当前代码信息与前一次访问时获取的代码信息进行比对,判断是否有新增代码信息,有新增代码信息时判定前述GIT代码库有代码更新。
本实施例中,所述时间周期T可以由用户设置,也可以由系统设置。优选的,所述时间周期T可以由用户设置,作为举例,比如用户设置的时间周期为15分钟,即每隔15分钟,代码检测模块将自动对GIT代码库进行代码检测以判断GIT代码库是否有代码更新。在判定有代码更新的情况下,获取新增的代码信息后,触发对新增代码的转换,将所述代码转换为具有配置通用格式的配置信息文件,所述配置信息文件用于存储对应的芯片寄存器配置参数信息。
本实施例中,所述配置通用格式可以包括寄存器地址和寄存器值两项内容,用于配置芯片寄存器的寄存器地址和对应的寄存器值信息。优选的,上述两项内容在配置信息文件以列表形式存储,第1列用于存储寄存器地址,第2列用于存储对应的寄存器值。
具体的,所述寄存器为32位寄存器,此时1个字(word)对应有4个字节(Byte),按字(word)操作,可知每次操作的地址为0X4的倍数。具体的,当寄存器地址的值除以4余1时,解析为当前寄存器地址的值-1 的地址轮询对应的寄存器值。当寄存器地址的值除以4余2时,解析为读取当前寄存器地址值-2的地址。当寄存器地址的值除以4余0时,解析为向当前寄存器地址写入对应的寄存器值。当寄存器地址的值包含wait 信息时,表示等待相应的时间。
下面结合图3示例的配置通用格式来详细描述本实施例。
图3示例了优选的配置信息文件的通用数据格式,列表包括2个字段,分别对应于寄存器地址(Register Address)和寄存器值(Value)两项内容,用于配置芯片寄存器的寄存器地址和对应的寄存器值信息。列表的第1行为字段名称,第2行及其后行为芯片寄存器配置信息的具体内容。
当Register Address的值除以4余1的时候,解析为当前Register Address 的值-1 的地址polling (即轮询)对应的寄存器值(Value)。对应于列表的第2行,即通过CPU处理器不停的读0X0这个寄存器地址,直到检测到读出的寄存器值(Value)为0X1时停止读取。
当Register Address的值除以4余2的时候,解析为读当前Register Address的值-2的地址。对应于列表中的第3行,即通过CPU处理器读0X0这个寄存器地址。
当Register Address 的值除以4余0的时候,解析为往当前Register Address 写入寄存器值(Value)对应的值。对应于列表中的第5行,即通过CPU处理器向0X4这个寄存器地址写入0xFFFFFFFF。
当Register Address的值包含wait信息时,表示等待相应的时间。对应于列表中的第4行,即等候5us(微秒)。对应于列表中的第6行,即等候10ms(毫秒)。
本发明提供的自动转换装置,被配置将仿真代码(仿真code)和C代码(C code)转换成上述配置通用格式。当芯片验证工程师和软件设计工程师执行GIT pull(下载)操作的时候,可以根据最新的配置通用格式生成相应的仿真代码(仿真code)和C代码(C code)。当芯片工程师和软件工程师执行GIT push (上传)操作的时候,系统将各自的仿真代码(仿真code)和C代码(C code)自动转换成配置通用格式。相比于图1中的现有技术,上述技术方案有效地减少了整个操作流程的信息处理节点,提高了进行芯片测试时芯片软硬件配置的转换效率和转换可靠性。
本发明的另一实施例,还提供了一种芯片EDA仿真中更新芯片软硬件配置的装置,所述装置包括具有自动转换模块的GIT代码库。
所述GIT代码库可以与验证人员客户端和软件人员客户端二者通信连接。
具体的,GIT代码库可以根据验证人员或软件人员的代码上传请求将对应的基于硬件编程语言设计的仿真代码或C代码进行上传存储;以及,根据代码下载请求将GIT代码库中的基于硬件语言设计的仿真代码或C代码下载到对应的验证人员客户端或软件人员客户端。
所述GIT代码库包括自动转换模块。
所述自动转换模块用于在判断GIT代码库有代码更新时,获取更新的代码信息,并将所述代码转换为具有配置通用格式的配置信息文件以存储对应的芯片寄存器配置参数信息;以及,在验证人员客户端或软件人员客户端发出代码下载请求时,将最新的配置信息文件转换成基于硬件语言设计的仿真代码或C代码后传输到对应客户端。
本实施例中,所述自动转换模块包括代码检测单元,所述代码检测单元被配置为:基于预设的时间周期T,定期访问前述GIT代码库以获取GIT代码库中的当前代码信息;将当前代码信息与前一次访问时获取的代码信息进行比对,判断是否有新增代码信息,有新增代码信息时判定前述GIT代码库有代码更新。
本实施例中,所述配置通用格式包括寄存器地址和寄存器值两项内容,用于配置芯片寄存器的寄存器地址和对应的寄存器值信息;上述两项内容在配置信息文件以列表形式存储,第1列用于存储寄存器地址,第2列用于存储对应的寄存器值。
所述寄存器为32位寄存器,此时,当寄存器地址的值除以4余1时,解析为当前寄存器地址的值-1 的地址轮询对应的寄存器值;当寄存器地址的值除以4余2时,解析为读取当前寄存器地址值-2的地址;当寄存器地址的值除以4余0时,解析为向当前寄存器地址写入对应的寄存器值;当寄存器地址的值包含wait 信息时,表示等待相应的时间。
其它技术特征参考在前实施例,在此不再赘述。
参见图4所示,为本发明的另一实施例,提供了一种芯片EDA仿真中更新芯片软硬件配置的方法,包括如下步骤:
S100,获取GIT代码库的代码信息,判断GIT代码库是否有代码更新。
S200,判断GIT代码库有代码更新时,获取更新的代码信息,并将所述代码转换为具有配置通用格式的配置信息文件以存储对应的芯片寄存器配置参数信息。
S300,获取验证人员客户端或软件人员客户端对应所述GIT代码库发出的代码下载请求时,将最新的配置信息文件转换成基于硬件语言设计的仿真代码或C代码后传输到对应客户端。
本实施例的步骤S100中,判断GIT代码库是否有代码更新的步骤可以如下:基于预设的时间周期T,定期访问前述GIT代码库以获取GIT代码库中的当前代码信息;将当前代码信息与前一次访问时获取的代码信息进行比对,判断是否有新增代码信息,有新增代码信息时判定前述GIT代码库有代码更新。所述时间周期T可以由用户或系统设置。
本实施例中,所述配置通用格式包括寄存器地址和寄存器值两项内容,用于配置芯片寄存器的寄存器地址和对应的寄存器值信息。
优选的,上述两项内容在配置信息文件以列表形式存储,第1列用于存储寄存器地址,第2列用于存储对应的寄存器值。所述寄存器为32位寄存器,此时,当寄存器地址的值除以4余1时,解析为当前寄存器地址的值-1 的地址轮询对应的寄存器值;当寄存器地址的值除以4余2时,解析为读取当前寄存器地址值-2的地址;当寄存器地址的值除以4余0时,解析为向当前寄存器地址写入对应的寄存器值;当寄存器地址的值包含wait 信息时,表示等待相应的时间。
其它技术特征参考在前实施例,在此不再赘述。
在上面的描述中,本发明的公开内容并不旨在将其自身限于这些方面。而是,在本公开内容的目标保护范围内,各组件可以以任意数目选择性地且操作性地进行合并。另外,像“包括”、“囊括”以及“具有”的术语应当默认被解释为包括性的或开放性的,而不是排他性的或封闭性,除非其被明确限定为相反的含义。所有技术、科技或其他方面的术语都符合本领域技术人员所理解的含义,除非其被限定为相反的含义。在词典里找到的公共术语应当在相关技术文档的背景下不被太理想化或太不实际地解释,除非本公开内容明确将其限定成那样。本发明领域的普通技术人员根据上述揭示内容做的任何变更、修饰,均属于权利要求书的保护范围。
Claims (9)
1.一种芯片EDA仿真中更新芯片软硬件配置的系统,其特征在于包括:
GIT代码库,用于存储代码;
与GIT代码库连接的验证人员客户端,用于获取验证人员的基于硬件编程语言设计的仿真代码并将前述仿真代码上传至GIT代码库,以及根据代码下载请求从GIT代码库获取基于硬件语言设计的仿真代码;
与GIT代码库连接的软件人员客户端,用于获取软件人员的C代码并将前述C代码上传至GIT代码库,以及根据代码下载请求从GIT代码库获取C代码;
与GIT代码库连接的自动转换装置,用于在判断GIT代码库有代码更新时,获取更新的代码信息,并将所述代码转换为具有配置通用格式的配置信息文件以存储对应的芯片寄存器配置参数信息;以及,在验证人员客户端或软件人员客户端发出代码下载请求时,将最新的配置信息文件转换成基于硬件语言设计的仿真代码或C代码后传输到对应客户端;
其中,所述配置通用格式包括寄存器地址Register Address和寄存器值Value两项内容,用于配置芯片寄存器的寄存器地址和对应的寄存器值信息,所述寄存器地址的值能够包含等候wait 信息,表示等待相应的时间。
2.根据权利要求1所述的系统,其特征在于:判断GIT代码库是否有代码更新的步骤为,
基于预设的时间周期T,定期访问前述GIT代码库以获取GIT代码库中的当前代码信息;
将当前代码信息与前一次访问时获取的代码信息进行比对,判断是否有新增代码信息,有新增代码信息时判定前述GIT代码库有代码更新。
3.根据权利要求2所述的系统,其特征在于:所述时间周期T由用户或系统设置。
4.根据权利要求1所述的系统,其特征在于:上述两项内容在配置信息文件以列表形式存储,第1列用于存储寄存器地址,第2列用于存储对应的寄存器值;
所述寄存器为32位寄存器,当寄存器地址的值除以4余1时,解析为当前寄存器地址的值-1 的地址轮询对应的寄存器值;当寄存器地址的值除以4余2时,解析为读取当前寄存器地址值-2的地址;当寄存器地址的值除以4余0时,解析为向当前寄存器地址写入对应的寄存器值;当寄存器地址的值包含wait 信息时,表示等待相应的时间。
5.根据权利要求1所述的系统,其特征在于:所述仿真代码为基于system verilog语言的UVM仿真代码。
6.一种芯片EDA仿真中更新芯片软硬件配置的装置,其特征在于包括:
GIT代码库,其与验证人员客户端和软件人员客户端二者通信连接,能够根据验证人员或软件人员的代码上传请求将对应的基于硬件编程语言设计的仿真代码或C代码进行上传存储,以及根据代码下载请求将GIT代码库中的基于硬件语言设计的仿真代码或C代码下载到对应的验证人员客户端或软件人员客户端;
所述GIT代码库包括自动转换模块,所述自动转换模块用于在判断GIT代码库有代码更新时,获取更新的代码信息,并将所述代码转换为具有配置通用格式的配置信息文件以存储对应的芯片寄存器配置参数信息;以及,在验证人员客户端或软件人员客户端发出代码下载请求时,将最新的配置信息文件转换成基于硬件语言设计的仿真代码或C代码后传输到对应客户端;
其中,所述配置通用格式包括寄存器地址Register Address和寄存器值Value两项内容,用于配置芯片寄存器的寄存器地址和对应的寄存器值信息,所述寄存器地址的值能够包含等候wait 信息,表示等待相应的时间。
7.根据权利要求6所述的装置,其特征在于:所述自动转换模块包括代码检测单元,所述代码检测单元被配置为:基于预设的时间周期T,定期访问前述GIT代码库以获取GIT代码库中的当前代码信息;将当前代码信息与前一次访问时获取的代码信息进行比对,判断是否有新增代码信息,有新增代码信息时判定前述GIT代码库有代码更新。
8.根据权利要求6所述的装置,其特征在于:寄存器地址和寄存器值两项内容在配置信息文件以列表形式存储,第1列用于存储寄存器地址,第2列用于存储对应的寄存器值;
所述寄存器为32位寄存器,当寄存器地址的值除以4余1时,解析为当前寄存器地址的值-1 的地址轮询对应的寄存器值;当寄存器地址的值除以4余2时,解析为读取当前寄存器地址值-2的地址;当寄存器地址的值除以4余0时,解析为向当前寄存器地址写入对应的寄存器值;当寄存器地址的值包含wait 信息时,表示等待相应的时间。
9.一种芯片EDA仿真中更新芯片软硬件配置的方法,其特征在于:基于权利要求1所述的系统来实现。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110563320.8A CN113312080B (zh) | 2021-05-24 | 2021-05-24 | 芯片eda仿真中更新芯片软硬件配置的系统、装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110563320.8A CN113312080B (zh) | 2021-05-24 | 2021-05-24 | 芯片eda仿真中更新芯片软硬件配置的系统、装置及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113312080A CN113312080A (zh) | 2021-08-27 |
CN113312080B true CN113312080B (zh) | 2024-04-19 |
Family
ID=77374432
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110563320.8A Active CN113312080B (zh) | 2021-05-24 | 2021-05-24 | 芯片eda仿真中更新芯片软硬件配置的系统、装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113312080B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3631455A (en) * | 1969-02-13 | 1971-12-28 | Bunker Ramo | Method and apparatus for code conversion |
DE10331799A1 (de) * | 2003-07-14 | 2005-02-17 | Giesecke & Devrient Gmbh | Verfahren zum Erstellen eines Programmcodes |
CN101770388A (zh) * | 2009-01-06 | 2010-07-07 | 华为技术有限公司 | 获取芯片代码信息的方法和装置 |
US8042093B1 (en) * | 2001-11-15 | 2011-10-18 | Cypress Semiconductor Corporation | System providing automatic source code generation for personalization and parameterization of user modules |
US8595670B1 (en) * | 2010-03-08 | 2013-11-26 | Altera Corporation | Method and apparatus for circuit block reconfiguration EDA |
CN107436762A (zh) * | 2017-07-03 | 2017-12-05 | 北京东土军悦科技有限公司 | 一种寄存器代码文件生成方法、装置和电子设备 |
CN108108186A (zh) * | 2017-12-06 | 2018-06-01 | 珠海泰芯半导体有限公司 | 一种基于excel的芯片寄存器特性编码方法 |
CN111259618A (zh) * | 2020-01-10 | 2020-06-09 | 何刚 | 一种基于寄存器流程工具的设计验证芯片方法 |
CN111523284A (zh) * | 2020-03-30 | 2020-08-11 | 眸芯科技(上海)有限公司 | 转换芯片eda仿真配置的方法、装置及应用 |
CN112100949A (zh) * | 2020-09-15 | 2020-12-18 | 北京士昌鼎科技有限公司 | 集成电路芯片的自动开发方法及装置、电子设备 |
CN112154413A (zh) * | 2019-08-20 | 2020-12-29 | 深圳市大疆创新科技有限公司 | 配置文件生成方法及装置、存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6658633B2 (en) * | 2001-10-03 | 2003-12-02 | International Business Machines Corporation | Automated system-on-chip integrated circuit design verification system |
US9600398B2 (en) * | 2013-10-29 | 2017-03-21 | Synopsys, Inc. | Method and apparatus for debugging HDL design code and test program code |
US10007492B2 (en) * | 2015-10-21 | 2018-06-26 | Vayavya Labs Pvt. Ltd | System and method for automatically generating device drivers for run time environments |
-
2021
- 2021-05-24 CN CN202110563320.8A patent/CN113312080B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3631455A (en) * | 1969-02-13 | 1971-12-28 | Bunker Ramo | Method and apparatus for code conversion |
US8042093B1 (en) * | 2001-11-15 | 2011-10-18 | Cypress Semiconductor Corporation | System providing automatic source code generation for personalization and parameterization of user modules |
DE10331799A1 (de) * | 2003-07-14 | 2005-02-17 | Giesecke & Devrient Gmbh | Verfahren zum Erstellen eines Programmcodes |
CN101770388A (zh) * | 2009-01-06 | 2010-07-07 | 华为技术有限公司 | 获取芯片代码信息的方法和装置 |
US8595670B1 (en) * | 2010-03-08 | 2013-11-26 | Altera Corporation | Method and apparatus for circuit block reconfiguration EDA |
CN107436762A (zh) * | 2017-07-03 | 2017-12-05 | 北京东土军悦科技有限公司 | 一种寄存器代码文件生成方法、装置和电子设备 |
CN108108186A (zh) * | 2017-12-06 | 2018-06-01 | 珠海泰芯半导体有限公司 | 一种基于excel的芯片寄存器特性编码方法 |
CN112154413A (zh) * | 2019-08-20 | 2020-12-29 | 深圳市大疆创新科技有限公司 | 配置文件生成方法及装置、存储介质 |
CN111259618A (zh) * | 2020-01-10 | 2020-06-09 | 何刚 | 一种基于寄存器流程工具的设计验证芯片方法 |
CN111523284A (zh) * | 2020-03-30 | 2020-08-11 | 眸芯科技(上海)有限公司 | 转换芯片eda仿真配置的方法、装置及应用 |
CN112100949A (zh) * | 2020-09-15 | 2020-12-18 | 北京士昌鼎科技有限公司 | 集成电路芯片的自动开发方法及装置、电子设备 |
Non-Patent Citations (3)
Title |
---|
VBA技术应用于芯片EDA验证的研究与实现;常迎辉;张俊杰;曾明;;中国集成电路(第04期);全文 * |
将C算法转换为Verilog HDL实现的一种改进方法;贺敬凯;深圳信息职业技术学院学报;20141231;第4卷(第3期);45-48 * |
嵌入式DSP系统C语言硬件编程技术;李从宇;王宝光;;测控技术;20070418(第04期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113312080A (zh) | 2021-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7270764B2 (ja) | 人工知能チップ検証 | |
CN111428462B (zh) | 通讯协议模板构建的方法及终端设备 | |
CN108459962B (zh) | 代码规范性检测方法、装置、终端设备及存储介质 | |
US8555234B2 (en) | Verification of soft error resilience | |
US20020091968A1 (en) | Object-oriented data driven software GUI automated test harness | |
CN113835945B (zh) | 芯片的测试方法、装置、设备及系统 | |
US6718521B1 (en) | Method and system for measuring and reporting test coverage of logic designs | |
US7827517B1 (en) | Automated register definition, builder and integration framework | |
CN108132876B (zh) | 一种基于注入方式的嵌入式软件目标码单元测试方法 | |
CN113591422A (zh) | 芯片验证中测试案例流程信息的生成系统及应用 | |
CN112560372B (zh) | 一种芯片原型验证方法、装置、设备及介质 | |
CN113312080B (zh) | 芯片eda仿真中更新芯片软硬件配置的系统、装置及方法 | |
CN112346918A (zh) | 芯片验证中辅助波形debug的方法及应用 | |
CN112731117A (zh) | 芯片的自动验证方法和系统,及存储介质 | |
CN110609703B (zh) | 性能检测工具实现方法、装置、可读存储介质及终端设备 | |
CN115470125B (zh) | 基于日志文件的调试方法、设备以及存储介质 | |
CN114936144A (zh) | 芯片验证方法及装置 | |
CN112559345A (zh) | 基于LoadRunner的接口测试方法、计算机设备及存储介质 | |
CN109542760B (zh) | 一种基于设备规约的虚拟原型变异测试用例生成方法 | |
CN107977315B (zh) | 一种基于Bootloader方式的嵌入式软件目标码单元测试方法 | |
CN115827568B (zh) | 获取逻辑系统设计的数据的方法、电子设备和存储介质 | |
JP2011034517A (ja) | 等価性検証装置、そのデータ処理方法、およびプログラム | |
CN115510782B (zh) | 定位验证错误的方法、电子设备和存储介质 | |
CN117574817B (zh) | 自适应时序变化的设计自动化验证方法、系统及验证平台 | |
CN113065302B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |