基于Nios II软核的多核处理器系统的设计与实现
码;.rodata,存放实际执行代码中所使用的常量;.rwdata,存放读写变量和指针;Heap,自动分配的空间;Stack,存放函数调用的参数和其他临时的数据。
同时在双处理器系统中,每个处理器都必须从自己的启动存储空间来启动。启动存储器和程序存储器一样也能被分区,只需在存储器上设置每个处理器的复位地址就可以。
3 系统软硬件实现
SopcBuilder是Altera公司提供的一款图形化系统设计实现工具,内嵌于Quartus II软件中。利用SopcBuilder实现的双核系统如图4所示,包括了两个Nios II软核处理器以及其他内外设,连接关系表现了系统组件如何通过Avalon总线构成一个可以工作的系统。系统配置对每个系统组件分配了基地址,以实现Avalon总线对组件的访问。
对于利用SopcBuilder生成的双核系统,通过JTAG接口下载配置到Altera的FPGA开发板上,然后在Nios II IDE中调用HAL API函数开发C 语言应用程序就可以在FPGA开发板上运行,以此来验证所设计的多核系统是否能够正确运行。本文利用Altera公司提供的例程hello_world_multi,再将其修改后,各个处理器通过交替获得Mutex的所有权,执行相同的程序,并将处理数据存储在片上共享存储器上,最终通过CPU_1的JTAG_Uart打印到Nios II IDE终端。图5为验证程序的运行结果在Nios II IDE输出窗口的打印,可以看出,两个核都能通过Mutex获得外设的控制权,表明系统配置成功且能正确运行。
结语
本文根据SOPC技术利用Quartus的SopcBuilder构建硬件平台,利用Nios II IDE运行软件程序,实验结果表明:软硬件设计正确,系统能正常运行。同时,本设计为双核以上的多核系统的设计提供了理论基础。
FPGA Nios II 双核 互斥核 RISC 201405 相关文章:
- 在采用FPGA设计DSP系统中仿真的重要性 (06-21)
- 基于 DSP Builder的FIR滤波器的设计与实现(06-21)
- 基于FPGA的快速并行FFT及其在空间太阳望远镜图像锁定系统中的应用(06-21)
- 3DES算法的FPGA高速实现(06-21)
- 用FPGA实现FFT算法(06-21)
- FPGA的DSP性能揭秘(06-16)