电子说
今天陆妹给大家整理了一些FPG的知识点和FPGA的进阶路线,小本本准备好,要开始划重点喽。
FPGA工作原理
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是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。
加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。
当需要修改FPGA功能时,只需换一片EPROM即可。这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA的使用非常灵活。
FPGA常用术语
1:LCA(Logic Cell Array):逻辑单元阵列,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。
2: IOB(Input Output Block):可编程输入输出单元,为了便于管理和适应多种电器标准,FPGA的IOB被划分为若干个组(bank),每个bank的接口标准由其接口电压VCCO决定,一个bank只能有一种VCCO,但不同bank的VCCO可以不同。只有相同电气标准的端口才能连接在一起,VCCO电压相同是接口标准的基本条件。
3:CLB(Configurable Logic Block):可配置逻辑模块,是FPGA内的基本逻辑单元,每个CLB都包含一个可配置开关矩阵,此矩阵由4或6个输入、一些选型电路(多路复用器等)和触发器组成。 在赛灵思公司公司的FPGA器件中,CLB由多个(一般为4个或2个)相同的Slice和附加逻辑构成。
4:Slice:是赛灵思公司公司定义的基本逻辑单位,一个Slice由两个4输入的函数、进位逻辑、算术逻辑、存储逻辑和函数复用器组成。
5:LUT(Look-Up-Table):查找表。本质上就是一个RAM,目前FPGA中多使用4输入的LUT,所以每一个LUT可以看成一个有4位地址线的 的RAM。
6:DCM(数字时钟管理模块):提供数字时钟管理和相位环路锁定。
7:BRAM(嵌入式块RAM):块RAM可被配置为单端口RAM、双端口RAM、内容地址存储器(CAM)以及FIFO等常用存储结构。单片块RAM的容量为18k比特,即位宽为18比特、深度为1024,可以根据需要改变其位宽和深度,但要满足两个原则:首先,修改后的容量(位宽 深度)不能大于18k比特;其次,位宽最大不能超过36比特。当然,可以将多片块RAM级联起来形成更大的RAM,此时只受限于芯片内块RAM的数量,而不再受上面两条原则约束。
必须精通的5项基本功
对于FPGA设计者来说,要练好5项基本功:仿真、综合、时序分析、调试、验证,
1.、仿真:Modelsim, Quartus II(Simulator Tool)
2.、综合:Quartus II (Compiler Tool, RTL Viewer, Technology Map Viewer, Chip Planner)
3、 时序:Quartus II (TimeQuest Timing Analyzer, Technology Map Viewer, Chip Planner)
4、调试:Quartus II (SignalTap II Logic Analyzer, Virtual JTAG, Assignment Editor)
5、验证:Modelsim, Quartus II(Test Bench Template Writer)
HDL语言与FPGA设计的5项基本功是相辅相成的。虽然它不是FPGA设计的全部,但是HDL语言在FPGA的整个设计流程中都是有体现的。
对于FPGA设计者来说,用好“HDL语言的可综合子集”可完成FPGA设计中50%的工作——设计编码。练好仿真、综合、时序分析这3项基本功,对于学习“HDL语言的可综合子集”有如下帮助:
1. 通过仿真,可以观察HDL语言在FPGA中的逻辑行为。
2. 通过综合,可以观察HDL语言在FPGA中的物理实现形式。
3. 通过时序分析,可以分析HDL语言在FPGA中的物理实现特性。
同样,用好“HDL语言的验证子集”,可以完成FPGA设计另外50%的工作——调试验证。
1. 搭建验证环境,通过仿真的手段可以检验FPGA设计的正确性。
2. 全面的仿真验证可以减少FPGA硬件调试的工作量。
3.把硬件调试与仿真验证方法结合起来,用调试解决仿真未验证的问题,用仿真保证已经解决的问题不在调试中再现,可以建立一个回归验证流程,有助于FPGA设计项目的维护。
FPGA设计者的这5项基本功不是孤立的,必须结合使用,才能完成一个完整的FPGA设计流程。反过来说,通过完成一个完整的设计流程,才能最有效地练习这5项基本功。对这5项基本功有了初步认识,就可以逐个深入学习一些,然后把学到的知识再次用于完整的设计流程。如此反复,就可以逐步提高设计水平。采用这样的循序渐进、螺旋式上升的方法,只要通过培训入了门,就可以自学自练,自我提高。
FPGA设计人员的进阶路线
从技术层面来讲,可编程逻辑范围是目前和将来半导体行业最活泼的范围之一,不再是繁多地用于IC设想的原型考证,更多地用于提供集成的零碎级处置计划。古代的FPGA不再仅仅是可编程逻辑,而是介于ASIC和FPGA之间的混合芯片,包括微处置器、收发器以及很多其它单元。所以对FPGA设想职员的请求也越来越高,已超出繁多的逻辑设想范围。因而,关于FPGA初学者来讲,需求明白团体的进阶道路,进而把握疾速开拓的办法。下面给出作者团体的一些观念。
1
熟习一门硬件设想言语(VHDL或Verilog HDL),由于不论在哪种运用范围,HDL言语都是FPGA开拓的根底。目前国际运用Verilog HDL言语的开拓职员较多一些,因而引荐读者进修Verilog HDL。正因如此,本书的实例都经过Verilog HDL完成,并在附录中给出其扼要的语法阐明。
2
把握ISE Design Suit相关软件的运用办法。ISE软件能够完成设想输出、分析、仿真、完成和下载,涵盖了FPGA开拓的全进程,从中读者能够逼真领会到FPGA开拓全进程。关于嵌入式开拓职员,还需求把握EDK软件操纵。当把握软件的根本用法后,能够深化了解各工具组件,如分析工具XST、布局布线工具PAR等的运转机制,以便更好地在设想中应用其特性。
3
熟习Xilinx FPGA芯片,包括不同类型资源的功能特性和运用办法。此时,Xilinx所公布的文档是首要参考材料。Xilinx针对每个系列的FPGA都提供了丰厚而片面的文档,所以在开端任何一个系列的FPGA设想前,最好到Xilinx网站,将该系列FPGA的页面上将一切的文档都下载上去,然后有针对性的做参考。
4
参考xilinx推出的开拓板以及相应的参考设想,这是向初级进阶最有价值的局部。Xilinx在网上针对每个系列的fpga都有文档阐明,并都给出原理图。其开拓板的文档阐明十分具体具体,也很标准,有很大的参考价值。此外,在那些开拓板里也有众多的核心接口电路,根本涵盖了常用的运用场所。参考核心电路芯片的数据手册,细心领会设想的细节和运用办法。作为硬件工程师,阅读手册是一项根本技艺。当然,在具有硬件平台的根底上,参考Xilinx网上的开拓板是进阶道路中捷径的捷径。
5
入手调通一块板子。有PCB设想才干的读者,可自行设想;否则可购置相应的开拓板,将下面一切的硬件外设调通,并参照相似的开拓板,独立完成Xilinx官方的参考设想。完成这一步,就步入初级设想的大门了。
6
由于FPGA芯片以及开拓技术开展很快,因而不只要在任务中累积经历,还该当关心该行业的新技术和新意向,只要这样才干一直站在高处。
全体看来,FPGA开拓入门复杂,进阶阶段不只难度较大、所需学问面广,还是一个烦琐的任务。同时假如想从底层更深化的了解硬件设想,还需需求深沉的实际支撑。因而FPGA开拓是一条平整但十分峻峭的路。
全部0条评论
快来发表一下你的评论吧 !