由于FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。
加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。当需要修改FPGA功能时,只需换一片EPROM即可。这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA的使用非常灵活。
2.4 FPGA的设计方法
一般用到的FPGA的设计方法有“自顶向下”和“自下而上”这两种。到目前为止大规模FPGA设计经常所采用的设计方法是“自顶向下”的设计方法。所谓“自顶向下”设计方法就是采用可以完全独立于芯片厂商以及他们的产品结构的描述语言,在功能级设计上对设计的产品进行定义,然后再结合其功能仿真技术,最后确保对产品的设计的正确性,在对其功能定义完成后,利用逻辑综合技术,把功能描述转换成某一含有具体结构芯片的网表文件,输出最后要给厂商的布局布线器再进行布局布线。布局布线的结果还可以返回同一仿真器,进行包括时序和功能的后验证,以此来保证因为布局布线所带来的门延时和线延时不会影响到设计的性能。
“自顶向下”的优越性是比较显而易见的。第一,因为它的功能描述可以完全独立于芯片结构,在进行设计的最初阶段,设计师完全可以不受芯片结构的约束,集中全部精力对产品进行设计,因此可以避免了传统设计方法所带来的重新再设计风险,在最大限度上缩短了设计周期。第二,设计的再利用得到了保证。目前的电子产品正在向着模块化方向发展。所谓模块化就是对以往设计得成果进行修改、组合和再利用,产生全新的或派生设计。而“自顶向下”的功能描述可与芯片结构无关。因此,可以以一种IP(Intelligence Property 知识产权)的方式进行存档,方便将来的重新利用。第三,在设计规模上大大提高。简单的语言描述就可以完成复杂的功能,且不需要手工绘图。最后,在芯片的选择上更加灵活。设计师可在较短的时间内采用所能见到的各种结构芯片来完成同一功能描述,从而在设计规模、速度、芯片价格及系统性能要求等方面进行平衡,选择最佳结果。目前最为常用的功能描述方法是采用均已成为国际标准的两种硬件描述语言VHDL和Verilog HDL。本课题使用的为VHDL。
2.5 FPGA的选择
2.5.1 Altera Cyclone FPGA系列简介
Altera的Cyclone FPGA系列具有可编程逻辑的优势,价格足以和ASIC以及ASSP相竞争。从根本上针对数百名客户的大量信息进行设计开发,这些低成本器件具备了大批量应用特性,例如嵌入式存储器、外部存储器接口和时钟管理电路等。
Altera Cyclone FPGA是目前市场上性价比最优且价格最低的FPGA。Cyclone器件具有为大批量价格敏感应用优化的功能集,这些应用市场包括消费类、工业类、汽车业、计算机和通信类。
器件基于成本优化的全铜1.5V SRAM工艺,容量从2910至20060个逻辑单元,具有多达294912bit嵌入RAM。Cyclone FPGA支持各种单端I/O标准如LVTTL、LVCMOS、PCI和SSTL-2/3,通过LVDS和RSDS标准提供多达129个通道的差分I/O支持。每个LVDS通道高达640Mbps。Cyclone器件具有双数据速率(DDR) SDRAM和FCRAM接口的专用电路。Cyclone FPGA中有两个锁相环(PLLs)提供751个输出和层次时钟结构,以及复杂设计的时钟管理电路。这些业界最高效架构特性的组合使得FPGA系列成为ASIC最灵活和最合算的替代方案。 基于FPGA的LCD驱动设计+电路图(4):http://www.751com.cn/zidonghua/lunwen_17892.html