今天给大侠带来今天带来FPGA 之 SOPC 系列第九篇,同时也是最后一篇,SOPC 补充:altera与xilinx对比,希望对各位大侠的学习有参考价值,话不多说,上货。
本篇主要对altera和xilinx开发做了个总结,同时对SOPC做了简单的开发流程对比,可以帮助在掌握altera的SOPC开发的基础很快的学习xilinx的SOPC开发。
以下为本篇的目录简介:
9.1 开发工具对比
9.2 开发流程对比
9.1 开发工具对比
- Altera 的开发工具有Quartus II 、Sopc builder、Nios II、signal tap II、DSP Builder;
- Xilinx 的开发工具有ISE、EDK、SDK、ChipScope 、System Generator;
Quartus II 相对于ISE,都是逻辑设计软件,功能相当;
Sopc builder 相对于EDK,用来建立软核,Sopc builder 是生成bsf 文件与quartus 接口,生成ptf 文件与nios 接口,而edk 则可直接生成目标文件(bit),而且还可以用EDK 进行软件设计,也就是说EDK 可以不依赖ISE 和SDK 就可独立完成一个设计。相比之下EDK 要胜sopc builder 一筹。
Nios II 相对于SDK,两者功能相当,而且界面相似度达到99%。用SDK 进行软件开发比
在EDK 中还是要好一些,界面比EDK 中的友好。
signal tap II 相对于ChipScope,嵌入式逻辑分析仪,方便调试;DSP Builder 相对于SystemGenerator 用来建立DSP 的算法模块。
9.2 开发流程对比
ALTERA 的SOPC 开发流程:
硬件设计
首先,通过QUARTUS II 建立工程,新建一个Block Diagram/Schematic File 文件;
再打开SOPC Builder 建立CPU 系统,添加IP,点击Genenater 生成.bsf 和.ptf 目标文件;再回到QUARTUS II,将bsf 文件导到入Schematic 中,分配引脚,编译生成sof 和pof 文件。硬件设计算是完成。
软件设计
打开nios II,新建工程,select target hardware 为前面生成的pft 文件,建立软件程序,编译生成elf 文件。
下载调试
先通过JTAG 接口下载sof 文件(硬件),再下载elf 文件查运行或debug。
固化
通过AS 接口下载POF 文件,再通过JTAG 下载ELF 文件。
硬件设计
打开EDK,建立CPU 系统,添加IP,点击update bitstream,生成硬件bit 流文件。
软件设计
方式一、在EDK 里添加C 代码,将软件与硬件合成一个bit 文件,这样程序在片内运行,适合于比较小的程序。
方式二、在EDK 里添加C 代码,硬件生成bit 文件,软件生成elf 文件,bit 下载到片内,elf 下载到片外。
方式三、在SDK 里进行软件设计,同样生成elf 文件,界面比edk 的要友好。
下载调试与固化
如果软件与硬件合成了一个bit 文件,则只需要下载和固化mcs(bit 转化而来)文件了。如果软件比较大,则需要分两次下载,bit 下载到片内,elf 下载到片外,若要固化到flash 里,则还需要在edk 里添加bootloader 代码,将其与硬件合成一个bit 文件。再将bit 转化为mcs后固化到FPGA 配置芯片里,elf 文件下载到片外flash 里。
从开发流程来看, EDK 可以不依赖ISE 就能完成SOPC 的设计,当然它也可以像altera 那样,将cpu 软核导入到ise 中去。由此看来,xilinx 的开发流程更加的灵活,相比altera 要强大。
FPGA 之 SOPC 系列第九篇就到这里结束,本系列也更新到此,后续有时间再给各位大侠继续更新相关内容,祝各位大侠一切安好,有缘再见!
END
后续会持续更新,带来Vivado、 ISE、Quartus II 、candence等安装相关设计教程,学习资源、项目资源、好文推荐等,希望大侠持续关注。
大侠们,江湖偌大,继续闯荡,愿一切安好,有缘再见!