博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Altera 与 Xilinx开发环境对比
阅读量:5309 次
发布时间:2019-06-14

本文共 1561 字,大约阅读时间需要 5 分钟。

倒底是Altera的FPGA好,还是 Xilinx的FPGA好,其实这个问题还真不好怎么回答,两家都是全球最大的FPGA供应商,而且用量都很广。本人用过cyclone和spartan系列的FPGA,现就开发工具及开发流程对这两家FPGA进行对比。

一、           开发工具

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相对于System Generator用来建立DSP的算法模块。由于没用过ChipScope和System Generator,所以不做分析。

二、           开发流程

先说说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文件。

 

再看看xilinx 的sopc开发流程

硬件设计

打开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要强大。

转载于:https://www.cnblogs.com/lifan3a/articles/4635298.html

你可能感兴趣的文章
VMware中CentOS设置静态IP
查看>>
[poj1006]Biorhythms
查看>>
jsp
查看>>
Hyper-V虚拟机上安装一个图形界面的Linux系统
查看>>
Hover功能
查看>>
js千分位处理
查看>>
Mac---------三指拖移
查看>>
关于VMare中安装Ubuntu的一些说明
查看>>
字符串类型的相互转换
查看>>
HTTP状态码
查看>>
iOS如何过滤掉文本中特殊字符
查看>>
python - wmi模块学习(windwos硬件信息获取)
查看>>
Maven------使用maven新建web项目出现问题 项目名称出现红色交叉
查看>>
基础学习:C#中float的取值范围和精度
查看>>
Akka-Cluster(3)- ClusterClient, 集群客户端
查看>>
MongoDB-CRUD
查看>>
javaagent 简介
查看>>
python升级安装后的yum的修复
查看>>
Vim配置Node.js开发工具
查看>>
web前端面试题2017
查看>>