Verilog中,若X不是常数,data[X+ , 8]可以综合

控制芯片分为两大类,

  1. 软件编程的(如单片机,ARM,DSP)
    • 即 通用芯片
    • 单片机,是内部已经被人写好了寄存器,与或非门,外部通过汇编语言转换成机器语言,送到机器内部的逻辑门进行运算
  2. 硬件编程的(如FPGA,CPLD)
    • 硬件实现逻辑,就是给你一堆与或非门,通过编写程序,让这一堆与或非门组合实现逻辑功能

FPGA 与单片机的区别:

  • FPGA是硬件编程,单片机是软件编程 (核心区别)
  • FPGA是用空间换时间,单片机是用时间换空间。
  • FPGA可以并行执行,单片机是顺序执行
  • FPGA是硬件编程,单片机是软件编程

FPGA(现场可编程门阵列)主要是用于VLSI(超大规模集成电路)设计的,主要是数字系统,是一些逻辑电路的模块,通过可编程的布线网络来连接这些逻辑模块(可对硬件进行排列组合),从而实现不同的逻辑功能。

单片机等是通过执行程序来做事的,但FPGA不同,我们用VHDL语言编程,下载后不是让FPGA执行程序,而是通过程序改变FPGA内部电路。使FPGA变成我们设计的那种电路图,C语言等是软件语言,芯片执行的时候是一条条执行,而VHDL是硬件语言,执行的时候是并行的,就是所有的语句块同时执行。VHDL是一种语言,是一种硬件语言,可以编出我们要的电路图。FPGA是一种芯片,里面全是门电路,触发器,通过VHDL程序的要求完成门电路的连接。

fpga和vhdl的关系

fpga和vhdl的关系,就像8051单片机和c语言的关系

VHDL是FPGA编程语言的一种,进行FPGA设计时 首先用VHDL或者Verilog写源代码 ,然后用综合工具将源代码综合成网表,下一步通过布局布线工具(与FPGA具体型号相关)将综合的网表映射到具体型号的FPGA上(包括布局布线,期间加入时序约束,管脚约束),基本就是这么一个流程,一般的大厂商的开发工具都是集成了上述所有的工具,如altera的quartus ,xilinx的ISE 以及actel的libero

ww