可编程片上系统设计可编程片上系统设计内容概述内容概述本章主要对片上可编程系统设计技术进行了简要的介绍:在片上可编程系统概述部分介绍了软核和硬核处理器,以及片上可编程系统的发展背景和片上可编程系统技术的特点;在片上可编程系统设计方法部分介绍了片上可编程系统设计流程、通用片上可编程系统优化技术和专用片上可编程系统优化技术;在片上可编程系统芯片部分介绍了Xilinx公司支持片上可编程系统设计的主要芯片的种类和性能。可编程片上系统设计可编程片上系统设计基于现场可编程门阵列(FieldProgrammableGateArray,FPGA)的SOPC(System-on-a-chip),包含嵌入式的软核或硬核处理器、存储器和硬件加速器。SOPC的出现为设计者提供了设计高性能嵌入式系统和优化系统的条件。可编程片上系统设计可编程片上系统设计--软核及硬核处理器软核及硬核处理器SOPC嵌入式处理器分为软核和硬核处理器两类。Xilinx提供了将物理的处理其核集成到FPGA硅片上的硬核处理器产品。一个处理器使用专门的硅片实现称为硬核处理器,比如:1)Xilinx将PowerPC硬核集成到Virtex-IIPro到Virtex-5系列的FPGA芯片中。2)ARMCortex-A9硬核集成到Zynq系列的FPGA芯片中。软核处理器是通过使用FPGA的通用逻辑实现的。软核处理器通过HDL语言或网表进行描述的。软核处理器必须进行综合才能使用。可编程片上系统设计可编程片上系统设计--软核及硬核处理器软核及硬核处理器在基于软核和硬核处理器的SOPC系统中,本地存储器、处理器总线、内部外设、外设控制器和存储器控制器必须使用FPGA的通用逻辑实现。下面给出Xilinx公司的软核和硬核处理器的性能。可编程片上系统设计可编程片上系统设计--可编程片上系统技术的发展可编程片上系统技术的发展由于持续的要求嵌入式系统具有更多的功能、更好的性能和灵活性,因此传统上的设计方法已经不适应这种要求。当设计人员试图通过高性能的嵌入式处理器得到更高的性能时,遇到了吞吐量和性能方面的限制,而这种限制源于系统和结构的瓶颈,以及存储器带宽的限制。现在解决问题的方法是“专用”,即对某个嵌入式系统的应用使用专门的解决方法。比如,数字信号处理器DSP用于解决某一类专门的数字信号处理。对于一些高容量的应用,设计人员可能还需要专门开发ASIC芯片。可编程片上系统设计可编程片上系统设计--可编程片上系统技术的发展可编程片上系统技术的发展现在FPGA广泛地应用在各个领域中。因此,很多FPGA厂商将专用的嵌入式处理器Power、ARM等嵌入到了FPGA芯片中。这种集成了嵌入式处理器的FPGA芯片被定义成FPGA的平台。这种基于FPGA的嵌入式平台提供了一个灵活的解决方案。在这个解决方案中,一个单FPGA芯片上提供了大量不同的IP软核和硬核资源。这些固件和硬件可以在任何时间进行升级。这种可编程的结构特点,大大缩短了系统的开发时间,而同一平台能应用在很多领域,提高了平台的资源复用率。可编程片上系统设计可编程片上系统设计--可编程片上系统技术的发展可编程片上系统技术的发展这种结构同时还使设计人员可以优化系统吞吐量和开发周期,提供前所未有的软件和硬件协同设计的灵活性,这种灵活性主要体现在设计人员能够权衡软件和硬件设计的实现方法。这种协同性不同于传统的嵌入式系统的协同设计,虽然以前也使用软件和硬件的协同设计,但是在实现级别上基本上还是使用大量的分离的设计流程。比如,硬件设计人员制定硬件设计规范,软件设计人员制定软件设计规范。这样就导致对问题截然不同的理解,而且对设计团队提出了很高的要求。可编程片上系统设计可编程片上系统设计--可编程片上系统技术的发展可编程片上系统技术的发展更进一步的说,FPGA平台,即SOPC集成了传统的软核和硬核处理器、片上总线、大量不同的I/O设备和借口标准、定制的硬件加速处理器,以及混合的定制的总线或点对点的拓扑结构,以提高系统的性能。可编程片上系统设计可编程片上系统设计--可编程片上系统技术的发展可编程片上系统技术的发展在SOPC的层次上,FPGA的应用领域已经大大扩宽了,它不再是传统意义上用于连接不同接口设备的“连接逻辑”。由于FPGA的容量和性能不断提高,因此它...