FPGA的原理和设计
今天,数字电子系统的设计方法及设计手段都发生了根本性变化,正由分立数字电路向可编程逻辑器件(PLD,ProgrammableLogic Device)及专用集成电路(ASIC,Application Specific IntegratedCircuit)转变。FPGA与CPLD(Programmable LogicDevice,复杂可编程逻辑器件)都属于PLD的范畴,它们在现代数字系统设计中正占据越来越重要的地位。
FPGA是由用户编程来实现所需逻辑功能的数字集成电路,它不仅具有设计灵活、性能高、速度快等优势,而且上市周期短、成本低廉。FPGA设计与ASIC前端设计十分类似,在领域中FPGA应用日益普及,已成为集成电路中最具活力和前途的产业。同时,随着设计技术和制造工艺的完善,器件性能、集成度、工作频率等指标不断提升,FPGA已越来越多地成为系统级芯片设计的首选。
FPGA由PAL(可编程阵列逻辑)、GAL(通用阵列逻辑)发展而来,其基本设计思想是借助于EDA开发工具,用原理图、状态机、布尔表达式、硬件描述语言等方法进行系统功能及算法描述,设计实现并生成编程文件,最后通过编程器或下载用目标器件来实现。
FPGA器件采用逻辑单元阵列(LCA,Logic CellArray)结构、SDRAM工艺,其中LCA由三类可编程单元组成。
(1)可配置逻辑块(CLB,Configurable LogicBlock):被称为核心阵列,是实现自定义逻辑功能的基本单元,散布于整个芯片;
(2)输入/输出模块(IOB,Input/OutputBlock):排列于芯片四周,为内部逻辑与器件封装引脚之间提供可编程接口;
(3)可编程互连资源(PI,Programmable Interconnect):包括不同长度的连线线段及连接,其功能是将各个可编程逻辑块或I/O块连接起来以构成特定电路。
全球生产FPGA的厂家很多,但影响力最大的是Xilinx公司和Altera公司,世界上第一片FPGA是在20世纪80年代中期Xilinx公司率先推出的。不同厂家生产的FPGA在可编程逻辑块的`规模、内部互连线结构及所采用的可编程元件上存在较大差异,实际使用时应注意区分
FPGA设计包括描述层次及描述领域两方面内容。通常设计描述分为6个抽象层次,从高到低依次为:系统层、算法层、寄存器传输层、逻辑层、电路层和版图层。对每一层又分别有三种不同领域的描述:行为域描述、结构域描述和物理域描述。
系统层是系统最高层次的抽象描述,针对于电子系统整体性能。算法层又称为行为层,它是在系统级性能分析和结构划分后对每个模块的功能描述。算法层所描述的功能、行为最终要用数字电路来实现。而数字电路本质上可视为由寄存器和组合逻辑电路组成,其中寄存器负责信号存储,组合逻辑电路负责信号传输。寄存器传输层描述正是从信号存储、传输的角度去描述整个系统。寄存器和组合逻辑本质上是由逻辑门构成,逻辑层正是从逻辑门组合及连接角度去描述整个系统。
FPGA各个描述层次及综合技术关系如图1所示。传统的综合工具是将寄存器传输级(RTL)的描述转化为门级描述。随着以行为设计为主要标志的新一代系统设计理论的不断成熟,能够将系统行为级描述转化为RTL描述的高层次综合技术不断涌现。
作为现代集成电路设计的重点与热点,FPGA设计一般采用自顶向下、由粗到细、逐步求精的方法。设计最顶层是指系统的整体要求,最下层是指具体的逻辑电路实现。自顶向下是将数字系统的整体逐步分解为各个子系统和模块,若子系统规模较大则进一步分解为更小的子系统和模块,层层分解,直至整个系统中各子模块关系合理、便于设计实现为止。
相關文章
-
如何配置PHP使之能同时支持GIF,PNG和JPEG
安装蓝点Linux 2.0后,小编希望希望同时支持GIF,PNG和JPEG。经过尝试,终于做到了,下面是我的简单步骤 ,我将按照由底向上的顺序介绍,即Jpeg->GD->PHP->Apache。 1、当前状态查看安装蓝点Linux 2.0后,Keel,MySQL,Apache未做 -
FPGA系统设计黄金法则
FPGA系统设计是工程师每天工作都会用到的软件,那么下面的FPGA系统设计黄金法则对工程师来说是很有必要掌握的。一起来看看吧! 一.面积与速度的平衡互换原则这里的面积指的是FPGA的芯片资源,包括逻辑资源和I/O资源等; -
vhdl在FPGA设计中的应用
集成电路设计规模及复杂度不断增大,用传统原理图方法进行系统级芯片设计已不能满足设计要求,而硬件描述语言(HDL,HardwareDescriptionLanguage)在进行大规模数字系统设计时具有诸多优势,因此利用硬件描述语言进行系统行为 -
FPGA设计优化及方案改进
在FPGA设计中,必须首先明确HDL源代码编写非常重要;不同综合工具包含的综合子集不同致使有些HDL语句在某些综合工具中不能综合;同一逻辑功能可用不同HDL语句进行描述,但占用资源却可能差别很大。同时应当深刻理解并发性 -
PHP语法规则和flags
导语:在写程序时,一定要掌握了基本语法规则,才能保证准确。下面是关于PHP的语法规则和flags,欢迎参考 【RewriteCond语法:】RewriteCondTestStringCondPatte[flags]rewritecond的其他用法:‘-d’(目录)将TestString视为 -
美国GAAP和IFRS的主要区别
Generally Accepted Accounting Principles是一般公认会计原则,1937年美国会计程序委员会(CAP)发表第一号会计研究公告,开创了由政府机关或行业组织颁布"一般通用会计"的先河。下面小编准备了关于美国GAAP和IFRS的主要 -
linux中pagbuffer和cache的区别
Page cache和buffer cache一直以来是两个比较容易混淆的概念,在网上也有很多人在争辩和猜想这两个cache到底有什么区别,讨论到最后也一直没有一个统一和正确的结论,在我工作的这一段时间,page cache和buffer cache的概念 -
FilmsandTVProgrammes教案设计
Fils and TV Prgraes教案Perid 3 Graar 2; Functin; Everda English整体设计教材分析This perid cntains three parts, that is, Graar 2, Functin and Everda English. Graar 2 dealsThe Easter Ties Ecnics 30 Minu -
Happy Dragon Boat Festival英语作文
This moing,as we all know,this is a special day___our Chinese national we go out of home, and began to preper for somthing for the day.There were so many people with smiles on their faces in the had -
如何设计Landing Page以迅速提升转化率
网页设计主要以Adobe产品为主,常见的工具包括FW、PS、FL、DW、CDR、AI等。那么大家知道如何设计Landing Page以迅速提升转化率呢?下面一起来看看!一、什么是着陆页?广义来说,着陆页是用户进入你的网站的起始或入口页面,