[go: up one dir, main page]

CN115237538A - A system-on-chip simulation platform and its construction method - Google Patents

A system-on-chip simulation platform and its construction method Download PDF

Info

Publication number
CN115237538A
CN115237538A CN202210878096.6A CN202210878096A CN115237538A CN 115237538 A CN115237538 A CN 115237538A CN 202210878096 A CN202210878096 A CN 202210878096A CN 115237538 A CN115237538 A CN 115237538A
Authority
CN
China
Prior art keywords
bus
interface
module
cpu
axi
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
Application number
CN202210878096.6A
Other languages
Chinese (zh)
Inventor
刘田明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong Fangcun Microelectronics Technology Co ltd
Original Assignee
Shandong Fangcun Microelectronics Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shandong Fangcun Microelectronics Technology Co ltd filed Critical Shandong Fangcun Microelectronics Technology Co ltd
Priority to CN202210878096.6A priority Critical patent/CN115237538A/en
Publication of CN115237538A publication Critical patent/CN115237538A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The invention belongs to the technical field of system-on-chip simulation, and particularly relates to a system-on-chip simulation platform and a construction method thereof. The simulation platform comprises: the system comprises a bus module, a CPU bus function model unit and a system storage module. The CPU bus function model unit is connected with the bus module through an AXI interface or an AHB interface and is provided with a DPI interface; the DPI interface is used for opening tasks in the bus function model unit to the C language interface. The system memory module is connected with the AXI interface or the AHB interface. The invention virtualizes a CPU to replace a real CPU in the simulation environment of the system on a chip through the DPI, thereby not only leading a software developer to start code development as soon as possible, but also leading a hardware verifier to construct more application scenes for the chip by using the codes developed by the software developer, and achieving the purpose of verifying the chip more efficiently and more comprehensively.

Description

一种片上系统仿真平台及其构建方法A system-on-chip simulation platform and its construction method

技术领域technical field

本发明涉及片上系统仿真技术领域,具体涉及一种片上系统仿真平台及其构建方法。The invention relates to the technical field of system-on-chip simulation, in particular to a system-on-chip simulation platform and a construction method thereof.

背景技术Background technique

随着半导体行业的飞速发展,硅的尺寸、功能和软件的复杂性都达到了前所未有的水平。为了达到产品在预期时间上市的目标,需要在产品开发周期中引入并行性,在产品开发过程中进行仿真测试。With the rapid development of the semiconductor industry, silicon has reached unprecedented levels of size, function and software complexity. In order to achieve the goal of launching the product at the expected time, it is necessary to introduce parallelism in the product development cycle and carry out simulation testing during the product development process.

在现有的开发方式中,常见的仿真测试方式有搭建片上系统仿真环境和利用CPU总线功能模型(Bus Function Model,BFM)进行片上系统仿真两种。但是,现有的片上系统仿真环境是通过真实的CPU执行C代码来进行仿真,这种仿真方式在CPU IP导入不及时的情况下,将无法进行片上系统验证平台的搭建和调试,也无法进行软件的前期开发。通过CPU总线功能模型BFM构建Verilog或者System Verilog激励进行片上系统的仿真,采用这种方式进行软件开发的C语言代码无法直接在片上系统仿真平台上运行,不利于软件代码开发以及片上系统应用场景的构建。In the existing development methods, there are two common simulation testing methods: building a system-on-chip simulation environment and using a CPU bus function model (Bus Function Model, BFM) to simulate the system-on-chip. However, the existing SoC simulation environment is simulated by executing C code on a real CPU. This simulation method will not be able to build and debug the SoC verification platform when the CPU IP is not imported in time. Early software development. Using the CPU bus function model BFM to build Verilog or System Verilog to stimulate the simulation of the SoC, the C language code for software development in this way cannot be directly run on the SoC simulation platform, which is not conducive to software code development and SoC application scenarios. Construct.

发明内容SUMMARY OF THE INVENTION

