将处理器集成入FPGA的整合之道
时间:08-27
来源:互联网
点击:
需要使用元件的原理图
如果拥有一个支持原理图/HDL混合设计输入方式的设计环境,但没有能够置放于原理图中的合适现成的FPGA元件,也就没有多大的意义了。作为一个“FPGA-可即用”元件,其在原理图上的表示符号必须有一个与之相对应的器件型号或内核,这个型号或内核要能在目标FPGA中例证说明。在FPGA和ASIC设计中,这些可即用的硅晶元件通常被称为IP内核(虚拟元件)。
要设计一个元件分离的嵌入式系统,工程技术人员采用分销商可随时供货的现成元件就可以了。 但要设计并运行一个FPGA平台上开发的嵌入式系统,搜寻具有相应功能的元件会是很困难的。IP内核是可集成入整个系统设计的HDL源文件。然而要找到、购买并获得这类IP的专利使用权是非常耗费时间且困难的事情。而且,以HDL形式提供的IP必须作为整体设计的一部分进行合成并加以验证。由于要花时间将IP写入系统HDL描述中去,因而会进一步拖长开发的时间。
立即可用的 IP元件库
若干个IP元件库作为整个系统的一个组成部分集合在Nexar中,以作为原理图输入过程中所需的部件被随时调用。这些元件并非像其他许多基于方框图的FPGA设计工具所提供的,只是一些简单的低阶布尔门栅。另外还有很多不同的复杂处理器内核和高阶外部器件,如:CAN控制器、VGA 控制器、计时器以及存储元件等。这些元件库再配合一套全面的原理图输入环境,可为在FPGA上进行基于处理器的系统设计提供很大的便利。
所提供的库元件并非源级HDL,而更多的是好多种不同目标FPGA架构进行预先合成和验证的。进行系统合成时,合适指标的低阶元件排线表列被当做黑盒子通过合成引擎,并同系统连接信息一起传给FPGA厂商的布局及布线工具以便进行FPGA内部整合。由于只需要对元件块和用HDL格式生成的各种胶合逻辑功能的连接状况进行安排,系统级的合成工作可以很快地开始进行。而且,由于设计的主要部分 — 内含IP元件已经通过了验证,因而没有必要再进行大量的HDL级仿真来对电路功能的运作状况进行验证。
将各种处理器内核和外设部件封装入预先合成的模块之中,不仅能够降低系统集成工作的复杂程度,而且还提供了一种能直观反映与工程技术人员目前所采用的基于元件的设计方式相类似的设计流程。这种IP提供方式还使系统元件可适用于不同的FPGA部件架构,这让Nexar系统设计可在各种零部件和任何一家FPGA厂商的产品之间轻松实现转移。
嵌入式软件开发
所有以处理器为主体的电子设计都需要配备软件来实现其相应的功能。而要开发这类软件,工程技术人员必须有一种可与处理器相匹
配的编译器。
采用嵌入式代码的产品一般都需要在实时环境中工作,且硬件资源通常都很有限 (包括存储器),在这种情况下,嵌入式开发工具就必须能够提供高质量、小体积的代码,且有必要针对处理器进行优化配置,并能支持交互式的调试工作。
为满足嵌入式软件设计工具的这些基本需要,Nexar集成了多个嵌入式编译器和调试器(基于Altium公司的TASKING嵌入式软件开发技术)以用于所供IP元件处理器内核的开发。不仅如此,Nexar还包含了一套全面集成硬件开发环境的完整软件开发系统,以便用于构建整个系统的软硬件能够同步开发。
运用Nexus嵌入式处理器调试接口标准(IEEE-ISTO 5001-1999),可实现与嵌入到FPGA中的处理器进行通信。由Nexar提供的所有处理器内核都针对这一标准而专门设计,并且可提供广泛的片上调试功能。这为在系统中运作的处理器内核实现全面的源级调试提供了可能。Nexar提供的各种编译器都以Altium公司最尖端的Viper编译器的框架为基础构建,并针对预先备好的内核进行了特别的优化配置,以确保可提供高质量的代码。
设计验证
工程技术人员在设计嵌入式系统时,采用的都是一些分立的、基本没有进行过系统仿真的现成元件。他们宁愿通过构建一个试制的原型来调试系统,并交替使用嵌入式软件调试工具和测试仪器来进行测试,比如逻辑分析仪。然而一旦嵌入式系统元件集成入FPGA之中,要想用实际的仪器探查和监测电路就不再可能了。
对FPGA设计进行原型试制已不是什么新概念,目前市面上已有很多种这样的FPGA开发线路板件。但是要想借助一个较大型设计的试制原型,在FPGA开发线路板上对电路的运行状况进行测试是根本不可能的。 传统的FPGA开发板件只是用于将FPGA上用途单一的元器件看做是独立于系统而进行设计和测试的, 而并非用做对嵌入式系统进行整体测试的。
要想获得一个能够对整个基于系统的微处理器进行设计、调试的FPGA开发系统,工程技术人员需要一个真正的执行平台,而不仅仅是一个开发线路板。Nexar中最重要的组成部分就是一个名为NanoBoard的硅晶元件电路实验板, 它可让工程技术人员在产品开发期间以交互的方式进行真正的物理设计,并为实现交互式的系统级调试和验证提供了便利。 由于与Nexar软件环境保持了一致性,工程技术人员能够在NanoBoard开发与试验环境下,在目标FPGA中集成并运行基于处理器的嵌入式系统, 实现硬件和嵌入式代码的交互式编译、下载和调试。
这种“burn & learn”的方法可提高设计的迭代周期,并加快设计验证的步伐,同时由于这是软件实际应用于硬件中执行工作的,工程技术人员能够非常肯定地证实设计确实可以工作,而不是应用仿真的方法看看设计是否应该可以工作。
要想将这种“burn & learn”的方法付诸于工作当中,工程技术人员需要能够知道到底在FPGA中会出什么问题。Nexar内含一组可在原理图状态下放置入设计的“虚拟仪器”,这使得可以掌握一切。一旦设计在NanoBoard上进行,工程技术人员就可以通过Nexar环境与这些虚拟仪器进行通信,以达到测试和监测电路性能的目的。
这些虚拟仪器不仅能够模拟并提供与其实现设备一样的功能,而且可以用交互的方法对在FPGA中工作的电路进行测试。采用JTAG边界扫描技术的这种仪器可提供一个FPGA内部实时视图, 在一步步进行电路运行时,可对信号状态进行观测。与仪器的通信和设计的调试工作都可采用Nexus调试协议来进行。Nexar还可以借助边界扫描提供一个反映电路运作期间,FPGA各接脚的信号状态的瞬态图。通过边界扫描获得的数值又可映射到原来的原理图中,以便显示调试过程中任一阶段各个信号线的状况或总线的数值。虚拟仪器和部件边界扫描的配合使用不仅能够获得电路运行的各项综合性信息,而且还为在系统级状态下实现软硬件的交互式调试提供了方便。
如果拥有一个支持原理图/HDL混合设计输入方式的设计环境,但没有能够置放于原理图中的合适现成的FPGA元件,也就没有多大的意义了。作为一个“FPGA-可即用”元件,其在原理图上的表示符号必须有一个与之相对应的器件型号或内核,这个型号或内核要能在目标FPGA中例证说明。在FPGA和ASIC设计中,这些可即用的硅晶元件通常被称为IP内核(虚拟元件)。
要设计一个元件分离的嵌入式系统,工程技术人员采用分销商可随时供货的现成元件就可以了。 但要设计并运行一个FPGA平台上开发的嵌入式系统,搜寻具有相应功能的元件会是很困难的。IP内核是可集成入整个系统设计的HDL源文件。然而要找到、购买并获得这类IP的专利使用权是非常耗费时间且困难的事情。而且,以HDL形式提供的IP必须作为整体设计的一部分进行合成并加以验证。由于要花时间将IP写入系统HDL描述中去,因而会进一步拖长开发的时间。
立即可用的 IP元件库
若干个IP元件库作为整个系统的一个组成部分集合在Nexar中,以作为原理图输入过程中所需的部件被随时调用。这些元件并非像其他许多基于方框图的FPGA设计工具所提供的,只是一些简单的低阶布尔门栅。另外还有很多不同的复杂处理器内核和高阶外部器件,如:CAN控制器、VGA 控制器、计时器以及存储元件等。这些元件库再配合一套全面的原理图输入环境,可为在FPGA上进行基于处理器的系统设计提供很大的便利。
所提供的库元件并非源级HDL,而更多的是好多种不同目标FPGA架构进行预先合成和验证的。进行系统合成时,合适指标的低阶元件排线表列被当做黑盒子通过合成引擎,并同系统连接信息一起传给FPGA厂商的布局及布线工具以便进行FPGA内部整合。由于只需要对元件块和用HDL格式生成的各种胶合逻辑功能的连接状况进行安排,系统级的合成工作可以很快地开始进行。而且,由于设计的主要部分 — 内含IP元件已经通过了验证,因而没有必要再进行大量的HDL级仿真来对电路功能的运作状况进行验证。
将各种处理器内核和外设部件封装入预先合成的模块之中,不仅能够降低系统集成工作的复杂程度,而且还提供了一种能直观反映与工程技术人员目前所采用的基于元件的设计方式相类似的设计流程。这种IP提供方式还使系统元件可适用于不同的FPGA部件架构,这让Nexar系统设计可在各种零部件和任何一家FPGA厂商的产品之间轻松实现转移。
嵌入式软件开发
所有以处理器为主体的电子设计都需要配备软件来实现其相应的功能。而要开发这类软件,工程技术人员必须有一种可与处理器相匹
配的编译器。
采用嵌入式代码的产品一般都需要在实时环境中工作,且硬件资源通常都很有限 (包括存储器),在这种情况下,嵌入式开发工具就必须能够提供高质量、小体积的代码,且有必要针对处理器进行优化配置,并能支持交互式的调试工作。
为满足嵌入式软件设计工具的这些基本需要,Nexar集成了多个嵌入式编译器和调试器(基于Altium公司的TASKING嵌入式软件开发技术)以用于所供IP元件处理器内核的开发。不仅如此,Nexar还包含了一套全面集成硬件开发环境的完整软件开发系统,以便用于构建整个系统的软硬件能够同步开发。
运用Nexus嵌入式处理器调试接口标准(IEEE-ISTO 5001-1999),可实现与嵌入到FPGA中的处理器进行通信。由Nexar提供的所有处理器内核都针对这一标准而专门设计,并且可提供广泛的片上调试功能。这为在系统中运作的处理器内核实现全面的源级调试提供了可能。Nexar提供的各种编译器都以Altium公司最尖端的Viper编译器的框架为基础构建,并针对预先备好的内核进行了特别的优化配置,以确保可提供高质量的代码。
设计验证
工程技术人员在设计嵌入式系统时,采用的都是一些分立的、基本没有进行过系统仿真的现成元件。他们宁愿通过构建一个试制的原型来调试系统,并交替使用嵌入式软件调试工具和测试仪器来进行测试,比如逻辑分析仪。然而一旦嵌入式系统元件集成入FPGA之中,要想用实际的仪器探查和监测电路就不再可能了。
对FPGA设计进行原型试制已不是什么新概念,目前市面上已有很多种这样的FPGA开发线路板件。但是要想借助一个较大型设计的试制原型,在FPGA开发线路板上对电路的运行状况进行测试是根本不可能的。 传统的FPGA开发板件只是用于将FPGA上用途单一的元器件看做是独立于系统而进行设计和测试的, 而并非用做对嵌入式系统进行整体测试的。
要想获得一个能够对整个基于系统的微处理器进行设计、调试的FPGA开发系统,工程技术人员需要一个真正的执行平台,而不仅仅是一个开发线路板。Nexar中最重要的组成部分就是一个名为NanoBoard的硅晶元件电路实验板, 它可让工程技术人员在产品开发期间以交互的方式进行真正的物理设计,并为实现交互式的系统级调试和验证提供了便利。 由于与Nexar软件环境保持了一致性,工程技术人员能够在NanoBoard开发与试验环境下,在目标FPGA中集成并运行基于处理器的嵌入式系统, 实现硬件和嵌入式代码的交互式编译、下载和调试。
这种“burn & learn”的方法可提高设计的迭代周期,并加快设计验证的步伐,同时由于这是软件实际应用于硬件中执行工作的,工程技术人员能够非常肯定地证实设计确实可以工作,而不是应用仿真的方法看看设计是否应该可以工作。
要想将这种“burn & learn”的方法付诸于工作当中,工程技术人员需要能够知道到底在FPGA中会出什么问题。Nexar内含一组可在原理图状态下放置入设计的“虚拟仪器”,这使得可以掌握一切。一旦设计在NanoBoard上进行,工程技术人员就可以通过Nexar环境与这些虚拟仪器进行通信,以达到测试和监测电路性能的目的。
这些虚拟仪器不仅能够模拟并提供与其实现设备一样的功能,而且可以用交互的方法对在FPGA中工作的电路进行测试。采用JTAG边界扫描技术的这种仪器可提供一个FPGA内部实时视图, 在一步步进行电路运行时,可对信号状态进行观测。与仪器的通信和设计的调试工作都可采用Nexus调试协议来进行。Nexar还可以借助边界扫描提供一个反映电路运作期间,FPGA各接脚的信号状态的瞬态图。通过边界扫描获得的数值又可映射到原来的原理图中,以便显示调试过程中任一阶段各个信号线的状况或总线的数值。虚拟仪器和部件边界扫描的配合使用不仅能够获得电路运行的各项综合性信息,而且还为在系统级状态下实现软硬件的交互式调试提供了方便。
FPGA 仿真 Altium 电子 嵌入式 电路 编码器 VHDL Verilog 虚拟仪器 总线 PCB 相关文章:
- 基于FPGA的片上系统的无线保密通信终端(02-16)
- 基于Virtex-5 FPGA设计Gbps无线通信基站(05-12)
- 基于FPGA的DVI/HDMI接口实现(05-13)
- 基于ARM的嵌入式系统中从串配置FPGA的实现(06-09)
- 采用EEPROM对大容量FPGA芯片数据实现串行加载(03-18)
- 赛灵思:可编程逻辑不仅已是大势所趋,而且势不可挡(07-24)