通信
1、FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
2、CPLD(Complex Programmable Logic Device)复杂可编程逻辑器件,是从PAL和GAL器件发展出来的器件,相对而言规模大,结构复杂,属于大规模集成电路范围。是一种用户根据各自需要而自行构造逻辑功能的数字集成电路。其基本设计方法是借助集成开发软件平台,用原理图、硬件描述语言等方法,生成相应的目标文件,通过下载电缆(“在系统”编程)将代码传送到目标芯片中,实现设计的数字系统。
3、FPGA和CPLD的区别:
①CPLD更适合完成各种算法和组合逻辑,FPGA更适合于完成时序逻辑。换句话说,FPGA更适合于触发器丰富的结构,而CPLD更适合于触发器有限而乘积项丰富的结构。
②CPLD的连续式布线结构决定了它的时序延迟是均匀的和可预测的,而FPGA的分段式布线结构决定了其延迟的不可预测性。
③在编程上FPGA比CPLD具有更大的灵活性。CPLD通过修改具有固定内连电路的逻辑功能来编程,FPGA主要通过改变内部连线的布线来编程;FPGA可在逻辑门下编程,而CPLD是在逻辑块下编程。
④FPGA的集成度比CPLD高,具有更复杂的布线结构和逻辑实现。
⑤CPLD比FPGA使用起来更方便。CPLD的编程采用E2PROM或FASTFLASH技术,无需外部存储器芯片,使用简单。而FPGA的编程信息需存放在外部存储器上,使用方法复杂。
⑥CPLD的速度比FPGA快,并且具有较大的时间可预测性。这是由于FPGA是门级编程,并且CLB之间采用分布式互联,而CPLD是逻辑块级编程,并且其逻辑块之间的互联是集总式的。
⑦在编程方式上,CPLD主要是基于E2PROM或FLASH存储器编程,编程次数可达1万次,优点是系统断电时编程信息也不丢失。CPLD又可分为在编 程器上编程和在系统编程两类。FPGA大部分是基于SRAM编程,编程信息在系统断电时丢失,每次上电时,需从器件外部将编程数据重新写入SRAM中。其 优点是可以编程任意次,可在工作中快速编程,从而实现板级和系统级的动态配置。
⑧CPLD保密性好,FPGA保密性差。
⑨一般情况下,CPLD的功耗要比FPGA大,且集成度越高越明显。
随著复杂可编程逻辑器件(CPLD)密度的提高,数字器件设计人员在进行大型设计时,既灵活又容易,而且产品可以很快进入市常许多设计人员已经感受到 CPLD容易使用。时序可预测和速度高等优点,然而,在过去由于受到CPLD密度的限制,他们只好转向FPGA和ASIC。现在,设计人员可以体会到密度 高达数十万门的CPLD所带来的好处。
Verilog HDL和VHDL的区别
近 10 年来, EDA 界一直在对数字逻辑设计中究竟用哪一种硬件描述语言争论不休,目前在美国,高层次数字系统设计领域中,应用 Verilog 和 VHDL 的比率是
80 %和 20 %;日本和台湾和美国差不多;而在欧洲
VHDL 发展的比较好。在中国很多集成电路设计公司都采用 Verilog
Altera和xilinx
首先最直观的,Xilinx的FPGA贵,Altera的比较便宜,所以低端的芯片用Altera比较合适;
其次我觉得主要在开发工具上(硬件接触相对较少),先说结论我觉得ISE和Vivado要比quartus好很多;
ISE是全代码开发风格,方便大规模系统的开发,Quartus既有图形界面开发方式又有代码的开发方式,感觉更容易入门,但并不适合大规模系统开发;
开发流程上来讲,虽然FPGA基本上都是综合,MAP,ROUTE的流程,但是ISE每个流程报告更加详细,感觉也更加规范,quartus基本上只是给出结果;
静态时序分析这块,ISE也有更为详细的时序分析报告;
Xilinx现在已经不更新ISE了,但是自顶向下VHDL开发还是首选ISE作为开发工具,Vivado在FPGA的开发流程以及时序分析这块都有了比较大的改变,之前一个项目过程中也记录了一些Vivado相关的东西,欢迎来访http://blog.csdn.net/celery1124;
Xilinx最近强推Vivado以及HLS,在开发工具上下了很大功夫,Altera这边也推出了opencl开发的SDK,但是总感觉Altera在开发工具这块没有Xilinx那么用力;
最后说说细节方面的东西,quartus有bug至今未解决,就是源文件IP核放在非工程根目录下的时候,仿真会出问题(用第三方仿真工具),quartus这么多年都没有大变化,希望被intel收了之后有更强的软件开发团队来帮忙。
评论里面提到文档在补充一点关于文档方面的,Altera的风格是一个文档里面包含所有的东西,Xilinx则是分的比较开,关于器件的primitive library,DSP,BRAM,IO都有单独的文档详细说明,IP的文档也是分开的,两家各有各的优势,但个人还是偏爱Xilinx的文档,感觉更详细一些。
最后,两家FPGA都在向异构架构发展,Xilinx主推ARM+FPGA的架构,新的ultrascale MPSOC更是配有4核A53,Mail400 GPU,cortex-R5实时处理器;Altera也出过ARM的SOC,但是现在被intel收了会不会投入x86怀抱还是未知数,目前其发展路线图并不如Xilinx那么清晰