为了解决现有技术中的不足,本发明提出了一种片上系统仿真平台及其构建方法,该仿真平台及其构建方法能够通过DPI虚拟出一个CPU在芯片片上系统仿真环境中替代真实的CPU,不仅可以使软件开发人员尽快开始代码开发,还可以使硬件验证人员利用软件人员开发的代码为芯片构建更多的应用场景,从而达到更高效、更全面验证芯片的目的。In order to solve the deficiencies in the prior art, the present invention proposes a system-on-chip simulation platform and a construction method thereof. The simulation platform and the construction method can virtualize a CPU through DPI to replace the real CPU in the system-on-chip simulation environment. Not only can software developers start code development as soon as possible, but also hardware verifiers can use the codes developed by software developers to build more application scenarios for the chip, so as to achieve the purpose of more efficient and comprehensive verification of the chip.

为实现上述目的,本发明采用了以下技术方案:To achieve the above object, the present invention has adopted the following technical solutions:

根据本发明的第一方面,提供了一种片上系统仿真平台,该仿真平台包括:总线模块、CPU总线功能模型单元和系统存储模块。According to a first aspect of the present invention, a system-on-chip simulation platform is provided, the simulation platform includes: a bus module, a CPU bus function model unit and a system storage module.

所述总线模块包括AXI总线控制单元、AXI-AHB转接桥、AHB总线控制单元、AHB-AXI转接桥、APB总线控制单元、AHB-APB转接桥和AXI-APB转接桥。The bus module includes an AXI bus control unit, an AXI-AHB transfer bridge, an AHB bus control unit, an AHB-AXI transfer bridge, an APB bus control unit, an AHB-APB transfer bridge and an AXI-APB transfer bridge.

所述CPU总线功能模型单元通过AXI接口或AHB接口与所述总线模块相连,且所述CPU总线功能模型单元设有DPI接口;所述DPI接口,用于将所述CPU总线功能模型单元中的任务开放给C语言接口。The CPU bus functional model unit is connected to the bus module through an AXI interface or an AHB interface, and the CPU bus functional model unit is provided with a DPI interface; the DPI interface is used to connect the data in the CPU bus functional model unit. The task is open to the C language interface.

所述系统存储模块包括静态随机存取存储器SRAM;所述系统存储模块与所述AXI接口或所述AHB接口相连。The system storage module includes a static random access memory SRAM; the system storage module is connected to the AXI interface or the AHB interface.

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述CPU总线功能模型单元采用System Verilog语言生成。The above aspects and any possible implementation manners further provide an implementation manner, wherein the CPU bus function model unit is generated by using the System Verilog language.

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述AXI总线控制单元、所述AHB总线控制单元和所述APB总线控制单元均包括主端口和从端口。According to the above aspect and any possible implementation manner, an implementation manner is further provided, wherein the AXI bus control unit, the AHB bus control unit and the APB bus control unit all include a master port and a slave port.

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述CPU总线功能模型单元,其采用write_bus和read_bus任务对所述总线模块进行操作,采用delay_cyc作为延时任务,采用main_thread作为入口任务。The above aspects and any possible implementations further provide an implementation, the CPU bus function model unit, which uses write_bus and read_bus tasks to operate the bus module, uses delay_cyc as a delay task, adopts main_thread as the entry task.

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述C语言接口通过调用write_bus、read_bus、delay_cyc和main_thread任务完成对总线模块的操作。The above aspects and any possible implementation manners further provide an implementation manner, wherein the C language interface completes operations on the bus module by calling the tasks of write_bus, read_bus, delay_cyc and main_thread.

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述总线模块连接有多个IP,采用main_thread任务访问与总线模块连接的设备的寄存器,或将系统存储模块初始化后供与总线模块连接的设备使用。The above-mentioned aspect and any possible implementation mode further provide an implementation mode, the bus module is connected with a plurality of IPs, and the main_thread task is used to access the register of the device connected to the bus module, or after the system memory module is initialized For use with devices connected to the bus module.

