SOPC (System on a Programmable Chip) 即可编程片上系统,把整个系统放到一块硅片上,是一种特殊的嵌入式系统,具有灵活的设计方式,可裁减、可扩充、可升级,并具备软硬件在系统可编程的功能。
3.1 开发工具
Xilinx 公司提供了FPGA开发工具EDK(Embedded Development Kit),它带有大量可配置可定制的IP核,可以大大提高设计的效率,使设计者把主要精力放在设计系统架构上,能很方便的对FPGA进行模块化的重构和裁剪,提高设计的灵活性,减少了外围器件,符合SOPC的思想。
3.2 SOPC的总体构成
SOPC系统构建完成后的框图如图4所示,其中PowerPC405是已经固化在FPGA内部的硬核,工作频率设为300MHz,配置时要选择cache选项,否则运行嵌入式Linux会很慢。PowerPC405通过PLB(Process Local Bus)总线核和各个IP模块互联构建了一个完整的SOPC系统。
MPMC (Multi-Port Memory Controller)是DDR2内存控制器的IP核,它最多可以接八个数据端口,这样的好处是多个设备都可以通过各自的端口共享内存,本论文使用了四个端口:port0和port1都通过plb总线连接在PowerPC上,分别用于传输指令和数据,port2端口采用的是NPI(Native Port Interface)接口,用于接收A/D模块传输过来的用户数据,port3采用SDMA (Soft Direct Memory Access)接口,通过locallink总线和千兆网IP核相连。在对MPMC配置时要根据内存的型号、大小等实际参数来设置。
用命令make 40x/ virtex4_defconfig载入ML405开发板的内核配置,再用make menuconfig打开内核定制图形界面进行裁剪和定制,使满足自己的特定需求,需要选上TCP/IP协议。如果需要调试就要把串口驱动 xilinx uartlite serial port support选上。这样才能使用RS2323作为超级终端。保存配置后用make zImage命令就可以生成内核镜像文件了。