一,ZYNQ移植软核的原理
FPGA规模巨大而且功能复杂,因此设计的每一个部分都从头开始是不切实际的。一种解决的办法是:对于较为通用的部分可以重用现有的功能模块,而把主要的时间和资源用在设计中的那些全新的、独特的部分。这就像是你在开发应用程序的时候就不用直接去写驱动物理硬件的代码,而是直接调用Windows提供的API就行了。 这种功能模块我们称作IP核(Intelligent Property) ,IP核是具有知识产权核的集成电路芯核总称,是经过反复验证过的、具有特定功能的宏模块,与芯片制造工艺无关,可以移植到不同的半导体工艺中。到了SOC 阶段,IP 核设计已成为ASIC 电路设计公司和FPGA 提供商的重要任务,也是其实力体现。对于FPGA 开发软件,其提供的IP 核越丰富,用户的设计就越方便,其市场占用率就越高。
以ARM架构为例,透过ARM架构,需要先了解处理器内部组成、该架构支持的指令集,用verilog一步一步实现处理器软核时序的设计,动手完成一款RISC 软核处理器的设计。另一方面,在自己设计的处理器上运行程序,并移植到FPGA中实现。使用keil 开发环境编译得到ARM 机器码,把该机器码和软核处理器作为modelsim输入,验证处理器与期望功能的一致性。将ARM处理器移植到FPGA 上进行验证,使软件程序在FPGA软核上运行,在电脑端显示结果。
软核(Soft IP Co