根据本发明的第二方面,提供了一种上述片上系统仿真平台的构建方法,该方法包括:According to a second aspect of the present invention, a method for constructing the above-mentioned system-on-chip simulation platform is provided, the method comprising:

(1)构建总线模块。(1) Build a bus module.

(2)采用System Verilog语言生成CPU总线功能模型单元,并通过AXI接口或AHB接口将CPU总线功能模型单元与总线模块连接。(2) Using the System Verilog language to generate the CPU bus functional model unit, and connect the CPU bus functional model unit with the bus module through the AXI interface or the AHB interface.

(3)采用静态随机存取存储器SRAM构建系统存储模块,并将系统存储模块与AXI接口或AHB接口的slave相连。(3) The static random access memory SRAM is used to construct the system memory module, and the system memory module is connected with the slave of the AXI interface or the AHB interface.

(4)采用DPI接口将CPU总线功能模型单元与C语言接口连接,使CPU总线功能模型单元中的任务开放给C语言接口,C语言接口调用write_bus、read_bus、delay_cyc和main_thread任务完成对总线模块的操作。(4) Use the DPI interface to connect the CPU bus functional model unit with the C language interface, so that the tasks in the CPU bus functional model unit are opened to the C language interface, and the C language interface calls the write_bus, read_bus, delay_cyc and main_thread tasks to complete the bus module. operate.

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,该方法还包括构建测试用例,例化总线模块、CPU总线功能模型单元和系统存储模块,并生成时钟和复位任务。The above-mentioned aspects and any possible implementation manners further provide an implementation manner, the method further includes constructing a test case, instantiating a bus module, a CPU bus functional model unit and a system memory module, and generating a clock and a reset task.

与现有技术相比,本发明具有以下有益效果:Compared with the prior art, the present invention has the following beneficial effects:

本发明通过DPI虚拟出一个CPU在芯片的片上系统仿真环境中替代真实的CPU,这样不仅能够使软件人员可以尽快进行代码开发,还可以使硬件验证人员利用软件人员开发的代码为芯片构建更多的应用场景,达到更高效、更全面验证芯片的目的。The present invention virtualizes a CPU through DPI to replace the real CPU in the system-on-chip simulation environment of the chip, so that not only software personnel can develop codes as soon as possible, but also hardware verification personnel can use the codes developed by software personnel to build more chips for the chip. It can achieve the purpose of more efficient and comprehensive verification of the chip.

附图说明Description of drawings

图1是本发明中片上系统仿真平台的原理图;1 is a schematic diagram of a system-on-chip simulation platform in the present invention;

图2是本发明中片上系统仿真平台的结构框图;Fig. 2 is the structural block diagram of the system-on-chip simulation platform in the present invention;

图3是本发明中片上系统仿真平台构建方法的流程图。FIG. 3 is a flowchart of a method for constructing a system-on-chip simulation platform in the present invention.

其中:in:

110、总线模块,120、CPU总线功能模型单元,130、AHB接口,140、AXI接口,150、系统存储模块,160、C语言接口。110, bus module, 120, CPU bus function model unit, 130, AHB interface, 140, AXI interface, 150, system memory module, 160, C language interface.

具体实施方式Detailed ways

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的全部其他实施例,都属于本发明保护的范围。In order to make the purposes, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments These are some embodiments of the present invention, but not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the protection scope of the present invention.

另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。In addition, the term "and/or" in this article is only an association relationship to describe the associated objects, indicating that there can be three kinds of relationships, for example, A and/or B, it can mean that A exists alone, A and B exist at the same time, There are three cases of B alone. In addition, the character "/" in this document generally indicates that the related objects are an "or" relationship.

