CN1818912A - 可扩展可重配置的原型系统及方法 - Google Patents

可扩展可重配置的原型系统及方法 Download PDF

Info

Publication number
CN1818912A
CN1818912A CNA2005101134610A CN200510113461A CN1818912A CN 1818912 A CN1818912 A CN 1818912A CN A2005101134610 A CNA2005101134610 A CN A2005101134610A CN 200510113461 A CN200510113461 A CN 200510113461A CN 1818912 A CN1818912 A CN 1818912A
Authority
CN
China
Prior art keywords
programmable logic
logic device
pld
signal
user
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.)
Granted
Application number
CNA2005101134610A
Other languages
English (en)
Other versions
CN1818912B (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.)
Shanghai Sierxin Technology Co ltd
Original Assignee
S2C Inc
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 S2C Inc filed Critical S2C Inc
Publication of CN1818912A publication Critical patent/CN1818912A/zh
Application granted granted Critical
Publication of CN1818912B publication Critical patent/CN1818912B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/331Design verification, e.g. functional simulation or model checking using simulation with hardware acceleration, e.g. by using field programmable gate array [FPGA] or emulation

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)
  • Logic Circuits (AREA)
  • Stored Programmes (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本发明提供了一种通过可重配置的平台用来设计和仿真用户设计的系统及其方法。该系统和方法能更容易地设计和仿真片上系统类型的用户设计。用户设计中的网表形式可包含在一个使用有多个场可编程逻辑门阵列器件的平台的仿真器中经过定制的或者经过优化的第三方的电路的网表形式。许多定制的电路可被配置用来与用户设计交互操作,提供诸如设计调试、性能分析以及与仿真器连接等功能。

Description

可扩展可重配置的原型系统及方法
技术领域
本发明是关于电路设计的自动化和验证(validation)技术,特别地本发明涉及片上系统型(SoC)电路的设计自动化和验证技术。
背景技术
随着集成度的提高,许多复杂逻辑系统现在可以在单个集成电路上实现。这样的集成电路被称为片上系统(SoC)。片上系统一般包括一些复杂的单元,例如微处理器、外围设备和内存控制器等。许多片上系统还采用了来自一些其他供应商的现有的电路设计。这些电路设计在业界被称为IP核。
在现有技术中,调试一个包含用户设计的集成一个或多个来自第三方的IP核的系统是十分困难的,因为用户往往无法通过用户设计和IP核的接口来完全控制IP核的时序和逻辑行为。例如,用户设计不正确的输出信号会导致IP核产生不可预料的行为,而IP核的行为又反馈到用户设计从而使用户设计进入不可预料的状态。这样的错误是极其难以诊断和定位的。因而,一个能够使设计者控制用户设计和IP核之间的接口的设计工具是十分需要的。
发明内容
本发明提供了一种通过可重配置的平台用来设计和仿真用户设计的系统及其方法。本发明中的方法尤其适用于基于IP复用的设计方法学,例如由用户自行设计的可执行用户自己设计和来自第三方的IP核的片上系统类设计。本发明可以在由内存和一定数量的可编程逻辑器件组成的平台上实现。这里的可编程逻辑器件可以是可编程逻辑门阵列。许多定制的电路可被配置用来与用户设计交互操作,提供诸如设计调试、性能分析以及与仿真器连接等功能。
根据本发明的一个具体实施例,用来设计和仿真用户设计的系统包括:(1)具有一个与用户工作站相连的接口和一个数据通讯接口的一个系统控制器;(2)一个与该数据通讯接口相连的模拟平台,该模拟平台包括多个现场可编程逻辑器件和存储器,用以实现用户设计和第三方IP核,该平台还包括一个与目标系统的接口与用户设计在运行时交互。该数据通讯接口包括一组配置总线,一组系统访问总线和一组时钟总线。该与目标系统的接口包括一组源于可编程器件的输入/输出端口的信号。
根据本发明的一个具体实施例,使用用来设计和仿真用户设计的系统,用户应生成包含用户设计和一个或多个第三方IP核的顶层模块。用户随即综合用户设计。用户设计和第三方IP核被合理地划分成多个区块,每个区块均可由一个或多个可编程逻辑器件来实现。另外,每个可编程逻辑器件和每个IP核均被分配一个接口模块。通过该接口模块,任何一个实现在某个可编程逻辑器件内的IP核可以与其他任何一个在同一个可编程逻辑器件内的区块进行通信,也可以与在其他可编程逻辑器件内的任一区块进行通信。这些区块和接口模块随后被布局布线并物理实现在可编程逻辑器件内。
根据本发明的一个具体实施例,该被分配到各个IP核或各个可编程逻辑器件内的接口模块包括一个控制电路和一组可变数量的输入/输出单元,每个单元提供1比特的互连端口。在该实施例中,每个输入/输出单元包括一个动态可重配置的存储器模块、一个用来选择输出到1比特互连端口的输出信号多路选择器以及一定数量的锁存器,每个锁存器均可有选择性地捕获从1比特互连端口接收到的信号。该多路选择器和锁存器可以由在动态可重配置存储器模块内存储的数值来控制。该动态可重配置存储器模块可由一个或多个动态可重配置的存储器单元组成,并由一个状态机(例如,一个计数器)产生的地址来访问。动态可重配置存储器模块通常可以使用一个比用户设计使用的时钟频率更高的时钟来操作。
该接口模块可以用来实现一个输出端口、一个输入端口、一个双向端口或一个三态端口。另外,在接口模块内实现的端口类型可以被动态改变。根据指定的测试或调试情况(例如,在边界扫描操作中),接口模块也可以被配置用来将在一个可编程逻辑器件中的IP核与其他在同一或不同的可编程逻辑器件中的IP核隔离开来。
根据本发明的一个具体实施例,一个或多个可编程逻辑器件可以被分配一个验证IP核用来验证用户电路的功能。例如,这样的验证IP核可以包括一个仿真业界标准总线的操作。
根据本发明的另一个具体实施例,一个或多个可编程逻辑器件可以被分配一个性能分析IP核。例如,性能分析IP核可以包括一个用来分析总线带宽的IP核。
根据本发明的一个具体实施例,该系统提供一个配置工具用以动态重配置在一个选定的可编程逻辑器件中的逻辑电路。该配置工具也可以包括一个背板配置工具用来动态重配置在一个装有多个可编程逻辑器件的电路板上的总线。
根据本发明的一个具体实施例,该系统提供一个系统调试工具来在运行时监测和分析在多个可编程逻辑器件之间的信号。该系统调试工具可以包括一个FPGA(现场可编程门阵列)回读工具、一个系统访问总线操作工具、一个内部逻辑分析仪工具、一个带宽分析工、一个符号/事务提取工具和一个仿真器链接工具。该内部逻辑分析仪工具在一个或多个可编程逻辑器件中插入一个逻辑分析电路。符号/事务提取工具可以让用户来把一个或多个信号关联起来,设定一个符号名或设定由多个信号组成的一个事务。一个事务可由在一定时间内的一组信号波形来设定。调试工具可以侦测事务的发生并以符号名的方式向用户报告。仿真器链接工具使用户可以与一个在用户工作站上运行的仿真器程序交互,共同构造一个软/硬件协同仿真环境。
附图说明
图1是本发明的一个具体实施例的可扩展可重配置原型系统100;
图2是本发明的可扩展可重配置原型系统100的系统控制器102的框图;
图3是本发明的可扩展可重配置原型平台103的示意图;
图4是本发明的一个具体实施例的示例编译流程;
图5是本发明的一个在一个存储器件中常见的“写操作(write)”的事务波形;
图6a是本发明的一个具体实施例的一个片上系统设计620的示意图,该片上系统设计包括用户设计电路和IP,该用户设计和IP被划分到电路625-1至625-n上,每个分别与TAI-IP 626-1至626-n相连;
图6b是本发明的一个框图,其所示为TAI IP 601-1至601-n被实现在FPGA103内,并用来做为FPGA602-1至602-n的接口;
图7是本发明的一个具体实施例的TAI IP 700的框图;
图8是本发明的一个具体实施例的TAI IP单元800的框图。
具体实施方式
图1为本发明的一个具体实施例的电可重配置原型系统100。如图所示,电可重配置原型系统100包括可扩展可重配置的原型平台103,该原型平台103可由一个或多个FPGA电路组成。可扩展可重配置原型平台103与一个目标系统104通过可编程的输入/输出端口105进行交互。这些输入/输出端口可以由FPGA驱动。可扩展可重配置原型平台103由系统控制器102通过一组或多组数据总线控制。在本实施例中,这些数据总线包括系统配置总线108、系统访问总线(SUB)107和时钟总线106。系统配置总线108是用来配置FPGA电路;系统访问总线(SUB)107是用来在系统控制器102和可扩展可重配置的原型平台103之间进行数据通信;时钟总线106为操作可扩展可重配置原型平台103提供了一个或多个时间基准。
用户工作站101为用户提供一个图形化的用户界面来操控电可重配置原型系统100的工作。通过这个图形界面,用户工作站101的一个用户可以访问用户设计,操作一个用来把用户设计转换成适用于可扩展可重配置原型平台103的配置信号的编译器,使用各种IP库,调用电子设计自动化软件和运行时软件。用户工作站101可以是一个工程用工作站或个人电脑。在本实施例中,用户工作站101与系统控制器102通过业界标准通信接口109进行通信。该接口109可以是USB、PCI、IEEE-1394(又称“火线”)或其他各种业界标准通信总线。
在本实施例中,一个用户设计可以通过常规的电路图工具输入或编辑,或者用一种行为或硬件描述语言(例如,SystemC,Verilog,System Verilog,VHDL等)来表现,然后被综合成逻辑门级的电路图。本发明可以在硬件原型系统,即电可重配置系统100里,实现对已综合的电路的仿真和验证。
图2是系统控制器102的一个框图。系统控制器102包括通信接口204,系统访问总线控制器202,时钟生成器203和配置控制器201。配置控制器201处理配置信号协议并从用户工作站101通过配置总线108传送配置数据到可扩展可重配置的原型平台103。这样,配置控制器201就可以来配置或下载一定格式的用户设计到可扩展可重配置FPGA103中的FPGA。配置总线108也可以用来将在各个FPGA中的设计回读,用以校验;或者在运行时获取用户设计中的状态信息和数据。回读操作一般是通过常规的技巧或使用供应商提供的协议,比如SelectMap和JTAG(边界扫描)。在本实施例中,配置总线108可以被用来测试在原型系统100中可扩展可重配置的原型平台103的可编程门阵列。
系统访问总线控制器通过系统访问总线(SUB)在运行时访问设计和系统特定部件中的寄存器、FIFO(先进先出队列)、存储器和其他状态单元,例如由编译器插入用户设计的特殊逻辑单元。系统访问总线107也可以用来把可扩展可重配置的原型平台103中的FPGA复位或初始化到特定的工作状态。
时钟发生器203驱动时钟总线106给FPGA阵列提供各种时钟信号。这些时钟信号的频率和占空比均可编程。这些时钟被下载在可扩展可重配置的原型平台103中的用户设计使用。
如上所述,可扩展可重配置的原型平台103可以由一个或多个可扩展的背板(或电路板)、FPGA、动态可配置的电开关组成。可扩展可重配置的原型平台103可以包含任意数量的FPGA和开关。图3所示为可扩展可重配置的原型平台103的示意图。如图3所示,一个可扩展可重配置的原型平台由FPGA 304-1到304-n构成。301-1到304-n中的每个FPGA都有超过一组的连接线与其他FPGA相连。本实施例中,一个或多个总线(例如,总线301-303)被用来互连FPGA 304-1至304-n。在这种方式下,信号可由任一FPGA连接到其他任意FPGA。总线301-303可以被设置为“全局总线”(即每个FPGA都可以访问的总线)。或者,总线301-303也可以被分配成各种配置,这样每条总线都可以被配置成为某一组特定FPGA专用。这些总线也可以通过动态可配置的电路开关相互连。这些电路开关可以由特殊的开关电路来提供,或者被配置到FPGA 304-1到304-n中。这些FPGA可以被配置成为一个层次化的结构。在这个结构中,FPGA可以被分组。这样,每组中的FPGA由一个“局部”的互连总线互连,而这些局部互连总线由一层或多层的动态可重配置开关相连。另外,每个FPGA可以有一个或多个输入或输出信号连接在输入/输出总线105上与目标系统104通信。这些输入/输出信号也可以被由一层或多层动态可配置开关互连,用作FPGA之间的信号互通。无论如何,随着技术的演进和提升,这些互连线的数量不受限制。这些互连总线和开关通常是在一个或多个背板或电路路上实现为佳。或者,任何的互连总线(例如,总线301-303,配置总线108,SUB总线107或时钟总线106中的任一)也可以由电缆、光纤或其他互连方式来实现。
一个复杂的数字系统(例如,一个片上系统或一个专用电路)通常包括多个子系统。例如,一个片上系统设计可以包括诸如一个多媒体子系统、一个信号处理子系统、一个外设控制系统和一个中央处理器。每个子系统可以被配置到一组由一条共用的局部总线连接的FPGA。然后由动态可配置开关来连接这条局部总线到系统的其他总线。这条共用的局部总线也可以是一条被设置成“关”模式(断开连接)的全局总线,这样来做为子系统中专用的局部总线。在各条局部总线之间的开关可以被配置成“开”模式来完成子系统之间的通信。全局总线可以被用来作为子系统之间的通信或FPGA之间的点对点通信。
为了把一个用户设计在可扩展可重配置的原型平台103中实现,用户在用户工作站101上使用一个编译器。图4所示为本发明的一个实施例的编译器程序的流程图。如图4所示,在步骤401中,一个系统设计者可以调用一个顶层模块生成器来为用户设计生成一个顶层模块。用户设计可以包含特殊的设计单元和第三方的IP核。这个顶层模块生成器用来帮助集成来自用户自己的库和第三方提供商的各种设计和IP核。该生成器根据标准的总线定义和用户自定义的总线和信号互连关系来自动连接用户设计单元和第三方IP核。或者,系统设计者也可以手工的创建顶层模块而不使用自动顶层模块生成器。
在步骤402中,一个系统或电路设计者使用编译器来导入(例如,使用一个“导入设计”命令)在顶层模块中的各个设计单元。这个设计通常是由一种硬件描述语言或网表形式表述。编译器检查设计的语法、可综合性和完整性(例如,是否所有在设计源码中的逻辑单元是在一个预定义的库或一个逻辑数据库里可用的或可链接获得的)。如果在一个导入的设计中有错误存在或一个逻辑块不可用,编译器软件会报告一个导入错误。根据需要,步骤402可以被重复多次,直到所有的输入源码被检查正确并被编译器接受。
在设计被导入后,在步骤403中,通过使用例如一条编译器中的“综合”命令或可被编译器调用的第三方综合工具,设计者可以综合设计中所有的硬件描述(硬件描述语言或其他格式)。在实施例中,编译器以自底向上的策略综合第三方IP核,以此来保持第三方IP核的边界信号并保持运行时性能。综合后的设计包含可以用来配置到可扩展可重配置的原型平台103中的FPGA里的网表形式(比如,EDIF文件)。在实施例中,编译器把所有EDIF文件合并到一个EDIF文件来代表用户设计。
在本实施例中,在步骤404中,当一个设计被综合后,设计者可以调用一个编译器中的“符号定义”命令开始符号定义过程。在符号定义过程中,用户可以把任何一个单独的信号或一组信号定义为一个符号。任意数量的信号都可以定义为一个符号。另外,用户也可以定义一个事务,即一组特定的符号或信号的一系列事件,或一组任意长度的波形。当信号或符号的状态转换与事务中指定的一定长度的波形相吻合时,认为该事务发生。例如,图5所示是一个存储设备的典型的“写操作”的事务波形。如图5所示,这个“写操作”事务包括了五个符号的波形:单独的信号“时钟(clk)”,“写操作(write)”,“片选(chipselect)”和总线信号“地址(address)”,“数据(data)”。在这个例子中,这个事务为两个时钟周期长。如图5所示,周期1和周期2在0纳秒到100秒之间。在这段时间内,“片选(chipselect)”和“写操作(write)”控制信号都被置为有效一个“时钟(clk)”信号的周期长。这个两个时钟周期内的信号波形定义了这个事务。为了检测事务的发生,原型系统100可以被配置成在运行时监测指定信号并将信号变化与预定的事务中的信号变化相比较。与现有技术不同的是,当事务发生被检测到时,软件会向用户报告事务的发生,而不是让用户去解读一堆信号状态。在这种方式下,事务以高阶抽象的方式向用户报告,既而被用来帮助调试。在一个实施例中,信号状态被采样并存储在一个板上的存储器中,或者是在用户工作站101上的存储器或文件中,以被用来做进一步的分析。符号和事务在调试模式下尤其有用,在调试模式下信号比较和事务检测机制都与前述的运行时完全一致。电路设计者可以按需要定义任意多的符号和事务,这样,大量的运行时信号信息可以在高抽象层次被定义,以方便调试。在调试模式下定义的符号和事务可以被转换到运行时使用和观察。
在步骤405中,用户可以用一个编译器中的“划分”命令来把设计划分到多个区块,每个区块将会在一个单独的FPGA中实现。第三方IP核也被划分并实现在各个FPGA中。一个大的IP核可以被划分到多个FPGA中。在一个实施例中,划分命令调用第三方的划分工具。由于在后文中讲到的“TAI IP单元”的互连方法,在原型系统100中的划分工具可以遵循最大化FPGA的容量利用率而不用被FPGA的管脚所限的原则来优化划分。划分工具产生在可扩展FPGA阵列中的每个FPGA的单独的网表。划分步骤405会保留所有的用户设计的所有信息和功能。或者,第三方划分器或手工划分也可以被用来划分设计。划分器可以接受设置约束条件,用以指示划分器来生成针对可扩展可重配置的原型平台103的硬件的网表。
在步骤406中,在用户设计被划分后,编译器在每个FPGA区块中插入一个定制的电路结构来提供“可测性”、“可分析性”和“互连”功能。这个被称为“TAI IP”的特制的电路结构也被插入到各个IP或一个被划分到多个FPGA的一个IP的各个部分。图6a中所示为划分后电路拓扑结构的一个逻辑视图。如图6a所示,根据本发明的一个实施例,一个包括用户设计电路和第三方IP的片上系统设计620,设计被划分到电路625-1到625-n中,每个分别对应TAI-IP 626-1到626-n。625-1到625-n中的每个电路分别是将被实现在一个FPGA中的用户设计的一个分块、一个IP或一个IP的一个部分。在某些实例中,一个用户设计的分块可以被分配到同一个FPGA。625-1到625-n中的每一块电路通过与他们相关联的TAI IP 626-1到626-n及一条或多条通信总线或通道(如图中所示总线630-1到630-02)与其他部分相互通信。(虽然在图6a中只示出两条总线,根据用户的选择和电路间的互连关系,一个通信通道可以包括一条或多条信号总线。)
图6b是一个结构框图,其所示为TAI IP 602-1到601-n被实现在可扩展可重配置的原型平台103中,用来作为FPGA 602-1到602-n之间的接口。如图6b所示,每个FPGA中的TAI IP与其他FPGA中的TAI IP相连,来提供可扩展可重配置的原型平台103中的FPGA之间的互连。而一个FPGA中的每个IP则也通过与其相关的TAI IP与分配在该FPGA中的其他电路以及其他FPGA中的电路通信。在这样的结构下,一个IP的输入和输出可以通过TAI IP来控制。例如,IP的每个输出信号可以被从用户设计上隔离,而信号状态可以被替换成固定值来方便调试。另外,IP的输入和输出信号可以被独立监测来提高可测性。
图7是本发明的一个实施例的TAI IP 700的一个框图。如图7所示,TAIIP 700包括控制电路701用以控制TAI IP结构块电路(“TAI IP单元”)702-1到702-n。每个TAI IP中的TAI IP单元的数量是一个可编程的设计参数,通常根据FPGA阵列板上需要互连的FPGA的数量、用户设计的输入输出要求和用户的指定来决定。每个TAI IP单元通过一个一位的互连端口(例如,互连端口703-1到703-n中的一个)来连接到可扩展FPGA阵列103电路板上的一条总线。基于这些要求,编译器决定所需的TAI IP单元的数量并产生所需的每个FPGA中的TAI IP中TAI IP单元和控制电路。
图8是本发明的一个实施例的TAI IP单元800。如图8所示,TAI IP单元800包括动态可重配置标记存储器801和802、多路信号选择器803、双向缓冲器806(包括输出缓冲器806a和输入缓冲器806b)和信号锁存器807。动态可重配置标记存储器801控制的数据输出信号808和与之相应的输出使能信号805的多路选择。数据输出信号809和相应的输出使能信号805包括配置在FPGA中的用户设计的输出信号和指定的内部逻辑节点信号。另外,固定信号810(包括一个固定的“0”和一个固定的“1”)也可以被信号输出多路选择器选中来通过互连端口703传递。在这样的结构下,一个输出信号可以在任何时刻输出到互连端口703上。数据输出信号809中的未分配信号可以被连上任意的值。如后文所述,这样的组织使得运行时的增量信号配置不需要完全的重编译。未使用的输出使能信号被分配一个“使无效”的信号状态,这样可以防止无意地输出一个值到互连端口703。
动态可重配置标记存储器802控制一组信号锁存器,每个锁存器可以被选中来锁存互连端口703上的输入信号。如上所述,互连端口703通过一位的互连总线从其他FPGA接收到信号。信号锁存器807的输出信号驱动信号808,信号808被连接到用户设计中的元件的输入端口。输入信号808中未分配的信号可以被留空。
动态可重配置标记存储器801和802由控制记数器寻址,这样动态可重配置标记存储器801和802可以在运行时由SUB总线107加载。多路选择器804控制双向缓冲器806的方向,由此来决定互连总线703是一个输入端口、一个输出端口或一个双向端口。多路选择器804的选择信号可以在运行时被改变动态配置端口类型。如图8中所示的实施例,多路选择器803和804同时由动态可重配置标记存储器801产生的控制信号控制,并选择同样数量的信号。在这种配置下,相应的多路选择器803和804的输入信号被选中。这样的结构当然不是必需的。多个多路选择器也可以由动态可重配置标记存储器801的输出字中的不同字段来控制,用来选择设计输出信号809和输出使能信号805。
一个三态输出端口可以通过把数据输出信号作为信号809中的一个,并把相应的输出使能信号作为相应的输出使能信号805中的一个来实现。当相应的输出使能信号被置为无效时即得到高阻态。相似地,一个双向信号可以通过同时作为数据输出信号809和数据输入信号808以及把相应的输出使能信号作为输出使能信号805中的一个来实现。编译器确保双向端口被正确的映射,这样相应的动态可重配置标记存储器中的相应的地址总是被同时选中。在一个实施例中,双向信号被映射到动态可重配置标记存储器801和802中的相同地址。
一个TAI IP(例如,TAI IP 601-1到601-n中的任一个)可以工作在一个比用户设计更快的时钟。以这个快时钟来控制增大或减小计数器,并由计数器产生用来访问动态可重配置标记存储器801和802的地址。每个计数器有一个可以编程的最大和最小的计数值。通常,当计数器达到最大或最小计数值时,计数器轮回计数。当达到计数上限时,计数器被复位到零。当计数器在一个用户设计的时钟周期内至少被复位一次,用户设计的输入输出信号和要被锁存的信号都已经被正确的传送。在这个实施例中,每个计数器中的最大或最小计数值可以通过SUB 107在运行时编程。这样每个快时钟周期内可以被交互的信号可以动态可变。由于动态可重配置标记存储器801和802可以由用户或由实时软件通过SUB 107来写入,互连端口703的输入或输出信号就可以以用户时钟为依据动态地调整。这样的能力使得信号值或连接可以在测试或调试模式下可变。
在TAI IP被插入后,在步骤407中,编译器调用布局布线程序来处理每个FPGA的网表。布局布线程序通常是FPGA供应商定制的程序,用来把每个网表转换成一个二进制文件或一个文本文件。这个输出的文件可以下载到可扩展可重配置的原型平台103中的FPGA中去。在一个实施例中,布局布线程序可以在多于一个用户工作站或处理器上运行来并行处理FPGA的布局布线任务。布局布线后的二进制或文本文件可以被存储在用户工作站104上,留待实时软件的进一步处理。
一个IP库可以包括除了TAI IP以外的其他提供电路验证、电路调试和性能分析功能的IP。系统设计者可以把一个或多个这样的IP加入用户设计。把这样的IP加入用户设计可以由系统设计者指示编译器或由手工在用户设计的源代码中实例化这些IP来完成。
用作电路验证的IP(验证IP)可以包括诸如仿真一个USB总线或PCI总线的电路,用来验证与一个USB总线或PCI总线有交互的用户设计的工作。用在原型系统100中的验证IP使用户或实时软件可以通过SUB 107访问验证IP的创建者或提供商提供的工作信息。通常,验证IP监测用户设计的行为,检查用户设计与标准通信或信号协议的兼容性,或是将用户设计的行为与一个特定的行为模式(正确的模式)相比较。验证IP可以提供分析报告和错误或警告信息给用户或实时软件。
例如,用作调试的IP核(调试IP核)包括完成一个内部逻辑分析仪功能的IP核(内部逻辑分析仪IP核)或一个数据流/状态分析器。这些IP核使系统设计者可以在运行时调试已配置好的系统。例如,一个内部逻辑分析仪IP核可以用来在指定的触发点采样用户设计中的信号值并存储到存储器单元用作后续分析。运行软件可以在运行时访问并操作这些调试IP核。
用作性能分析的IP核(性能分析IP核)可以包括用来做带宽分析的IP核。这些IP核可以用来收集性能信息并分析用户设计的性能。与其他IP核一样,性能分析IP核可以通过SUB 107与用户或运行时软件通信来共同完成性能分析。
在运行系统100中的运行软件可包括一个动态配置工具集和一个系统调试工具集。动态配置工具集接收用户命令来配置可扩展可重配置的原型平台103中的FPGA,背板和TA IPs修改操作模式,交互和甚至实时地设计功能。在一个实施例中,在对FPGA命令做出响应后,FPGA配置工具读取二进制或者ASCII的FPGA配置文件并将文件传送至系统控制器102中的配置控制器201。FPGA配置工具可单独配置一个或多个可扩展可重配置的原型平台103中的FPGA,甚至所需一个FPGA中的部分。例如,用户可修改一个FPGA中的逻辑块。使用FPGA配置工具可将修改的逻辑块下载至FPGA中,而不需要重新配置别的FPGA。
响应一个电路板配置命令,背板配置工具配置电路板上或者可扩展可重配置的原型平台103中背板上的可配置开关。典型地,任一开关可设置成“开”状态或“关”状态。当开关处于“开”状态时,开关导通。当开关处于“关”状态时,开关断开。背板配置工具可以用作诸如选择性地将部分互联总线配置成本地总线。
响应一个TAI IP配置命令,TAI IP配置工具生成用于通过SUB 107存储在TAI IP单元中的一个或多个动态可重配置标记存储器中的数据。这些数据代表了FPGA之间的互连关系或用户的特殊需求。例如,某用户可能希望给一个指定的FPGA的某个输入信号提供一个为“1”的值而不用重编译。为了达到这样的效果,TAI IP配置工具重新计算所需要的标记存储器内的值来产生这个输入值,同时把修改后的标记存储器的值写入特定的动态可重配置标记存储器。
系统调试工具集收集和分析设计和调试信息,并设置特殊的条件和信号来实时操纵用户设计的工作。在一个实施例中,系统调试工具集包括(a)一个FPGA回读工具,(b)一个SUB访问工具,(c)一个内部逻辑分析工具,(d)一个带宽分析工具,(e)一个符号/事务提取工具和(f)一个仿真链接工具。
FPGA回读工具在运行时读取指定的FPGA的内容或用户设计中指定信号的状态。FPGA回读工具可以从提供商处获得并使用提供商指定的协议,诸如JTAG或SelectMAP,来读取指定FPGA的内容。许多FPGA提供商提供工具来读取FPGA中的任一个寄存器或存储器单元的内容。在这个实施例中,当数据从FPGA回读后,FPGA回读工具把这些信息转译成信号值并映射到用户设计中的信号名和符号。通过这样的方式,就可以得到FPGA内任何信号的完全可观察性。
SUB访问工具被用来访问与SUB 107相连的用户设计中的或原型系统100中的元件。元件都被映射到地址空间,这样用SUB访问工具来访问元件就是通过发出命令,地址和数据到系统控制器102中的SUB控制器202来读或写元件中的数据。在一个实施例中,SUB 107被扩展为可以读写可扩展可重配置的原型平台103电路板中的任何元件。
内部逻辑分析仪工具为原型系统100中内嵌的逻辑分析仪设置触发条件。这个逻辑分析仪是一个下载在可扩展可重配置的原型平台103中的一个或多个FPGA里的特殊的IP(内部逻辑分析仪IP)。这个逻辑分析仪IP可以提供与传统的逻辑分析仪相同的功能。在FPGA里与TAI IP共同作用,这个逻辑分析仪IP可以提供大量信号的采样并处理大量的触发条件。在一个实施例中,这个内部逻辑分析仪工具在内嵌的逻辑分析仪IP内设置触发条件,等待触发条件或事件的发生,然后从逻辑分板仪IP中内嵌的采样存储器中读取采样到的信号数据并把相关采样数据转译成用户定义的符号的形式。在一个实施例中,这个内部逻辑分析仪工具设置一个逻辑分析仪IP内嵌的复杂的事件状态机。这个事件状态机根据采得的信号数据工作来帮助调试。内部逻辑分析仪工具与逻辑分析仪IP一起为用户提供了实时监测信号的功能(例如,在线运行模式下)而不会干扰用户设计的运行状况。
符号/事务提取工具把采样得到的信号数据解释为符号和事务级的信息。符号/事务提取工具把采样得到的信号数据映射为符号和事务并以符号的形式表现给用户。例如,在前文描述的一个总线“写操作”事务中,当符号/事务提取工具发现一个“写操作”事务的实例,一条消息被创建来提供给用户总线“写操作”事务的发生时间、“写操作”事务中写操作的地址和数据。这样的能力是有十分有价值的,比如对于固件设计者在设计和调试固件程序时。
仿真器链接工具把用户工作站101上运行的仿真器与可扩展可重配置的原型平台103里的配置的用户设计相连接来完成一个硬件/软件的协同仿真。仿真器链接工具可以通过各种现有方式来访问仿真器。比如,在一个实施例中,一个PLI或VPI接口被用来提供与Verilog仿真器的通信,一个FLI接口被用来提供与VHDL仿真的通信,一个SCEMI接口被用来提供与有SCEMI接口的仿真器的通信。仿真器链接工具也可以支持其他标准接口或用户定义的接口。
上文的详细描述说明了本发明的一些特定实施例,但本发明并不限于这些实施例。在本发明的范围内可有多种修改和替换均不超出本发明的揭露以及保护范围。

Claims (64)

1、一种用于设计和仿真用户设计的系统,包括:
(i)一个系统控制器,包括:
(a)一个与用户工作站相连的接口;
(b)一个数据通讯接口;和
(ii)一个与所述数据通讯接口相连的仿真平台,包括:
(a)多个可实现用户设计和第三方IP核的现场可编程逻辑器件;
(b)一个在运行时与用户设计交互的与目标系统连接的接口。
2、根据权利要求1所述的系统,其特征在于:所述数据通讯接口包括一配置总线。
3、根据权利要求1所述的系统,其特征在于:所述数据通讯接口包括一系统访问总线。
4、根据权利要求1所述的系统,其特征在于:所述数据通讯接口包括一时钟信号总线。
5、根据权利要求1所述的系统,其特征在于:所述与目标系统连接的接口包括源于可编程逻辑器件的可编程输入/输出终端的信号。
6、根据权利要求1所述的系统,其特征在于:所述现场可编程逻辑器件包括现场可编程逻辑门阵列。
7、根据权利要求1所述的系统,其特征在于:所述每个可编程逻辑器件被分配一个接口模块,通过接口模块实现分配给可编程逻辑器件的一部分用户设计与分配给其它可编程逻辑器件的其它部分的用户设计之间的通讯。
8、根据权利要求1所述的系统,其特征在于:所述接口模块包括:
(a)一个控制电路;和
(b)多个输入/输出单元,每个单元提供一个1比特的互连端口。
9、根据权利要求8所述的系统,其特征在于:所述每个输入/输出单元包括:
(a)动态可重配置存储器模块;
(b)一个由动态可重配置存储器模块控制的第一多路选择器,其从多个可编程逻辑器件的配置信号中选择输出到1比特互连端口的一个输出信号;
(c)多个可被动态可重配置存储器模块选中的锁存器,接收1比特互连端口的信号。
10、根据权利要求9所述的系统,其特征在于:所述动态可重配置存储器模块包括一个或多个动态可重配置存储单元。
11、根据权利要求9所述的系统,其特征在于:所述动态可重配置存储器模块还包括一个由动态可重配置存储器模块控制的第二多路选择器,所述第二多路选择器从多个输出使能信号中选择一个输出使能信号,控制缓冲器输出信号到1比特互连端口。
12、根据权利要求11所述的系统,其特征在于:所述缓冲器可呈高阻抗状态。
13、根据权利要求11所述的系统,其特征在于:所述每个输出信号对应一个输出使能信号。
14、根据权利要求8所述的系统,其特征在于:所述输出信号包括固定信号。
15、根据权利要求1所述的系统,其特征在于:多个被选可编程逻辑器件被分配给第三方IP核。
16、根据权利要求1所述的系统,其特征在于:一个或多个可编程逻辑器件被分配给一个验证用户电路功能的校验IP核。
17、根据权利要求16所述的系统,其特征在于:所述校验IP核包括一个仿真一个工业标准数据总线操作的电路。
18、根据权利要求1所述的系统,其特征在于:一个或多个可编程逻辑器件被分配一个性能分析IP核。
19、根据权利要求18所述的系统,其特征在于:所述性能分析IP核包括一个带宽分析IP核。
20、根据权利要求1所述的系统,其特征在于:所述系统还包括一个可将动态可重配置逻辑电路分配给一个被选可编程逻辑器件的配置工具。
21、根据权利要求1所述的系统,其特征在于:所述系统还包括一个可动态重配置在一个装有多个可编程逻辑器件的电路板上总线的背板配置工具。
22、根据权利要求1所述的系统,其特征在于:所述系统还包括一个系统调试工具,所述系统调试工具在运行时监测和分析可编程逻辑器件内部和多个可编程逻辑器件之间的信号。
23、根据权利要求22所述的系统,其特征在于:所述系统调试工具包括一个现场可编程门阵列回读工具。
24、根据权利要求22所述的系统,其特征在于:所述系统调试工具包括一个系统访问总线访问工具。
25、根据权利要求22所述的系统,其特征在于:所述系统调试工具包括一个内部逻辑分析工具。
26、根据权利要求25所述的系统,其特征在于:所述内部逻辑分析仪工具在一个或多个可编程逻辑器件中插入一个逻辑分析电路。
27、根据权利要求22所述的系统,其特征在于:所述系统调试工具包括一个带宽分析工具。
28、根据权利要求22所述的系统,其特征在于:所述系统调试工具包括一个符号/事务提取工具。
29、根据权利要求28所述的系统,其特征在于:所述符号/事务提取工具允许用户把一个或多个信号与符号名关联。
30、根据权利要求29所述的系统,其特征在于:所述符号/事务提取工具允许用户通过设定信号事务的方式在信号波形中设定一个包含多个信号的事务。
31、根据权利要求30所述的系统,其特征在于:所述符号/事务提取工具通过相关的符号名报告设定事务的侦测结果。
32、根据权利要求22所述的系统,其特征在于:所述系统调试工具包括一个仿真器联接工具。
33、根据权利要求32所述的系统,其特征在于:所述仿真器联接工具允许用户设计与一个在协同仿真环境下运行于用户工作站的仿真器程序交互。
34、一种仿真用户设计的方法,包括如下步骤:
提供一个系统控制器,包括:
(a)一个与用户工作站相连的接口;和
(b)一个数据通讯接口;
提供一个与所述数据通讯接口相连的仿真平台,包括:
(a)多个可实现用户设计的现场可编程逻辑器件;和
(b)一个与目标系统连接的接口,与用户设计在运行时交互;
产生一个包含用户设计和一个或多个第三方IP核的顶层模块;
综合用户设计;
把用户设计和第三方IP核分成几个区块,每个区块由一个可编程逻辑器件实现;
分配给每个可编程逻辑器件一个接口模块,通过接口模块使得在可编程逻辑器件内实现的区块被允许与在其它可编程逻辑器件内的其它区块实现通讯;
布局和布线所述区块和所述接口模块;
在可编程逻辑器件内实现被布局布线的区块。
35、根据权利要求34所述的方法,其特征在于:所述数据通讯接口包括一配置总线。
36、根据权利要求34所述的方法,其特征在于:所述数据通讯接口包括一系统访问总线。
37、根据权利要求34所述的方法,其特征在于:所述数据通讯接口包括一时钟信号总线。
38、根据权利要求34所述的方法,其特征在于:所述与目标系统连接的接口包括源于可编程逻辑器件的可编程输入/输出终端的信号。
39、根据权利要求34所述的方法,其特征在于:所述现场可编程逻辑器件包括现场可编程逻辑门阵列。
40、根据权利要求34所述的方法,其特征在于:所述接口模块包括:
(a)一个控制电路;和
(b)多个输入/输出单元,每个单元提供一个1比特的互连端口。
41、根据权利要求40所述的方法,其特征在于:所述每个输入/输出单元包括:
(a)动态可重配置存储器模块;
(b)一个受控于动态可重配置存储器模块的第一多路选择器,用于从多个可编程逻辑器件的配置信号中选择输出到1比特互连端口的一个输出信号;
(c)多个可被动态可重配置存储器模块选中的锁存器,接收1比特互连端口的信号。
42、根据权利要求41所述的方法,其特征在于:所述动态可重配置存储器模块包括一个或多个动态可重配置存储单元。
43、根据权利要求41所述的方法,其特征在于:所述动态可重配置存储器模块还包括一个由动态可重配置存储器模块控制的第二多路选择器,所述第二多路选择器从多个输出使能信号中选择一个输出使能信号,控制缓冲器输出信号到1比特互连端口。
44、根据权利要求43所述的方法,其特征在于:所述缓冲器可呈高阻抗状态。
45、根据权利要求43所述的方法,其特征在于:所述每个输出信号对应一个输出使能信号。
46、根据权利要求41所述的方法,其特征在于:所述输出信号包括固定信号。
47、根据权利要求34所述的方法,其特征在于:所述方法还包括如下步骤:为一个或多个可编程逻辑器件分配给一个验证用户电路功能的校验IP核。
48、根据权利要求47所述的方法,其特征在于:所述校验IP核包括一个仿真一个工业标准数据总线操作的电路。
49、根据权利要求34所述的方法,其特征在于:所述方法还包括如下步骤:为一个或多个可编程逻辑器件分配一个性能分析IP核。
50、根据权利要求49所述的方法,其特征在于:所述性能分析IP核包括一个带宽分析IP核。
51、根据权利要求34所述的方法,其特征在于:所述方法还包括如下步骤:提供一个可将动态可重配置逻辑电路分配给一个被选可编程逻辑器件的配置工具。
52、根据权利要求34所述的方法,其特征在于:所述方法还包括如下步骤:提供一个可动态重配置在一个装有多个可编程逻辑器件的电路板上总线的背板配置工具。
53、根据权利要求34所述的方法,其特征在于:所述方法还包括如下步骤:提供一个系统调试工具,所述系统调试工具在运行时监测和分析可编程逻辑器件内部和多个可编程逻辑器件之间的信号。
54、根据权利要求53所述的方法,其特征在于:所述系统调试工具包括一个现场可编程门阵列回读工具。
55、根据权利要求53所述的方法,其特征在于:所述系统调试工具包括一个系统访问总线访问工具。
56、根据权利要求53所述的方法,其特征在于:所述系统调试工具包括一个内部逻辑分析工具。
57、根据权利要求56所述的方法,其特征在于:在一个逻辑分析电路中包括一个或多个可编程逻辑器件。
58、根据权利要求53所述的方法,其特征在于:所述系统调试工具包括一个带宽分析工具。
59、根据权利要求53所述的方法,其特征在于:所述系统调试工具包括一个符号/事务提取工具。
60、根据权利要求59所述的方法,其特征在于:所述符号/事务提取工具允许用户把一个或多个信号与一个符号名相关联。
61、根据权利要求59所述的方法,其特征在于:所述符号/事务提取工具允许用户通过设定信号事务的方式在信号波形中设定一个包含多个信号的事务。
62、根据权利要求59所述的方法,其特征在于:所述符号/事务提取工具通过相关的符号名报告设定事务的侦测结果。
63、根据权利要求53所述的方法,其特征在于:所述系统调试工具包括一个仿真器联接工具。
64、根据权利要求63所述的方法,其特征在于:所述仿真器联接工具允许用户设计与一个在协同仿真环境下运行于用户工作站的仿真器程序交互。
CN2005101134610A 2005-02-11 2005-10-13 可扩展可重配置的原型系统及方法 Active CN1818912B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/056961 2005-02-11
US11/056,961 US7353162B2 (en) 2005-02-11 2005-02-11 Scalable reconfigurable prototyping system and method

Publications (2)

Publication Number Publication Date
CN1818912A true CN1818912A (zh) 2006-08-16
CN1818912B CN1818912B (zh) 2010-05-12

Family

ID=36793734

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2005101134610A Active CN1818912B (zh) 2005-02-11 2005-10-13 可扩展可重配置的原型系统及方法

Country Status (5)

Country Link
US (1) US7353162B2 (zh)
EP (1) EP1849070A4 (zh)
CN (1) CN1818912B (zh)
TW (1) TWI307846B (zh)
WO (1) WO2006086583A2 (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101351801B (zh) * 2005-11-30 2011-06-15 富士施乐株式会社 再构成语句的方法以及具有该功能的计算机系统
CN102214258A (zh) * 2011-06-15 2011-10-12 福州瑞芯微电子有限公司 一种针对图像处理类ip电路的验证平台
CN102222129A (zh) * 2011-05-11 2011-10-19 烽火通信科技股份有限公司 一种动态重配置仿真环境的方法
CN102411535A (zh) * 2011-08-02 2012-04-11 上海交通大学 导航SoC芯片仿真、验证和调试平台
CN102799510A (zh) * 2011-04-27 2012-11-28 Ls产电株式会社 基于可重新配置组件的plc仿真器
CN103946848A (zh) * 2011-11-22 2014-07-23 马维尔国际贸易有限公司 用于片上系统中存储器和逻辑电路的布局
CN103984791A (zh) * 2013-02-11 2014-08-13 帝斯贝思数字信号处理和控制工程有限公司 对fpga在运行时的信号值的随机访问
CN108227607A (zh) * 2016-12-14 2018-06-29 中国航空工业集团公司西安航空计算技术研究所 一种简化电路板配置电路的方法
US10311193B2 (en) 2013-02-11 2019-06-04 Dspace Digital Signal Processing And Control Engineering Gmbh Alteration of a signal value for an FPGA at runtime
CN110907857A (zh) * 2019-12-10 2020-03-24 思尔芯(上海)信息科技有限公司 一种基于fpga的连接器自动检测方法
CN110988661A (zh) * 2019-12-09 2020-04-10 思尔芯(上海)信息科技有限公司 一种fpga原型验证开发板时分分析系统、方法、介质及终端
CN112434483A (zh) * 2020-12-18 2021-03-02 国微集团(深圳)有限公司 数据传输系统的生成方法和数据传输系统

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005043617A1 (en) * 2003-10-31 2005-05-12 Semiconductor Energy Laboratory Co., Ltd. Semiconductor integrated circuit and design method thereof
KR100536293B1 (ko) * 2004-02-17 2005-12-12 박현주 칩 설계 검증 장치 및 방법
US7673264B1 (en) * 2006-04-06 2010-03-02 Virage Logic Corp. System and method for verifying IP integrity in system-on-chip (SOC) design
US7949907B2 (en) * 2006-10-03 2011-05-24 Wipro Limited Method and device for data communication
US7702840B1 (en) 2007-05-14 2010-04-20 Xilinx, Inc. Interface device lane configuration
US7573295B1 (en) * 2007-05-14 2009-08-11 Xilinx, Inc. Hard macro-to-user logic interface
US7626418B1 (en) 2007-05-14 2009-12-01 Xilinx, Inc. Configurable interface
US7557607B1 (en) 2007-05-14 2009-07-07 Xilinx, Inc. Interface device reset
US7535254B1 (en) 2007-05-14 2009-05-19 Xilinx, Inc. Reconfiguration of a hard macro via configuration registers
US8412922B2 (en) * 2007-10-24 2013-04-02 Sercomm Corporation On-site configuration of a hardware device module of a security system
US9154379B2 (en) * 2007-10-25 2015-10-06 Sercomm Corporation Remote configuration of a hardware device module of a security system
US8229723B2 (en) * 2007-12-07 2012-07-24 Sonics, Inc. Performance software instrumentation and analysis for electronic design automation
US8136065B2 (en) * 2007-12-10 2012-03-13 Inpa Systems, Inc. Integrated prototyping system for validating an electronic system design
US7908576B2 (en) * 2007-12-10 2011-03-15 Inpa Systems, Inc. Method of progressively prototyping and validating a customer's electronic system design
US7783819B2 (en) 2008-03-31 2010-08-24 Intel Corporation Integrating non-peripheral component interconnect (PCI) resources into a personal computer system
US8073820B2 (en) * 2008-04-07 2011-12-06 Sonics, Inc. Method and system for a database to monitor and analyze performance of an electronic design
JP5056644B2 (ja) * 2008-07-18 2012-10-24 富士通セミコンダクター株式会社 データ変換装置、データ変換方法及びプログラム
US8245163B1 (en) * 2008-07-23 2012-08-14 Altera Corporation Partial compilation of circuit design with new software version to obtain a complete compiled design
US20100161309A1 (en) * 2008-12-23 2010-06-24 Scaleo Chip Apparatus and Methods Thereof for Configuration and Control of a System-On-Chip Emulation Platform
US8324924B2 (en) * 2009-10-20 2012-12-04 David Scott Landoll Post-programming functional verification for programable integrated circuits
US8732650B2 (en) 2010-02-12 2014-05-20 Synopsys Taiwan Co., LTD. Method and apparatus for versatile controllability and observability in prototype system
US8839179B2 (en) 2010-02-12 2014-09-16 Synopsys Taiwan Co., LTD. Prototype and emulation system for multiple custom prototype boards
US8281280B2 (en) * 2010-02-12 2012-10-02 Springsoft, Inc. Method and apparatus for versatile controllability and observability in prototype system
US8719762B2 (en) 2010-02-12 2014-05-06 Synopsys Taiwan Co., LTD. Method and apparatus for turning custom prototype boards into co-simulation, co-emulation systems
US8395416B2 (en) * 2010-09-21 2013-03-12 Intel Corporation Incorporating an independent logic block in a system-on-a-chip
US8356272B2 (en) * 2011-05-12 2013-01-15 S2C Inc. Logic verification module apparatus to serve as a hyper prototype for debugging an electronic design that exceeds the capacity of a single FPGA
TWI459216B (zh) * 2011-09-09 2014-11-01 Iner Aec Executive Yuan 數位安全系統硬體化之方法
US9032344B2 (en) 2012-07-08 2015-05-12 S2C Inc. Verification module apparatus for debugging software and timing of an embedded processor design that exceeds the capacity of a single FPGA
CN102799509B (zh) * 2012-07-10 2014-12-10 中国科学技术大学 基于双fpga芯片的高带宽可扩展复杂逻辑验证系统
US8977637B2 (en) * 2012-08-30 2015-03-10 International Business Machines Corporation Facilitating field programmable gate array accelerations of database functions
US8949752B2 (en) 2012-12-01 2015-02-03 Synopsys, Inc. System and method of emulating multiple custom prototype boards
US9698791B2 (en) 2013-11-15 2017-07-04 Scientific Concepts International Corporation Programmable forwarding plane
US10326448B2 (en) 2013-11-15 2019-06-18 Scientific Concepts International Corporation Code partitioning for the array of devices
US9294097B1 (en) 2013-11-15 2016-03-22 Scientific Concepts International Corporation Device array topology configuration and source code partitioning for device arrays
US9639654B2 (en) * 2014-12-11 2017-05-02 International Business Machines Corporation Managing virtual boundaries to enable lock-free concurrent region optimization of an integrated circuit
EP3399425B1 (de) * 2017-05-05 2020-07-29 dSPACE digital signal processing and control engineering GmbH Verfahren zur erkennung einer verdrahtungstopologie
US10796048B1 (en) * 2017-06-16 2020-10-06 Synopsys, Inc. Adding delay elements to enable mapping a time division multiplexing circuit on an FPGA of a hardware emulator
US10282501B1 (en) * 2017-09-07 2019-05-07 Cadence Design Systems, Inc. Support for multiple user defined assertion checkers in a multi-FPGA prototyping system
CN108255657A (zh) * 2018-01-16 2018-07-06 中国北方车辆研究所 硬件可重构信号激励源及基于其实现的软件配置方法
CN109710266B (zh) * 2019-01-17 2022-02-18 郑州云海信息技术有限公司 一种异构系统中的任务处理方法、主机服务器、异构系统

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5452231A (en) * 1988-10-05 1995-09-19 Quickturn Design Systems, Inc. Hierarchically connected reconfigurable logic assembly
US5109353A (en) * 1988-12-02 1992-04-28 Quickturn Systems, Incorporated Apparatus for emulation of electronic hardware system
US5329470A (en) * 1988-12-02 1994-07-12 Quickturn Systems, Inc. Reconfigurable hardware emulation system
US5475830A (en) * 1992-01-31 1995-12-12 Quickturn Design Systems, Inc. Structure and method for providing a reconfigurable emulation circuit without hold time violations
US5425036A (en) * 1992-09-18 1995-06-13 Quickturn Design Systems, Inc. Method and apparatus for debugging reconfigurable emulation systems
US5596742A (en) * 1993-04-02 1997-01-21 Massachusetts Institute Of Technology Virtual interconnections for reconfigurable logic systems
US5680583A (en) * 1994-02-16 1997-10-21 Arkos Design, Inc. Method and apparatus for a trace buffer in an emulation system
US5761484A (en) * 1994-04-01 1998-06-02 Massachusetts Institute Of Technology Virtual interconnections for reconfigurable logic systems
WO1996013902A1 (en) * 1994-11-01 1996-05-09 Virtual Machine Works, Inc. Programmable multiplexing input/output port
US5659716A (en) * 1994-11-23 1997-08-19 Virtual Machine Works, Inc. Pipe-lined static router and scheduler for configurable logic system performing simultaneous communications and computation
GB9508932D0 (en) * 1995-05-02 1995-06-21 Xilinx Inc FPGA with parallel and serial user interfaces
US5923865A (en) * 1995-06-28 1999-07-13 Quickturn Design Systems, Inc. Emulation system having multiple emulated clock cycles per emulator clock cycle and improved signal routing
US5649176A (en) * 1995-08-10 1997-07-15 Virtual Machine Works, Inc. Transition analysis and circuit resynthesis method and device for digital circuit modeling
US5802348A (en) * 1995-12-18 1998-09-01 Virtual Machine Works, Inc. Logic analysis system for logic emulation systems
US5870410A (en) * 1996-04-29 1999-02-09 Altera Corporation Diagnostic interface system for programmable logic system development
US5748875A (en) * 1996-06-12 1998-05-05 Simpod, Inc. Digital logic simulation/emulation system
US5841967A (en) * 1996-10-17 1998-11-24 Quickturn Design Systems, Inc. Method and apparatus for design verification using emulation and simulation
US6389379B1 (en) * 1997-05-02 2002-05-14 Axis Systems, Inc. Converification system and method
US6009256A (en) * 1997-05-02 1999-12-28 Axis Systems, Inc. Simulation/emulation system and method
US6651225B1 (en) * 1997-05-02 2003-11-18 Axis Systems, Inc. Dynamic evaluation logic system and method
US6321366B1 (en) * 1997-05-02 2001-11-20 Axis Systems, Inc. Timing-insensitive glitch-free logic system and method
US6026230A (en) * 1997-05-02 2000-02-15 Axis Systems, Inc. Memory simulation system and method
US6134516A (en) * 1997-05-02 2000-10-17 Axis Systems, Inc. Simulation server system and method
US6785873B1 (en) * 1997-05-02 2004-08-31 Axis Systems, Inc. Emulation system with multiple asynchronous clocks
US5943490A (en) * 1997-05-30 1999-08-24 Quickturn Design Systems, Inc. Distributed logic analyzer for use in a hardware logic emulation system
US5960191A (en) * 1997-05-30 1999-09-28 Quickturn Design Systems, Inc. Emulation system with time-multiplexed interconnect
US6020760A (en) * 1997-07-16 2000-02-01 Altera Corporation I/O buffer circuit with pin multiplexing
US6289494B1 (en) * 1997-11-12 2001-09-11 Quickturn Design Systems, Inc. Optimized emulation and prototyping architecture
US20060117274A1 (en) * 1998-08-31 2006-06-01 Tseng Ping-Sheng Behavior processor system and method
US6947882B1 (en) * 1999-09-24 2005-09-20 Mentor Graphics Corporation Regionally time multiplexed emulation system
US6678645B1 (en) * 1999-10-28 2004-01-13 Advantest Corp. Method and apparatus for SoC design validation
US6868376B2 (en) * 2000-03-02 2005-03-15 Texas Instruments Incorporated Debug bi-phase export and data recovery
US6832185B1 (en) * 2000-03-09 2004-12-14 Quickturn Design Systems, Inc. Non-synchronous hardware emulator
US6654919B1 (en) * 2000-04-17 2003-11-25 Lsi Logic Corporation Automated system for inserting and reading of probe points in silicon embedded testbenches
GB2381910B (en) * 2000-05-11 2005-03-02 Quickturn Design Systems Inc Emulation circuit with a hold time algorithm logic analyzer and shadow memory
KR100374328B1 (ko) * 2000-06-03 2003-03-03 박현숙 칩 설계 검증 및 테스트 장치 및 방법
US6864600B2 (en) * 2001-02-09 2005-03-08 National Semiconductor Corporation Apparatus and method for providing multiple power supply voltages to an integrated circuit
US20020133325A1 (en) * 2001-02-09 2002-09-19 Hoare Raymond R. Discrete event simulator
US6754763B2 (en) * 2001-07-30 2004-06-22 Axis Systems, Inc. Multi-board connection system for use in electronic design automation
WO2003013040A1 (en) * 2001-08-02 2003-02-13 Morphics Technology, Inc. Configurable terminal engine
US20030126533A1 (en) * 2001-12-28 2003-07-03 Mcadams Mark Alan Testing of circuit modules embedded in an integrated circuit
US7127639B2 (en) * 2002-11-22 2006-10-24 Texas Instruments Incorporated Distinguishing between two classes of trace information
US7440884B2 (en) * 2003-01-23 2008-10-21 Quickturn Design Systems, Inc. Memory rewind and reconstruction for hardware emulator
US7072825B2 (en) * 2003-06-16 2006-07-04 Fortelink, Inc. Hierarchical, network-based emulation system
US7650542B2 (en) * 2004-12-16 2010-01-19 Broadcom Corporation Method and system of using a single EJTAG interface for multiple tap controllers

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101351801B (zh) * 2005-11-30 2011-06-15 富士施乐株式会社 再构成语句的方法以及具有该功能的计算机系统
CN102799510B (zh) * 2011-04-27 2014-11-12 Ls产电株式会社 基于可重新配置组件的plc仿真器
CN102799510A (zh) * 2011-04-27 2012-11-28 Ls产电株式会社 基于可重新配置组件的plc仿真器
CN102222129A (zh) * 2011-05-11 2011-10-19 烽火通信科技股份有限公司 一种动态重配置仿真环境的方法
CN102214258A (zh) * 2011-06-15 2011-10-12 福州瑞芯微电子有限公司 一种针对图像处理类ip电路的验证平台
CN102214258B (zh) * 2011-06-15 2013-03-06 福州瑞芯微电子有限公司 一种针对图像处理类ip电路的验证平台
CN102411535A (zh) * 2011-08-02 2012-04-11 上海交通大学 导航SoC芯片仿真、验证和调试平台
CN102411535B (zh) * 2011-08-02 2014-04-16 上海交通大学 导航SoC芯片仿真、验证和调试平台
CN103946848B (zh) * 2011-11-22 2017-04-12 马维尔国际贸易有限公司 一种集成电路及其系统和方法
CN103946848A (zh) * 2011-11-22 2014-07-23 马维尔国际贸易有限公司 用于片上系统中存储器和逻辑电路的布局
CN103984791A (zh) * 2013-02-11 2014-08-13 帝斯贝思数字信号处理和控制工程有限公司 对fpga在运行时的信号值的随机访问
US10083043B2 (en) 2013-02-11 2018-09-25 Dspace Digital Signal Processing And Control Engineering Gmbh Random access to signal values of an FPGA at runtime
US10311193B2 (en) 2013-02-11 2019-06-04 Dspace Digital Signal Processing And Control Engineering Gmbh Alteration of a signal value for an FPGA at runtime
CN103984791B (zh) * 2013-02-11 2019-06-25 帝斯贝思数字信号处理和控制工程有限公司 对fpga在运行时的信号值的随机访问
CN108227607A (zh) * 2016-12-14 2018-06-29 中国航空工业集团公司西安航空计算技术研究所 一种简化电路板配置电路的方法
CN108227607B (zh) * 2016-12-14 2020-06-30 中国航空工业集团公司西安航空计算技术研究所 一种简化电路板配置电路的方法
CN110988661A (zh) * 2019-12-09 2020-04-10 思尔芯(上海)信息科技有限公司 一种fpga原型验证开发板时分分析系统、方法、介质及终端
CN110988661B (zh) * 2019-12-09 2022-11-11 上海思尔芯技术股份有限公司 一种fpga原型验证开发板时分分析系统、方法、介质及终端
CN110907857A (zh) * 2019-12-10 2020-03-24 思尔芯(上海)信息科技有限公司 一种基于fpga的连接器自动检测方法
CN110907857B (zh) * 2019-12-10 2022-05-13 上海国微思尔芯技术股份有限公司 一种基于fpga的连接器自动检测方法
CN112434483A (zh) * 2020-12-18 2021-03-02 国微集团(深圳)有限公司 数据传输系统的生成方法和数据传输系统

Also Published As

Publication number Publication date
EP1849070A2 (en) 2007-10-31
WO2006086583A2 (en) 2006-08-17
TWI307846B (en) 2009-03-21
US20060184350A1 (en) 2006-08-17
TW200643751A (en) 2006-12-16
CN1818912B (zh) 2010-05-12
EP1849070A4 (en) 2010-01-20
US7353162B2 (en) 2008-04-01
WO2006086583A3 (en) 2007-11-08

Similar Documents

Publication Publication Date Title
CN1818912B (zh) 可扩展可重配置的原型系统及方法
US5812414A (en) Method for performing simulation using a hardware logic emulation system
US8607174B2 (en) Verification module apparatus to serve as a prototype for functionally debugging an electronic design that exceeds the capacity of a single FPGA
EP0437491B1 (en) Method of using electronically reconfigurable gate array logic and apparatus formed thereby
US20150040096A1 (en) Emulation-based functional qualification
US20090254525A1 (en) Method and system for a database to monitor and analyze performance of an electronic design
CN103870627A (zh) 设计及仿真系统、装置及方法
US7865346B2 (en) Instruction encoding in a hardware simulation accelerator
US8214195B2 (en) Testing in a hardware emulation environment
CN101884032B (zh) 包括并行和串行访问的片上系统的测试方法和装置
Bernardeschi et al. Accurate simulation of SEUs in the configuration memory of SRAM-based FPGAs
CN101413990A (zh) 一种现场可编程门阵列的测试方法及系统
US20090248390A1 (en) Trace debugging in a hardware emulation environment
CN103870390A (zh) 用于支持统一的调试环境的方法和装置
JP2009031933A (ja) スケーラブル再構成可能型プロトタイプシステムと方法
US7827517B1 (en) Automated register definition, builder and integration framework
Murali et al. Improved design debugging architecture using low power serial communication protocols for signal processing applications
CN103645435B (zh) 多信号模型可编程逻辑器件的软件模块可测性设计方法
Levi et al. BoardScope: A debug tool for reconfigurable systems
Grinschgl et al. Automatic saboteur placement for emulation-based multi-bit fault injection
CN116521468B (zh) 一种fpga在线调试方法及支持在线调试的fpga
US7747423B1 (en) Systems and methods of co-simulation utilizing multiple PLDs in a boundary scan chain
Hung et al. Faster FPGA debug: Efficiently coupling trace instruments with user circuitry
US11688482B2 (en) Digital circuit testing and analysis module, system and method thereof
EP1236222B1 (en) Universal hardware device and method and tools for use therewith

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
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 200001, room 812, B District, No. 668, Shanghai, Beijing East Road

Patentee after: Shanghai Guowei silcore Technology Co.,Ltd.

Address before: 200001, room 812, B District, No. 668, Shanghai, Beijing East Road

Patentee before: S2C, Inc.

CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: Room 27, Floor 6, No. 29 and 30, Lane 1775, Qiushan Road, Lingang New Area, China (Shanghai) Pilot Free Trade Zone, Pudong New Area, Shanghai, August 2012

Patentee after: Shanghai Sierxin Technology Co.,Ltd.

Address before: 200001, room 812, B District, No. 668, Shanghai, Beijing East Road

Patentee before: Shanghai Guowei silcore Technology Co.,Ltd.