随着消费电子、物联网等领域的不断发展,用户需求也越来越复杂和多样,因此我们在嵌入式系统设计中必须选择合适的处理器(SoC)系统,当然我们也需要考虑成本、功耗、性能、I/O资源等方面,但是随着实践案例的增多FPGA越来越成为嵌入式系统设计的主流选择。
Xilinx作为可编程逻辑器件(FPGA)的行业领导者提供了丰富的器件和简捷的开发工具,下面从以下几方面向大家介绍:
FPGA/SoC:最早我们都采用的是纯FPGA设计,利用FPGA的资源实现软核处理器比如Microblaze、Picoblaze等,现在Xilinx推出了Zynq SoC和Zynq UltraScale+ MPS oC系列,它们集成的是硬核处理器(双核ARM Cor te x-A9 CPU或者Quad-A53+Dual-R5 GPU),这不仅带来了性能、功耗、性价比方面的改进,同时也减小的PCB尺寸;
功耗:Xilinx Zynq UltraScale+ MPSoC系列在之前纯FPGA器件的基础上的确进行了非常大的改进,它支持多种电源模式:Full-Power模式;Low-Power模式;Sleep模式,DRAM暂停;Power-Off模式,提供丰富灵活的 电源管理 方案,在性能和功耗两者之间灵活的切换;
模拟量处理:早在Virtex系列上就集成了ADC功能,但是这只限于监测器件内部的模拟量,比如电压、温度等。之后再7系列上集成了两个1Msamples/sec@12-bits ADC模块,支持内部和外部模拟量的采集,Zynq UltraScale+ RFSoC则集成了更高性能的ADCs/DACs模块:4Gsamples/sec@12 bits ADCs / 6. 5G samples/sec@14 bits DACs,可应用于15G、雷达等领域。
安全方面:我们都知道FPGA的启动文件时比特流(bitstream)形式,Xilinx Zynq-7000 SoC和Zynq UltraScale+ MPSoC都支持加密的比特流,加载到处理器后进行安全解密启动。
开发工具:对于工程师来讲最重要的还是开发工具,好用的开发工具可以事半功倍。与Xilinx Zynq 7000系列同时推出的Vivado工具集成了丰富的功能:IP integrator(I PI )是一款图形化的IP设计插件;HLS(High Level Synthesis,高层次综合)支持工程师使用C/C++语言生成HDL功能代码。此外SDSoC则是一个完整的系统、软件和硬件设计工具,支持完全采用C/C++语言实现嵌入式系统软硬件功能开发,SDAccel则是一款基于OpenCL开发框架的设计工具。
由此可见FPGA/SoC供应商已经花费大量的精力来优化器件并且完善开发工具,使它们更易于应用到嵌入式系统设计中,同时我们的学习过程也会比过去更容易,在不远的将来FPGA/SoC将会获得更广泛的应用。