本发明通过DPI虚拟出一个CPU在芯片的片上系统仿真环境中替代真实的CPU,这样不仅能够使软件人员可以尽快进行代码开发,还可以使硬件验证人员利用软件人员开发的代码为芯片构建更多的应用场景,达到更高效、更全面验证芯片的目的。The present invention virtualizes a CPU through DPI to replace the real CPU in the system-on-chip simulation environment of the chip, so that not only software personnel can develop codes as soon as possible, but also hardware verification personnel can use the codes developed by software personnel to build more chips for the chip. It can achieve the purpose of more efficient and comprehensive verification of the chip.

图1示出了本发明中片上系统仿真平台的原理图,图2示出了片上系统仿真平台的结构框图。该仿真平台包括:总线模块110、CPU总线功能模型单元120和系统存储模块150。FIG. 1 shows a schematic diagram of a system-on-chip simulation platform in the present invention, and FIG. 2 shows a structural block diagram of the system-on-chip simulation platform. The simulation platform includes: a bus module 110 , a CPU bus function model unit 120 and a system storage module 150 .

所述总线模块110包括AXI总线控制单元、AXI-AHB转接桥、AHB总线控制单元、AHB-AXI转接桥、APB总线控制单元、AHB-APB转接桥和AXI-APB转接桥。所述总线模块110连接有多个IP,采用main_thread任务访问与总线模块连接的设备的寄存器,或将系统存储模块初始化后供与总线模块连接的设备使用。所述AXI总线控制单元为4*4,包括4个主端口masterport和4个从端口slave port。所述AXI-AHB的转接桥为4*4,包括4个主端口master port和4个从端口slave port。所述APB总线控制单元包括4个从端口slave port。The bus module 110 includes an AXI bus control unit, an AXI-AHB switching bridge, an AHB bus control unit, an AHB-AXI switching bridge, an APB bus control unit, an AHB-APB switching bridge and an AXI-APB switching bridge. The bus module 110 is connected with a plurality of IPs, and the main_thread task is used to access the registers of the device connected to the bus module, or the system memory module is initialized for use by the device connected to the bus module. The AXI bus control unit is 4*4, including 4 master ports and 4 slave ports. The switching bridge of the AXI-AHB is 4*4, including 4 master ports and 4 slave ports. The APB bus control unit includes 4 slave ports.

所述CPU总线功能模型单元120通过AXI接口140或AHB接口130与所述总线模块110相连,且所述CPU总线功能模型单元120设有DPI接口。通过DPI接口把CPU的BFM中的task开放给C语言接口160,C语言可以直接调用main_thread并在内部调用write_bus和read_bus完成对总线的操作,调用delay完成延时任务。The CPU bus function model unit 120 is connected to the bus module 110 through the AXI interface 140 or the AHB interface 130 , and the CPU bus function model unit 120 is provided with a DPI interface. The tasks in the BFM of the CPU are opened to the C language interface 160 through the DPI interface. The C language can directly call main_thread and internally call write_bus and read_bus to complete the bus operation, and call delay to complete the delay task.

所述CPU总线功能模型单元120为虚拟的CPU,其采用write_bus和read_bus任务对所述总线模块110进行操作,采用delay_cyc作为延时任务,采用main_thread作为入口任务。所述C语言接口通过调用write_bus、read_bus、delay_cyc和main_thread任务完成对总线模块的操作。The CPU bus function model unit 120 is a virtual CPU, which uses write_bus and read_bus tasks to operate the bus module 110, uses delay_cyc as a delay task, and uses main_thread as an entry task. The C language interface completes the operation of the bus module by calling the tasks of write_bus, read_bus, delay_cyc and main_thread.

所述系统存储模块160包括静态随机存取存储器SRAM;所述系统存储模块160与所述AXI接口140或所述AHB接口130相连。The system storage module 160 includes a static random access memory SRAM; the system storage module 160 is connected to the AXI interface 140 or the AHB interface 130 .

