CN102054088B - 用于原型制作片上系统设计的虚拟平台 - Google Patents

用于原型制作片上系统设计的虚拟平台 Download PDF

Info

Publication number
CN102054088B
CN102054088B CN201010293337.8A CN201010293337A CN102054088B CN 102054088 B CN102054088 B CN 102054088B CN 201010293337 A CN201010293337 A CN 201010293337A CN 102054088 B CN102054088 B CN 102054088B
Authority
CN
China
Prior art keywords
bridge
virtual machine
programmable logic
machine monitor
emulation
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.)
Expired - Fee Related
Application number
CN201010293337.8A
Other languages
English (en)
Other versions
CN102054088A (zh
Inventor
G·N·金雅
H·王
E·舒克曼
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN102054088A publication Critical patent/CN102054088A/zh
Application granted granted Critical
Publication of CN102054088B publication Critical patent/CN102054088B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/45533Hypervisors; Virtual machine monitors
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

介绍了一种用于原型制作片上系统设计的系统。在一个实施例中,系统包括电子板,该电子板包括可编程用于仿真系统部件的逻辑设备。系统还包括处理器,用于执行虚拟机监视器,其中所述虚拟机监视器经由互连将输入/输出请求重定向到系统部件。

Description

用于原型制作片上系统设计的虚拟平台
技术领域
本发明的实施例涉及通过仿真硬件模型来对系统进行原型制作;更具体地,本发明的实施例涉及由可编程逻辑设备来仿真硬件模型。
背景技术
片上系统(SOC)设计是高度集成的复杂异质系统,其包括通用CPU和诸如加速器内核、专用存储器以及工业标准I/O架构的知识产权(IP)块。系统设计架构师和软件开发者一起工作以评估和最优化整个系统设计,从而使得满足功率、性能和面积约束。
通常,为了验证的目的用软件来建模IP块和系统部件。也建模所述部件中的每一个与处理器之间的交互以仿真SOC设计的行为。通过使用原型系统,基于IP块和相应的软件的预定的使用,也可以验证IP块和相应的软件。
附图说明
根据下面给出的详细的描述和本发明的各个实施例的附图可以更充分地理解本发明的实施例,然而,其不应被用于将本发明限制到特定的实施例,而只是用于解释和理解。
图1是根据本发明的一个实施例的用于原型制作片上系统(SOC)设计的虚拟平台的框图。
图2是包括两个IP块的片上系统(SOC)设计的框图。
图3是在虚拟平台中将存储器访问重定向到IP块的处理的一个实施例的流程图。
图4说明了与本发明的一个实施例一起使用的计算机系统
图5说明了与本发明的一个实施例一起使用的点对点计算机系统。
具体实施方式
介绍了用于原型制作片上系统设计的系统的实施例。在一个实施例中,该系统包括电子板,该电子板包括可编程来仿真系统部件的逻辑设备。该系统还包括处理器,用于执行虚拟机监视器,该虚拟机监视器经由互连将输入/输出请求重定向到系统部件。
在以下描述中,阐述了大量细节以提供对本发明的实施例的更透彻的解释。然而,对本领域技术人员显而易见的是,可以在没有这些具体细节的情况下实施本发明的实施例。在其他示例中,以框图的形式而非细节的形式示出了公知的结构和设备,以避免模糊本发明的实施例。
就计算机存储器内的数据比特的操作的算法和符号表示而言,介绍了以下的详细描述的一些部分。这些算法描述和表示是由数据处理领域的技术人员用于最有效地将他们的工作的实质传达给本领域的其它技术人员的手段。这里的算法一般被认为是导致期望的结果的一系列有条理的步骤。所述步骤是那些需要对物理量进行物理操作的步骤。通常,虽然不是必须的,这些量采用电子或磁信号的形式,该电子或磁信号能够被存储、转移、组合、比较并且以别的方式被操作。已经证明,将这些信号称为比特、值、元素、符号、字符、项、数字等有时是方便的,这主要是因为它们是常见的用法。
但是,应当牢记,所有这些以及类似的术语应与合适的物理量相关联,并且仅仅是应用到这些量的方便的标记。除非明确地声明,否则根据以下讨论显而易见的是,应该意识到,贯穿本说明书的使用诸如“处理”或“计算”或“运算”或“确定”或“显示”等术语的讨论指代计算机系统或类似的电子计算设备的动作和处理过程,其对表示为计算机系统的寄存器和存储器内的物理(电子)量的数据进行操作,并将所述数据转换成类似地表示为计算机系统存储器或寄存器或其它这种信息存储、传输或显示设备内的物理量的其它数据。
本发明的实施例还涉及用于执行本文中的操作的装置。可以针对需要的目的特别地构造一些装置,或者它可以包括由存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。可以将这种计算机程序存储在计算机可读存储介质中,例如但不限于,任何类型的盘,其包括软盘、光盘、CD-ROM、DVD-ROM、以及磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、NVRAM、磁或光卡,或适合用于存储电子指令的任何类型的介质,并且每一个都耦合到计算机系统总线。
本文介绍的算法和显示不是固有地涉及任何特定的计算机或其他装置。可以根据本文的教导与程序一起使用各种通用系统,或者可以证明,构造更专用的装置以执行所需要的方法步骤是方便的。下文的描述中将出现用于各种这些系统的所需要的结构。此外,没有参照任何特定的编程语言来描述本发明的实施例。应该意识到,可以使用各种编程语言来实现如本文描述的本发明的教导。
机器可读介质包括用于存储或发送机器(例如,计算机)可读形式的信息的任何装置。例如,机器可读介质包括只读存储器(“ROM”);随机存取存储器(“RAM”);磁盘存储介质;光存储介质;闪速存储设备等。
概述
介绍了用于原型制作片上系统设计的系统的实施例。在一个实施例中,该系统包括电子板,该电子板包括可编程来仿真系统部件的逻辑设备。该系统还包括处理器,用于执行虚拟机监视器,该虚拟机监视器经由互连将输入/输出请求重定向到系统部件。
图1是根据本发明的一个实施例的用于原型制作片上系统(SOC)设计的虚拟平台的框图。
参考图1,在一个实施例中,虚拟平台包括虚拟机监视器(VMM)103、虚拟IP接口库109、板驱动器110、以及电子板120。在一个实施例中,电子板120还包括桥121和IP块122。在一个实施例中,SOC设计包括在SOC仿真器102和IP块122中仿真的模型。在一个实施例中,SOC应用101包括作为要结合SOC设计被执行的软件栈的应用和操作系统。
在一个实施例中,虚拟平台是表现出真实系统行为特点和维持在设计(即,SOC设计)中系统的程序员视图的系统层模型。
在一个实施例中,SOC设计包括执行操作系统和应用软件栈的处理器。在一个实施例中,SOC设计还包括用于专门处理的其他IP块。这些IP块和专用的I/O端口一起提供图形加速、视频编码/解码、和音频处理。在一个实施例中,SOC设计包括用软件建模的部件和在现场可编程门阵列(FPGA)上原型制作的部件。
在一个实施例中,SOC仿真器102包括运行虚拟机监视器的PC系统,例如,QEMU(快速仿真器)及其扩展。在一个实施例中,SOC仿真器102经由虚拟I/O接口与IP块122进行通信。在一个实施例中,SOC仿真器102仿真处理器(例如,多核处理器)和其它部件的模型。
在一个实施例中,SOC应用101结合SOC仿真器102一起运行。在一个实施例中,SOC应用101经由包括VMM 103和虚拟IP接口库109的虚拟I/O控制IP块122。在一个实施例中,SOC应用101包括操作系统和应用。在一个实施例中,操作系统(SOC操作系统)在由VMM 103创建和管理的虚拟机中以客户模式来运行。
在一个实施例中,VMM 103包括虚拟化对IP块122的访问的软件的层,以使得IP块122与SOC设计的其他部件逻辑地互连。在一个实施例中,VMM 103使得客户操作系统能够访问虚拟平台部件。在一个实施例中,VMM 103处理主机系统和正在被仿真的虚拟SOC平台的配置。在一个实施例中,VMM 103由支持虚拟机扩展(VMX)特征的处理器执行。
在一个实施例中,VMM 103仲裁在多个操作系统之间的资源的使用以使得操作系统能够共享单个计算系统中的资源。在一个实施例中,VMM 103支持在被称为虚拟机(VM)的容器中运行的操作系统和应用软件栈。
在一个实施例中,IP块122支持编程的I/O、存储器映射的I/O、或上述二者。在一个实施例中,基于系统存储器地址映射或I/O地址映射将IP块122的控制寄存器映射到计算机存储器中特定的位置。在一个实施例中,保存系统存储器地址映射以使得即使当将驱动器被部署到物理SOC时使用IP块122的软件驱动器保持不变。在一个实施例中,同样的软件栈在没有修改的情况下能够在物理SOC设计上运行。
在一个实施例中,VMM 103监视对与IP块122相关联的地址(例如,存储器地址和I/O地址)的访问。在一个实施例中,当在VMM 103中运行的应用软件栈与IP块122交互时VMM 103进行检测。VMM 103捕获这些交互并且将其重定向到IP块122。
在一个实施例中,VMM 103将由IP块122中的处理导致的中断事件中继到在虚拟机中运行的软件程序。在一个实施例中,IP块122支持到处理器的中断事件以指示任务完成或错误。在一个实施例中,桥121将中断信号转换成中断事件。然后VMM 103将该事件传送给SOC仿真器102。
在一个实施例中,IP块122是根据内部/外部源、将被用来建立参考平台的设计。在一个实施例中,将IP块122合成并下载到电子板120上的FPGA。在一个实施例中,根据诸如SystemC、Verilog、以及VHDL的硬件建模语言来合成IP块122。
在一个实施例中,IP块122在无需修改的情况下能够通过使用桥121与PCI-E设备进行通信。IP块122经由桥121连接到PCI-E端点,桥121将PCI-E访问转换成IP块122支持的本地事务(例如,高级微控制器总线架构(AMBA)、定制数据存储器接口(CDMI)、以及开放内核协议(OCP)协议族)。在一个实施例中,桥121也被称为PCI-E到SOC总线。在一个实施例中,桥121还通过移动数据到主机系统和从主机系统移动数据来支持直接存储器访问(DMA)传输。
在一个实施例中,电子板120是经由PCI-E互连连接到主机系统的FPGA追加卡。在一个实施例中,电子板120包括不止一个的FPGA。在一个实施例中,主机系统包括若干不同的FPGA板(卡),在其上仿真了多个IP块。在一个实施例中,通过在不同FPGA卡上使用来仿真不同功能的IP块。
在一个实施例中,SOC设计的IP块包括SOC仿真器102中的软件模型、通过使用FPGA来仿真的模型、或上述二者。IP块结合虚拟IP接口库109和VMM 103彼此进行通信。
在一个实施例中,虚拟平台用于软件开发、软件验证、以及SOC设计原型制作。在一个实施例中,虚拟平台支持使用IP块122的应用软件栈的测试。
图2是包括两个IP块的片上系统(SOC)设计的框图。
参考图2,在一个实施例中,SOC设计包括主处理器203、桥204、以及两个IP块(即,IP块210和IP块211)。在一个实施例中,IP块210-211经由SOC总线201耦合到主处理器203。主处理器203经由桥204耦合到SOC总线201。
在一个实施例中,SOC总线201符合互连标准,例如,高级微控制器总线架构(AMBA)、定制数据存储器接口(CDMI)、以及开放内核协议(OCP)。
在一个实施例中,桥204将SOC总线201与主处理器203互连以使得IP块210-211只支持符合SOC总线201的通信。在一个实施例中,在FPGA上仿真IP块210-211和桥204。
在一个实施例中,IP块210-211包括控制寄存器的集合以及保存要在IP块210-211上执行的程序的本地存储器。通过分配与对应的控制寄存器和本地存储器相关联的特定地址范围使控制寄存器和本地存储器受到主处理器203的支配。在一个实施例中,软件层通过从地址范围读取和对地址范围写入来控制IP块210-211。在一个实施例中,系统地址映射定义IP块210-211到系统其余部分的逻辑互连。在一个实施例中,静态地或动态地定义地址空间。
图3是在虚拟平台中将存储器访问重定向到IP块的处理的一个实施例的流程图。
由可以包括硬件(电路、专用逻辑等)、软件(例如在通用计算机系统或专用机器上运行的)、或上述二者的组合的处理逻辑来执行该处理。在一个实施例中,结合参照图1的虚拟机监视器103来执行该处理。在一个实施例中,由参照图3的计算机系统来执行该处理。
参考图3,通过处理逻辑检测被保留用于与IP块进行通信的特定存储器范围的存储器请求来开始处理(处理框310),其中所述IP块在可编程逻辑设备上被仿真。在一个实施例中,处理逻辑检测与IP块相关联的存储器请求或存储器地址。在一个实施例中,可编程逻辑设备是在经由PCI-E互连连接到主机系统的电子板上的现场可编程门阵列(FPGA)。
在一个实施例中,处理逻辑将这些存储器请求重定向到PCI-E互连(处理框311)。在一个实施例中,处理逻辑结合由处理器支持的虚拟机扩展一起来执行存储器重定向。
在一个实施例中,处理逻辑将PCI-E访问转换成片上系统(SOC)总线事务(处理框312)。
在一个实施例中,IP块经由SOC总线接收存储器请求(处理框313)。在一个实施例中,处理逻辑将由IP块引发的中断事件中继到在其上仿真了SOC设计的主机系统。
可以在各种电子设备和逻辑电路中实现本发明的实施例。此外,包括本发明的实施例的设备或电路可以被包括在各种计算机系统中。本发明的实施例也可以被包括在其他计算机系统拓扑和架构中。
例如,图4说明了结合本发明的一个实施例的计算机系统。处理器705访问来自1级(L1)高速缓冲存储器706、2级(L2)高速缓冲存储器710、以及主存储器715的数据。在本发明的其他实施例中,高速缓冲存储器706可以是多级高速缓冲存储器,其由L1高速缓冲存储器以及计算机系统存储器分层中的诸如L2高速缓冲存储器的其他存储器组成,并且高速缓冲存储器710是随后的更低级高速缓冲存储器,例如L3高速缓冲存储器或更多级高速缓冲存储器。此外,在其他实施例中,计算机系统可以具有作为不止一个处理器内核的共享高速缓冲存储器的高速缓冲存储器710。
处理器705可以具有任意数量的处理内核。然而,可以用硬件、软件、或它们的一些组合在系统内的其他设备中或者在分布于整个系统的其他设备中实现本发明的其他实施例。
可以在各种存储器源中,例如,动态随机存取存储器(DRAM)、硬盘驱动器(HDD)720、基于NVRAM技术的固态盘725,或者包含各种存储设备和技术的、经由网络接口730或经由无线接口740位于远离计算机系统的存储器源,实现主存储器715。高速缓冲存储器可以位于处理器内或在与处理器接近的位置,例如在处理器的本地总线707上。此外,高速缓冲存储器可以包含相对快的存储器单元,例如六晶体管(6T)单元、或具有大约相等或更快的访问速度的其他存储器单元。
然而,本发明的其他实施例可以存在于图4的系统中的其他电路、逻辑单元、或设备中。此外,本发明的其他实施例可以分布于图4中说明的整个若干电路、逻辑单元、或设备中。
类似地,至少一个实施例可以实现在点对点计算机系统中。例如,图5说明了在点对点(PtP)配置中安排的计算机系统。特别地,图5示出了在其中通过多个点对点接口使处理器、存储器和输入/输出设备互连的系统。
图5的系统还可以包括若干处理器,为了清楚起见只示出了其中的两个:处理器870、880。处理器870、880中的每一个可以包括本地存储器控制器中心(MCH)811、821以与存储器850、851连接。处理器870、880可以使用PtP接口电路812、822经由点对点(PtP)接口853交换数据。处理器870、880中的每一个可以使用点对点接口电路813、823、860、861经由各自的PtP接口830、831与芯片组890交换数据。芯片组890也可以经由高性能图形接口862与高性能图形电路852交换数据。本发明的实施例可以耦合到计算机总线(834或835)、或在芯片组890中、或耦合到数据存储设备875、或耦合到图5的存储器850。
然而,本发明的其他实施例可以存在于图5的系统中的其他电路、逻辑单元、或设备中。此外,本发明的其他实施例可以分布于图5中说明的整个若干电路、逻辑单元、或设备中。
本发明并不限于所描述的实施例,并且可以在所附权利要求的精神和范围内使用修改和改变来进行实施。例如,应当意识到,本发明可适于与所有类型的半导体集成电路(“IC”)芯片一起使用。这些IC芯片的示例包括但不限于处理器、控制器、芯片组部件、可编程逻辑阵列(PLA)、存储器芯片、网络芯片等。此外,应当意识到,可以给出示例性的尺寸/模型/值/范围,尽管本发明的实施例并不限定为是相同的。由于制造技术(例如,光刻术)随着时间变得成熟,所以可以预期能够制造出更小尺寸的设备。
虽然对于本领域的普通技术人员来说,在读完上述描述之后本发明的实施例的许多改变和修改将毋庸置疑地变得显而易见,但是可以理解,以说明的方式描述和示出的任何特定实施例决不旨在被认为是限制性的。所以,提到的各个实施例的细节并不旨在限制权利要求的范围,其中所述权利要求只在其本身中陈述被认为对本发明是必不可少的那些特征。

Claims (16)

1.一种用于仿真的装置,包括:
处理器,其用于执行系统设计的第一部件的仿真;
第一可编程逻辑设备,其用于仿真:
所述系统设计的第二部件,和
桥;以及
虚拟机监视器,其用于经由所述桥将所述第一部件的输入/输出请求重定向到所述第二部件,
其中,所述虚拟机监视器包括用于虚拟化对所述系统设计的部件块的访问、并使得客户操作系统能够访问与被仿真的所述系统设计有关的虚拟平台部件的软件层,并且其中,所述虚拟机监视器还用于在多个操作系统之间仲裁对资源的使用以使得所述多个操作系统能够共享该系统设计中的资源,并且
其中,所述桥用于将所述输入/输出请求转换成所述第二部件支持的本地事务。
2.根据权利要求1所述的装置,其中,所述虚拟机监视器用于通过监视与所述第二部件相关联的存储器地址来重定向与所述第二部件相关联的存储器请求。
3.根据权利要求1所述的装置,其中,所述处理器结合虚拟机扩展一起来支持所述虚拟机监视器的执行。
4.根据权利要求1所述的装置,其中,所述第一可编程逻辑设备包括现场可编程门阵列或复杂可编程逻辑设备。
5.根据权利要求1所述的装置,其中,所述第一可编程逻辑设备还基于硬件描述语言模型来仿真所述系统设计的第三部件。
6.根据权利要求1所述的装置,还包括:第二可编程逻辑设备,其用于仿真所述系统设计的多个部件。
7.根据权利要求1所述的装置,其中,所述虚拟机监视器用于接收由所述第二部件引发的中断事件并将所述中断事件中继到所述处理器。
8.根据权利要求1所述的装置,其中,所述桥包括:PCI-E桥,其用于支持在所述处理器与由所述第一可编程逻辑设备仿真的片上系统总线之间的通信,其中,所述第二部件逻辑地耦合到所述片上系统总线,其中,所述系统设计包括片上系统设计。
9.一种用于仿真的系统,包括:
第一电子板,其包括第一可编程逻辑设备,所述第一可编程逻辑设备用于仿真:
系统设计的一个或多个部件,和
桥;以及
处理器,其用于执行虚拟机监视器,其中,所述虚拟机监视器经由所述桥将输入/输出请求重定向到所述一个或多个部件,
其中,所述虚拟机监视器包括用于虚拟化对所述系统设计的部件块的访问、并使得客户操作系统能够访问与被仿真的所述系统设计有关的虚拟平台部件的软件层,并且其中,所述虚拟机监视器还用于在多个操作系统之间仲裁对资源的使用以使得所述多个操作系统能够共享该系统设计中的资源,并且
其中,所述桥用于将所述输入/输出请求转换成所述一个或多个部件支持的本地事务。
10.根据权利要求9所述的系统,其中,所述虚拟机监视器用于通过监视与所述一个或多个部件相关联的存储器地址来重定向与所述一个或多个部件相关联的存储器请求。
11.根据权利要求9所述的系统,其中,所述第一可编程逻辑设备包括现场可编程门阵列或复杂可编程逻辑设备。
12.根据权利要求9所述的系统,还包括:第二电子板,其包括一个或多个可编程逻辑设备以仿真所述设计的多个部件,其中,所述桥包括PCI-E桥,该PCI-E桥用于支持在所述处理器与由所述第一可编程逻辑设备仿真的片上系统总线之间的通信,其中,所述一个或多个部件逻辑地耦合到所述片上系统总线,其中,所述系统设计包括片上系统设计。
13.一种用于仿真的方法,包括:
检测访问多个存储器地址的输入/输出请求;
由虚拟机监视器经由桥将所述输入/输出请求重定向到由可编程逻辑设备仿真的系统设计的一个或多个部件;以及
由所述桥将所述输入/输出请求转换成所述一个或多个部件支持的本地事务,
其中,所述虚拟机监视器包括用于虚拟化对所述系统设计的部件块的访问、并使得客户操作系统能够访问与被仿真的所述系统设计有关的虚拟平台部件的软件层,并且其中,所述虚拟机监视器还用于在多个操作系统之间仲裁对资源的使用以使得所述多个操作系统能够共享该系统设计中的资源。
14.根据权利要求13所述的方法,还包括:由所述虚拟机监视器接收来自所述一个或多个部件的中断事件。
15.根据权利要求13所述的方法,其中,所述可编程逻辑设备包括现场可编程门阵列或复杂可编程逻辑设备。
16.根据权利要求13所述的方法,其中,所述多个存储器地址与所述一个或多个部件相关联,其中,所述桥包括PCI-E桥,该PCI-E桥用于支持在处理器与由所述可编程逻辑设备仿真的片上系统总线之间的通信,其中,所述一个或多个部件逻辑地耦合到所述片上系统总线,其中,所述系统设计包括片上系统设计。
CN201010293337.8A 2009-11-05 2010-09-26 用于原型制作片上系统设计的虚拟平台 Expired - Fee Related CN102054088B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/613,414 US20110106522A1 (en) 2009-11-05 2009-11-05 virtual platform for prototyping system-on-chip designs
US12/613,414 2009-11-05

Publications (2)

Publication Number Publication Date
CN102054088A CN102054088A (zh) 2011-05-11
CN102054088B true CN102054088B (zh) 2014-07-30

Family

ID=43856143

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010293337.8A Expired - Fee Related CN102054088B (zh) 2009-11-05 2010-09-26 用于原型制作片上系统设计的虚拟平台

Country Status (3)

Country Link
US (1) US20110106522A1 (zh)
EP (1) EP2325747A3 (zh)
CN (1) CN102054088B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9229895B2 (en) * 2012-09-13 2016-01-05 Intel Corporation Multi-core integrated circuit configurable to provide multiple logical domains
US9526285B2 (en) 2012-12-18 2016-12-27 Intel Corporation Flexible computing fabric
WO2014139115A1 (en) * 2013-03-14 2014-09-18 Intel Corporation Generic method to build virtual pci device and virtual mmio device
ITTO20130824A1 (it) 2013-10-11 2015-04-11 St Microelectronics Grenoble 2 Sistema per progettare disposizioni di interconnessione network on chip
US10540506B2 (en) 2017-01-12 2020-01-21 Microsoft Technology Licensing, Llc Field-programmable gate array virtualization
US10404470B2 (en) 2017-01-13 2019-09-03 Microsoft Technology Licensing, Llc Signature verification of field-programmable gate array programs

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6963829B1 (en) * 2001-02-08 2005-11-08 3Com Corporation Method and apparatus for interfacing a spectrum digital incorporated TMS470 evaluation board with a spectrum digital incorporated TMS320LC54X evaluation board
US7237051B2 (en) * 2003-09-30 2007-06-26 Intel Corporation Mechanism to control hardware interrupt acknowledgement in a virtual machine system

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6904480B1 (en) * 1997-12-17 2005-06-07 Intel Corporation Testing a bus using bus specific instructions
JP2002530780A (ja) * 1998-11-20 2002-09-17 アルテラ・コーポレーション 再構成可能なプログラマブルロジックデバイスコンピュータシステム
GB0012773D0 (en) * 2000-05-25 2000-07-19 Radioscape Ltd Programmable single-chip device and related development environment
WO2001095161A2 (en) * 2000-06-02 2001-12-13 Virtio Corporation Method and system for virtual prototyping
US7091598B2 (en) * 2001-01-19 2006-08-15 Renesas Technology Corporation Electronic circuit device
CN1280892C (zh) * 2003-12-16 2006-10-18 复旦大学 可编程逻辑器件结构
US7345508B1 (en) * 2006-01-24 2008-03-18 Xilinx, Inc. Programmable logic device having a programmable selector circuit

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6963829B1 (en) * 2001-02-08 2005-11-08 3Com Corporation Method and apparatus for interfacing a spectrum digital incorporated TMS470 evaluation board with a spectrum digital incorporated TMS320LC54X evaluation board
US7237051B2 (en) * 2003-09-30 2007-06-26 Intel Corporation Mechanism to control hardware interrupt acknowledgement in a virtual machine system

Also Published As

Publication number Publication date
CN102054088A (zh) 2011-05-11
US20110106522A1 (en) 2011-05-05
EP2325747A2 (en) 2011-05-25
EP2325747A3 (en) 2012-08-08

Similar Documents

Publication Publication Date Title
KR102610567B1 (ko) 이종 시스템 온 칩에 대한 소프트웨어 정의 다중 도메인 생성 및 분리
Davis et al. BEE3: Revitalizing computer architecture research
US10289785B1 (en) Platform architecture creation for a system-on-chip
US9218443B1 (en) Heterogeneous multiprocessor program compilation targeting programmable integrated circuits
US9846660B2 (en) Heterogeneous multiprocessor platform targeting programmable integrated circuits
CN102054088B (zh) 用于原型制作片上系统设计的虚拟平台
US10180850B1 (en) Emulating applications that use hardware acceleration
US9977758B1 (en) Device profiling for tuning OpenCL applications on programmable integrated circuits
Bortolotti et al. Virtualsoc: A full-system simulation environment for massively parallel heterogeneous system-on-chip
US20140032204A1 (en) Partitionless Multi User Support For Hardware Assisted Verification
JP2018507449A (ja) プログラム可能集積回路を対象としたヘテロジニアスマルチプロセッサプログラムコンパイル
US11232247B1 (en) Adaptable dynamic region for hardware acceleration
US9864828B1 (en) Hardware acceleration device handoff for using programmable integrated circuits as hardware accelerators
CN111353263A (zh) 软硬件设计与验证平台系统
US9824173B1 (en) Software development-based compilation flow for hardware implementation
Lin et al. Functional verifications for SoC software/hardware co-design: From virtual platform to physical platform
Tan et al. Verilog hdl simulator technology: a survey
Vieira et al. gem5-ndp: Near-data processing architecture simulation from low level caches to DRAM
US20040153301A1 (en) Integrated circuit development methodology
US9075639B1 (en) Systems and methods for handling interrupts during software design simulation
Ributzka et al. Deep: an iterative fpga-based many-core emulation system for chip verification and architecture research
US12073155B2 (en) Method and system for building hardware images from heterogeneous designs for electronic systems
Yeh et al. Enabling TLM-2.0 interface on QEMU and SystemC-based virtual platform
US9608871B1 (en) Intellectual property cores with traffic scenario data
CN116451625B (zh) 用于rtl和带sdf网表的联合仿真的装置和方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140730

Termination date: 20180926

CF01 Termination of patent right due to non-payment of annual fee