1. 基础概念
1.1 CPU软核与硬核
简单来说
CPU硬核就是在FPGA上的一颗硬件结构固定并且用户不能对其结构进行任何更改、只能进行编程控制的芯片。
CPU软核则是FPGA上本来不存在这样的硬件结构,用户可根据硬件描述语言利用NIOS Ⅱ软核搭建出一个CPU。
1.2 SOC和SOPC
SOC(System on Chip),片上系统,它是指在单个芯片上集成一个完整的系统,一般包括芯片控制逻辑块、微处理器/微控制器内核模块、数字信号处理器模块、存储器或存储器控制模块、各种协议接口模块、含有ADC/DAC的模拟前端模块、电源及功耗管理模块,是一个高度集成电路。
SOC FPGA是在同一个芯片上集成FPGA和HPS(Hardware Processor System)系统,嵌入的是 ARM 公司 32 位的 Cortex-A9 硬核处理器,使其即拥有了ARM处理器灵活高效的数据运算和事物处理能力,同时又集成了FPGA的高速并行处理优势。
SOPC(System On a Programmable Chip)是在FPGA上使用FPGA的可编程逻辑资源和嵌入式存储器资源搭建一个软核CPU系统,由该软核 CPU 实现所需处理器的完整功能,由FPGA 通用逻辑资源和存储器通过配置实现的,其本质依旧只是一个复杂的 FPGA 设计模块。
2. SOPC开发流程
3.流程实践
参考资料:Nios那些事儿,爱上FPGA开发——特权和你一起学NIOS2
参考实验:流水灯实验
Hello World