本发明通过DPI虚拟出一个CPU在芯片片上系统仿真环境中替代真实的CPU,这样软件人员既可以尽快开始代码开发,硬件验证人员也能利用软件人员开发的代码为芯片构建更多的应用场景,达到更高效,更全面验证芯片的目的。The invention virtualizes a CPU through DPI to replace the real CPU in the system-on-chip simulation environment, so that the software personnel can start code development as soon as possible, and the hardware verification personnel can also use the codes developed by the software personnel to build more application scenarios for the chip. To achieve the purpose of more efficient and more comprehensive verification of the chip.

本发明的目的一方面在芯片开发过程中引入更多的并行性,包括片上系统仿真与设计集成的并行性,软件开发与片上系统仿真验证的并行性等。另一方面可以结合软件应用,在片上系统仿真阶段增加更多系统级的行为,既方便软件开发遇到问题时通过片上系统仿真调试,有便于硬件覆盖更多应用场景。On the one hand, the purpose of the present invention is to introduce more parallelism in the chip development process, including the parallelism of system-on-chip simulation and design integration, the parallelism of software development and system-on-chip simulation verification, and the like. On the other hand, it can be combined with software applications to add more system-level behaviors in the SoC simulation stage, which is convenient for software development to use SoC simulation and debugging when encountering problems, and it is convenient for hardware to cover more application scenarios.

图3示出了片上系统仿真平台构建方法300的流程图。FIG. 3 shows a flowchart of a method 300 for constructing a system-on-chip simulation platform.

在框310,构建总线模块。总线模块的master port和slave port可以连接不同的IP,在任务main_thread中可以完成对连接IP的寄存器访问,也可以初始化静态随机存取存储器SRAM内容给连接的IP使用。At block 310, a bus module is constructed. The master port and slave port of the bus module can be connected to different IPs. In the task main_thread, the register access to the connected IP can be completed, and the content of the static random access memory SRAM can be initialized for the connected IP to use.

在框320,采用System Verilog语言生成CPU总线功能模型单元,并通过AXI接口或AHB接口将CPU总线功能模型单元与总线模块连接。所述CPU总线功能模型单元通过SystemVerilog创建一个CPU的BFM,有一套AXI或者AHB的总线接口与总线系统相连,把对总线模块的操作抽象成write_bus和read_bus两个task,另外增加一个delay_cyc作为延时task,增加一个CPU的入口任务main_thread,构建C语言需要的其他任务。At block 320, the CPU bus functional model unit is generated using the System Verilog language, and the CPU bus functional model unit is connected with the bus module through the AXI interface or the AHB interface. The CPU bus function model unit creates a CPU BFM through SystemVerilog, has a set of AXI or AHB bus interfaces to connect with the bus system, abstracts the operation of the bus module into two tasks of write_bus and read_bus, and adds a delay_cyc as a delay task, add a CPU entry task main_thread to build other tasks required by the C language.

在框330,采用静态随机存取存储器SRAM构建系统存储模块,并将系统存储模块与AXI接口或AHB接口的slave相连。At block 330, a system memory module is constructed using static random access memory (SRAM), and the system memory module is connected to the slave of the AXI interface or the AHB interface.

在框340,采用DPI接口将CPU总线功能模型单元与C语言接口连接,使CPU总线功能模型单元中的任务开放给C语言接口,C语言接口调用write_bus、read_bus、delay_cyc和main_thread任务完成对总线模块的操作。At block 340, the DPI interface is used to connect the CPU bus functional model unit with the C language interface, so that the tasks in the CPU bus functional model unit are exposed to the C language interface, and the C language interface calls the write_bus, read_bus, delay_cyc and main_thread tasks to complete the bus module operation.

在框350,构建测试用例,例化总线模块、CPU总线功能模型单元和系统存储模块,并生成时钟和复位任务。硬件验证人员和软件开发人员可以同时进行C语言测试用例的构建。At block 350, a test case is constructed, the bus module, the CPU bus functional model unit, and the system memory module are instantiated, and clock and reset tasks are generated. Hardware verifiers and software developers can build C language test cases at the same time.

