
作为FPGA新人,对FPGA学习肯定会有很多问题,像FPGA是什么?FPGA怎么学?FGPA用什么语言之类的,前两者我们专门发文章讨论过,今天我们重点谈一谈FPGA用什么编程语言。
经常看到不少人在论坛里发问,FPGA是不是用C语言开发的?国外有些公司专注于开发誉洞解决编译器这闷虚磨方面问题,目的让其能够达到用C语言替代VHDL语言的目的,也开发出了一些支持用c语言对FPGA进行编程的开发工具。但在使用多的FPGA编程语言还是verilog和VHDL语言,一般不使用C语言进行编程。
FPGA可以用VHDL语言和VERILOG语言进行编程开发,目前欧洲前者用的多,而,美国,日本则更多的使用后者,而且后者和C语言比较的接近,如果你对C比较熟悉的话,可以选择使用VerilogHDL语言,基本语法和C非常相似,而且也非常灵活,VHDL语言则相对来说比较严谨。
其实两种语言的差别并不大,他们的描述能力也是类似的。掌握其中一种语言以后,可以通过短期的学习,较快的学会另一种语言。选择何种语言主要还是看周围人群的使用习惯,这样可以方便日后的学习交流。当然,如果您是专用集成电路(ASIC)设计人员,则必须首先掌握verilog,因为在IC设计领域,90%以上的公司都是采用verilog进行IC设计。对于PLD/FPGA设计者而言,两种语言可以自由选择。
设计人员通过计算机对HDL语言进行逻辑仿真和逻辑综合,方便高效地设计数字电路及其产品。
相对而言,欧洲方面多用VHDL,特蚂斗点是逻辑严谨、慎密。而verilog则是美国用的较多,特点是语法上更灵活一些。两者在语法构成方面都差别不大,一般都是通用的。VHDL编写的程序可能看上去会臃肿一些但是对于后续的调试和修改会更方便一些。
FPGA用什么编程语言呢?verilog和VHDL,这里给初学者的建议是:从VHDL入手,进阶兼顾Verlilog,相互对比着学习,更有利于程序的理解和编写。
FPGA是英文Field Programmable Gate Array的缩写,即现场可编程门阵列,它是在PAL、GAL、EPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个新概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。FPGA的基本特点主要有:
1)采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片。 --2)FPGA可做其它全定制或半定制ASIC电路的中试样片。
3)FPGA内部有丰富的触发器和I/O引脚。
4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。
5) FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。
可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。
目前FPGA的品种很多,悄枝有XILINX的XC系列、TI公司的TPC系列、ALTERA公司的FIEX系列等。
FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。
加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。当需要修改FPGA功能时,只需换一片EPROM即可。这样,同一片FPGA,不同的编程数据,可以产生不裂运缓同的电路功能。因此,FPGA的使用非常灵活。
FPGA有多种配置模式:并行主模式为一片FPGA加一片EPROM的方式;肆模主从模式可以支持一片PROM编程多片FPGA;串行模式可以采用串行PROM编程FPGA;外设模式可以将FPGA作为微处理器的外设,由微处理器对其编程。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)