通用微处理器具有良好的接口功能,便于构建可重构系统。按照MPU与FPGA之间的相互关系以及在系统中所起的作用,主要可以分为两类:MPU控制FPGA工作的可重构系统和MPU协同FPGA工作的可重构系统。
1 MPU控制FPGA工作的可重构系统
这类系统采用MPU作为系统的控制核心,在FPGA中实现控制器的外设电路功能。实质上,这是传统MPU控制系统的继承与发展,根据系统需要,在FPGA中定制实现各分立的外部设备与接口,如SRAM、键盘与显示接口以及总线的扩展等应用。
例如在某多通道超声信号高速采集处理系统中,所需处理的数据流庞大,对它的处理是计算密集型任务。采用DSP+FPGA结构模式,以FPGA作为DSP的协处理器,能够以硬件的速度进行并行计算,同时利用其在线可重构特性,灵活地改变内部逻辑配置来完成多种不同算法的任务。
由于主要控制任务在MPU上实现,系统逻辑实现的重点在编制MPU程序上,而FPGA则更多地使用IP (Intellectual Property)核实现基本功能模块,软件开发在整个系统设计过程中所占比重较大。
2 MPU协同FPGA工作的可重构系统
这类系统通常以可编程逻辑器件为核心,在其内部实现面向应用的逻辑控制功能(通常以状态机FSM实现),而MPU则占据次要地位(充当FPGA控制器的外设)。应该说,这类系统充分利用了可编程逻辑器件和MCU的特点,实现了优势互补。它主要应用在面向实时性应用、并行处理以及高速等环境中。例如,使用高密度FPGA进行多路A/D高速采样,经内部处理模块处理后,并行输出结果,整个过程的时序控制在FPGA内部实现;而MPU只负责对FPGA各功能模块的参数装载、启动命令发送及FPGA工作状态监控等外围任务。
这类系统的开发重点主要在FPGA逻辑功能的硬件实现上,而MPU的控制软件比较简单。
在实际应用中,系统的特点并不像以上两种类型这么明显,普遍存在的是兼具以上特点的系统,只是所占比重不同而已。 |