本发明仿真环境简单,不需要把C语言编译成hex的一系列过程和相关交叉编译环境,只需要把C语言编译成相关共享库就可以。软件开发和硬件验证人员可以在还没有真正CPU的时候进行现有IP的仿真和软件代码的开发,尽早开展工作有利于缩短整个芯片开发周期。本发明可以更好地复现问题,当CPU的BFM中的task足够丰富能够覆盖软件开发的所有情况时,软硬件可以同时在一个平台上开发用例,软件出现用例问题时,可以更方便地在硬件仿真平台复现。此外硬件验证人员可以更好的借助丰富的软件库,实现更多系统级应用场景的覆盖,尽早发现并解决系统可能隐藏的问题。The simulation environment of the present invention is simple, and does not require a series of processes of compiling C language into hex and a related cross-compilation environment, and only needs to compile C language into a relevant shared library. Software development and hardware verification personnel can perform the simulation of existing IP and software code development when there is no real CPU, and it is beneficial to shorten the entire chip development cycle by starting the work as early as possible. The present invention can better reproduce the problem. When the tasks in the BFM of the CPU are rich enough to cover all situations of software development, the software and hardware can develop use cases on one platform at the same time. The hardware emulation platform is reproduced. In addition, hardware verifiers can better use rich software libraries to cover more system-level application scenarios, and to discover and solve possible hidden problems in the system as soon as possible.

以上所述实施例仅仅是对本发明的优选实施方式进行描述,并非对本发明的范围进行限定,在不脱离本发明设计精神的前提下,本领域普通技术人员对本发明的技术方案做出的各种变形和改进,均应落入本发明权利要求书确定的保护范围内。The above-mentioned embodiments are only to describe the preferred embodiments of the present invention, and do not limit the scope of the present invention. On the premise of not departing from the design spirit of the present invention, those of ordinary skill in the art can make various Variations and improvements should fall within the protection scope determined by the claims of the present invention.

Claims (8)

1. A system-on-chip simulation platform, comprising: the system comprises a bus module, a CPU bus function model unit and a system storage module;
the bus module comprises an AXI bus control unit, an AXI-AHB transfer bridge, an AHB bus control unit, an AHB-AXI transfer bridge, an APB bus control unit, an AHB-APB transfer bridge and an AXI-APB transfer bridge;
the CPU bus function model unit is connected with the bus module through an AXI interface or an AHB interface and is provided with a DPI interface; the DPI interface is used for opening the tasks in the CPU bus functional model unit to a C language interface;
the system storage module comprises a Static Random Access Memory (SRAM); the system memory module is connected to the AXI interface or the AHB interface.
2. The System-on-chip simulation platform of claim 1, wherein the CPU bus functional model unit is generated using a System Verilog language.
3. The system-on-chip emulation platform of claim 1, in which the AXI bus control unit, the AHB bus control unit, and the APB bus control unit each comprise a master port and a slave port.
4. The system-on-chip emulation platform of claim 1, in which the CPU bus functionality model unit operates the bus module using write _ bus and read _ bus tasks, delay _ cyc as a latency task, and main _ thread as an entry task.
5. The SOC emulation platform of claim 4, wherein the C language interface completes the operation of the bus module by invoking the write _ bus, read _ bus, delay _ cyc, and main _ thread tasks.
6. The system-on-chip emulation platform of claim 1, wherein the bus module has multiple IPs attached thereto, and wherein a main thread task is used to access registers of a device attached to the bus module or to initialize the system memory module for use with the device attached to the bus module.
7. The method for constructing a system-on-chip simulation platform according to any one of claims 1 to 6, comprising:
(1) Constructing a bus module;
(2) Generating a CPU bus function model unit by adopting a System Verilog language, and connecting the CPU bus function model unit with a bus module through an AXI interface or an AHB interface;
(3) A system memory module is constructed by adopting a Static Random Access Memory (SRAM), and is connected with an AXI interface or a slave of an AHB interface;
(4) And the CPU bus function model unit is connected with the C language interface by adopting a DPI interface, so that tasks in the CPU bus function model unit are opened to the C language interface, and the C language interface calls write _ bus, read _ bus, delay _ cyc and main _ thread tasks to complete the operation on the bus module.
8. The method of claim 7, further comprising building test cases, instantiating bus modules, CPU bus functional model units and system memory modules, and generating clock and reset tasks.
CN202210878096.6A 2022-07-25 2022-07-25 A system-on-chip simulation platform and its construction method Pending CN115237538A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210878096.6A CN115237538A (en) 2022-07-25 2022-07-25 A system-on-chip simulation platform and its construction method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210878096.6A CN115237538A (en) 2022-07-25 2022-07-25 A system-on-chip simulation platform and its construction method

