软、硬件联合开发
软、硬件联合开发1.软、硬件联合开发综述
软、硬件联合开发主要是在FPGA设计中添加微处理器,以SOC的模式完成设计。System Generator提供了3类能够导入处理器的模块,即黑盒子模块、PicoBlaze微控制器模块以及EDK处理器模块。
由8.5.1节可以知道,黑盒子模块可以导入外部的HDL设计,因此其提供了最灵活的设计方式,可以导入任何处理器的HDL代码。所有的总线和接口可根据需要在System Generator模型设计中灵活连接,具备对处理器的完全控制能力。
PicoBlaze模块是最容易使用的,当然其灵活性也最小。Xilinx公司的PicoBlaze微控制器模块利用PicoBlaze宏实现了一个8位的嵌入式控制器,通常只需要一个块RAM来存储程序。设计人员可以通过PicoBlaze汇编语言完成设计应用。
EDK处理器模块提供了MicroBlaze处理器的接口,允许设计人员将共享存储器和其关联起来,一旦建立关联关系,MicroBlaze就可以对它实现读写控制。同样,也可以将System Generator设计通过EDK处理器接口导入到EDK工程中。导出过程会产生一个基于FSL的pcore,能被添加到任何支持FSL接口的EDK系统中。软核MicroBlaze和硬核PowerPC都具有FSL接口。
2.对EDK的支持
嵌入式设计是目前最流行的设计方向,System Generator也支持在设计中添加嵌入式处理器,通过模块“EDK Processor”将EDK设计导入到System Generator中。其主要步骤如下:
• 在设计中添加EDK Processor模块;
• 双击EDK Processor模块,在“Configure processor for”下拉框中选择“HDL netlisting”选项后,单击“Import”按键,会自动弹出选择EDK工程导入向导,其界面如图7-57所示,用户选择EDK工程的路径和相关的开发板型号即可。
图7-57 EDK设计导入设计示意图
单击“OK”按键,即可开始加载工程,并弹出图7-58的提示对话框。
图7-58 EDK设计导入过程提示对话框
• 加载完成后,在EDK Processor页面中可以看到EDK工程名、所用的处理器类型(软核的MicroBlaze和硬核PowerPC两种),如图7-58所示,单击“OK”即可完成整个嵌入式系统的加载。
图7-58-1 EDK设计处理器类型示意图
需要注意的是:目前的System Generator版本还不支持加载双核的嵌入式系统设计,嵌入式处理器的外设不能和System Generator设计冲突。例如:如果协仿真使用了以太网接口,则嵌入式处理器不能使用以太网接口。此外,如果EDK设计有修改的话,则需要重新加载。
3. 预留接口
处理器和System Generator之间交换数据的首选方法是通过共享存储器,但也可以通过在设计的顶层模块中预留处理器内部接口来完成通信。双击EDK模块,切换到“Advanced”页面,选择需要在顶层模块预留的接口,如图7-60所示。
图7-59 EDK设计导入完成后配置页面示意图
其中的端口列表列出了处理器在顶层模块中所有可用的端口信号,其中不包括时钟信号以及System Generator用来实现存储映射的接口。选中sys_rst_pin与myexternalport行的“expose”选项,可在设计中直接操作EDK处理器中的串口。此外,用户还可根据需要对预留接口重命名,具备更高的可读性。
图7-60 顶层模块预留接口示意图
页:
[1]