硬件开发相关工具、名词备忘

集成开发环境:xilinx ise、altera quartusⅡ(带编辑器、综合工具、下载工具)
仿真工具:modelsim

个人理解,FPGA的应用场景是一种可编程硬件。举例来说,如果我们发布了一款软件,过了一段时间有用户反馈要增加新功能,我们直接修改增添相应的代码即可。而如果我们发布了一款芯片,该芯片可以实现特定的硬件功能,比如加减法,过一段时间要在硬件上实现乘法,如果我们使用的是FPGA,则可以直接对原硬件进行编程、修改即可,大大减少了硬件开发和迭代的时间。

PGA简单的说,就是现场可编程逻辑阵列。它的内部是逻辑单元,它们之间可以用线连接,至于以怎样的形式相连,则可以根据应用者写入的逻辑决定。每次布线都会重新组合逻辑单元,从而可以任意的编写不同的逻辑。当然,前提是定义的逻辑块不超出它可读写的最大值。

通常我们在为业务提供解决方案的时候,部署平台会有四种选择CPU、GPU、FPGA、ASIC。

(成本与灵活性)FPGA能够执行 ASIC 能够执行的任何逻辑功能。FPGA 的独特优势在于芯片制造完成之后,还能更新芯片功能,这在许多应用都是理想需求。FPGA 比 ASIC 更具成本效益,这是因为能够按照自身需求对 FPGA 进行编程。

(设计时间风险的降低与速度)现在最快的 FPGA 已经能够直接与上一代 ASIC 竞争。另外, FPGA 不仅降低了设计工作量,而且极大减少了风险。使用 FPGA 将缩短您的设计时间,降低发生设计错误的风险,并且总体拥有成本低于 ASIC。对于多数应用而言, FPGA 的功耗将能满足您的需要。

FPGA开发的流程,就是通过verilog/VHDL等硬件描述语言,经过EDA工具编译、综合、布局布线成为下载文件,最终加载到FPGA器件中去,完成所实现的功能。

FPGA提供一个实现设计的平台,而ASIC是将这个平台上你的设计中没有使用的功能去掉后的一个你的专门定制的设计逻辑。

SIC和SoC具有高性能、低功耗的优势,但它们包含的任何算法——除了那些在软件内部处理器内核执行的——其余都是“冻结的”。所以这个时候我们就需要现场可编程门阵列(FPGA)了。

原文地址:https://www.cnblogs.com/zhouliyan/p/9450229.html