Publications (1)

Publication Number Publication Date
CN115237538A true CN115237538A (en) 2022-10-25

Family

ID=83674819

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210878096.6A Pending CN115237538A (en) 2022-07-25 2022-07-25 A system-on-chip simulation platform and its construction method

Country Status (1)

Country Link
CN (1) CN115237538A (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109614368A (en) * 2018-12-06 2019-04-12 青岛方寸微电子科技有限公司 A kind of the module verification platform and method of system on chip IP
CN113609052A (en) * 2021-07-30 2021-11-05 上海创景信息科技有限公司 Chip simulation system based on FPGA and microprocessor and implementation method
CN113866586A (en) * 2020-06-30 2021-12-31 澜至电子科技(成都)有限公司 System-level chip verification platform and verification method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109614368A (en) * 2018-12-06 2019-04-12 青岛方寸微电子科技有限公司 A kind of the module verification platform and method of system on chip IP
CN113866586A (en) * 2020-06-30 2021-12-31 澜至电子科技(成都)有限公司 System-level chip verification platform and verification method
CN113609052A (en) * 2021-07-30 2021-11-05 上海创景信息科技有限公司 Chip simulation system based on FPGA and microprocessor and implementation method

Similar Documents

Publication Publication Date Title
US5771370A (en) Method and apparatus for optimizing hardware and software co-simulation
US6427224B1 (en) Method for efficient verification of system-on-chip integrated circuit designs including an embedded processor
US5838948A (en) System and method for simulation of computer systems combining hardware and software interaction
US6615167B1 (en) Processor-independent system-on-chip verification for embedded processor systems
US5768567A (en) Optimizing hardware and software co-simulator
CN102508753B (en) IP (Internet protocol) core verification system
CN101231589B (en) System and method for developing embedded software in-situ
WO2024046362A1 (en) Verification system, verification method, electronic device, and storage medium
Andrews Co-verification of hardware and software for ARM SoC design
CN102841837A (en) Software and hardware co-verification method based on simulator and system thereof
CN112764981B (en) Cooperative testing system and method
US20130024178A1 (en) Playback methodology for verification components
Gao et al. Software and hardware co-verification technology based on virtual prototyping of RF SOC
CN115237538A (en) A system-on-chip simulation platform and its construction method
CN111338761B (en) 51 single-chip microcomputer virtual interrupt controller and implementation method
Karmitsa Pre-validation of SoC via hardware and software co-simulation
US12182485B1 (en) Embedded processor architecture with shared memory with design under test
US11630935B1 (en) Data traffic injection for simulation of circuit designs
Ecker et al. Using a dataflow abstracted virtual prototype for HdS-design
US20180011956A1 (en) Data Injection In Emulation Without Rebooting
Bellows High-visibility debug-by-design for FPGA platforms
CN118313325A (en) A design method for CMU simulator of onboard computer based on QEMU virtual environment
Aarno et al. Simics* overview,”
Mahboub Study and development of software based self-test programs for Automotive ECU
CN119149434A (en) Test case multiplexing system of hardware accelerator platform

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