欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    FPGA设计与应用教学.ppt

    • 资源ID:53147159       资源大小:696.50KB        全文页数:73页
    • 资源格式: PPT        下载积分:11.9金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要11.9金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    FPGA设计与应用教学.ppt

    FPGA设计与应用设计与应用第第1 1章章 FPGA FPGA概述概述 1.1 1.1 FPGAFPGA的发展历程的发展历程的发展历程的发展历程 1.3 FPGA1.3 FPGA的设计方法的设计方法的设计方法的设计方法 1.2 FPGA1.2 FPGA的基本原理的基本原理的基本原理的基本原理 1.4 FPGA1.4 FPGA的设计流程的设计流程的设计流程的设计流程 1.5 1.5 1.5 1.5 总结与结论总结与结论总结与结论总结与结论 FPGA设计与应用设计与应用1.1 1.1 FPGAFPGA的发展历程的发展历程的发展历程的发展历程 可编程逻辑器件可编程逻辑器件可编程逻辑器件可编程逻辑器件(PLD)(PLD)(PLD)(PLD)可可可可编编编编程程程程逻辑阵逻辑阵逻辑阵逻辑阵列列列列(PLA)(PLA)(PLA)(PLA)可可可可编编编编程程程程阵阵阵阵列列列列逻辑逻辑逻辑逻辑(PAL)(PAL)(PAL)(PAL)Xilinx Xilinx Xilinx Xilinx的的的的FPGAFPGAFPGAFPGAAlteraAlteraAlteraAltera的的的的CPLDCPLDCPLDCPLD早期FPGAFPGA设计与应用设计与应用1.2 FPGA1.2 FPGA的基本原理的基本原理的基本原理的基本原理 基于查找表的基于查找表的FPGA的基本结构及逻辑实现原理的基本结构及逻辑实现原理 FPGA的配置应用的配置应用 基于乘积项的基于乘积项的FPGA的基本结构及逻辑实现原理的基本结构及逻辑实现原理 FPGA设计与应用设计与应用1.2 FPGA1.2 FPGA的基本原理的基本原理的基本原理的基本原理 基于查找表的基于查找表的FPGA的基本结构及逻辑实现原理的基本结构及逻辑实现原理 查找表(查找表(Look Up TableLook Up Table,LUTLUT)本质上就是一个)本质上就是一个RAMRAM。目前。目前FPGAFPGA中多中多使用使用4 4输入的输入的LUTLUT,所以每一个,所以每一个LUTLUT可以看成一个有可以看成一个有4 4位地址线的位地址线的161161的的RAMRAM。当用户通过原理图或。当用户通过原理图或HDLHDL语言描述了一个逻辑电路以后,语言描述了一个逻辑电路以后,FPGAFPGA开发开发软件会自动计算逻辑电路的所有可能的结果,并把结果事先写入软件会自动计算逻辑电路的所有可能的结果,并把结果事先写入RAMRAM。这。这样,每输入一个信号进行逻辑运算就等于输入一个地址进行查表,找出样,每输入一个信号进行逻辑运算就等于输入一个地址进行查表,找出地址对应的内容,然后输出即可。地址对应的内容,然后输出即可。FPGA设计与应用设计与应用1.2 FPGA1.2 FPGA的基本原理的基本原理的基本原理的基本原理 基于乘积项的基于乘积项的FPGA的基本结构及逻辑实现原理的基本结构及逻辑实现原理 这种这种FPGA的结构可分为三块:宏单元的结构可分为三块:宏单元(Macrocell)、可编程连线()、可编程连线(PIA)和)和I/O控制块。控制块。宏单元是器件的基本结构,由它来实现基本的逻辑宏单元是器件的基本结构,由它来实现基本的逻辑功能;可编程连线负责信号传递,连接所有的宏单功能;可编程连线负责信号传递,连接所有的宏单元;元;I/O控制块负责输入输出的电气特性控制,比如控制块负责输入输出的电气特性控制,比如可以设定集电极开路输出,摆率控制,三态输出等。可以设定集电极开路输出,摆率控制,三态输出等。INPUT/GCLK1,INPUT/GCLRn,INPUT/OE1,INPUT/OE2是全是全局时钟、清零和输出使能信号,局时钟、清零和输出使能信号,这几个信号有专用连线与器件中这几个信号有专用连线与器件中每个宏单元相连,信号到每个宏每个宏单元相连,信号到每个宏单元的延时相同并且延时最短。单元的延时相同并且延时最短。FPGA设计与应用设计与应用1.3 FPGA1.3 FPGA的设计方法的设计方法的设计方法的设计方法 FPGA的常用设计方法包括的常用设计方法包括“自顶向下自顶向下”和和“自下而上自下而上”,目前大规模目前大规模FPGA设计一般选择设计一般选择“自顶向下自顶向下”的设计方法。的设计方法。所谓所谓“自顶向下自顶向下”设计方法设计方法,简单地说简单地说,就是采用可完全独立于芯片厂商及就是采用可完全独立于芯片厂商及其产品结构的描述语言其产品结构的描述语言,在功能级对设计产品进行定义在功能级对设计产品进行定义,并结合功能仿真技术并结合功能仿真技术,以以确保设计的正确性确保设计的正确性,在功能定义完成后在功能定义完成后,利用逻辑综合技术利用逻辑综合技术,把功能描述转换成某把功能描述转换成某一具体结构芯片的网表文件一具体结构芯片的网表文件,输出给厂商的布局布线器进行布局布线。布局布输出给厂商的布局布线器进行布局布线。布局布线结果还可反标回同一仿真器线结果还可反标回同一仿真器,进行包括功能和时序的后验证进行包括功能和时序的后验证,以保证布局布线以保证布局布线所带来的门延时和线延时不会影响设计的性能。所带来的门延时和线延时不会影响设计的性能。FPGA设计与应用设计与应用1.4 FPGA1.4 FPGA的设计流程的设计流程的设计流程的设计流程 第一步:按照第一步:按照“自顶向下自顶向下”的设计方法进行系统划分。的设计方法进行系统划分。第二步:输入第二步:输入VHDL/Verilog HDL代码代码 第三步:将以上的设计输第三步:将以上的设计输入编译成标准的入编译成标准的VHDL/Verilog HDL文件,文件,然后将文件调入然后将文件调入HDL仿真仿真软件进行功能仿真软件进行功能仿真 第四步:利用综合器对源代码进行综合优化处理,生成门级描述的网表文件 第五步:如果整个设计超出器件的宏单元或I/O单元资源,可以将设计划分到多片同系列的器件中。第六步:将试配器产生的器件编程文件通过编程器或下载电缆载入到目标芯片FPGA中 FPGA设计与应用设计与应用 FPGAFPGA是近几年集成是近几年集成电电路中路中发发展最快的展最快的产产品。本章主要品。本章主要对对FPGAFPGA的的发发展展历历程、程、结结构原理和构原理和设计设计方法与流程做了介方法与流程做了介绍绍。随着可。随着可编编程程逻辑逻辑器件的高速器件的高速发发展,可展,可编编程程逻辑逻辑器件将器件将进进一步一步扩扩大其大其领领地。据地。据IC InsightsIC Insights的数据的数据显显示,可示,可编编程程逻逻辑辑器件市器件市场场从从19991999年的年的2929亿亿美元增美元增长长到到20042004的的5656亿亿美元,几乎翻了一番。可美元,几乎翻了一番。可编编程程逻辑逻辑器件将器件将继续继续向着更高密度和更大容量方向向着更高密度和更大容量方向迈进迈进。1.5 1.5 1.5 1.5 总结与结论总结与结论总结与结论总结与结论 FPGA设计与应用设计与应用第第2 2章章 硬件描述语言入门硬件描述语言入门 2.1 2.1 VHDLVHDLVHDLVHDL入门入门入门入门 2 2.3 .3 总结与结论总结与结论总结与结论总结与结论 2 2.2 .2 Verilog HDLVerilog HDLVerilog HDLVerilog HDL入门入门入门入门 FPGA设计与应用设计与应用2.1 2.1 VHDLVHDLVHDLVHDL入门入门入门入门 VHDL的模块组织的模块组织 基本的数据类型及常量、变量、信号基本的数据类型及常量、变量、信号 运算符及表达式运算符及表达式 VHDL基本语句基本语句 典型电路的设计典型电路的设计 FPGA设计与应用设计与应用2.1 2.1 VHDLVHDLVHDLVHDL入门入门入门入门 VHDL的模块组织的模块组织 在在应应用用VHDLVHDL描述数字系描述数字系统结统结构构时时,我,我们们使用使用实实体(体(entityentity)-结结构体构体(architecture)(architecture)结结构。构。实实体描述了数字系体描述了数字系统统的的输输入入输输出接口,同出接口,同时还时还定定义义了一些全局常量了一些全局常量以及与其他以及与其他电电路(程序模路(程序模块块或或逻辑图逻辑图模模块块)之)之间间必要必要连连接的拓扑接的拓扑结结构。构。但在但在实实体中,我体中,我们们并不并不对电对电路的路的逻辑逻辑做任何描述,可将其看成是一个所做任何描述,可将其看成是一个所谓谓的的逻辑逻辑“黑盒子黑盒子”。很明。很明显显,VHDLVHDL遵循遵循EDAEDA解决方案中自解决方案中自顶顶向下的向下的设计设计原原则则,并能,并能够够保持良好的接口兼容性。保持良好的接口兼容性。FPGA设计与应用设计与应用2.1 2.1 VHDLVHDLVHDLVHDL入门入门入门入门 基本的数据类型及常量、变量、信号基本的数据类型及常量、变量、信号 数据类型 VHDL标准数据类型包括整数(INTEGER)、实数(REAL)、位(BIT)、位矢量(BIT_VECTOR)、标准逻辑(STD_LOGIC)、标准逻辑矢量(STD_LOGIC_VECTOR)、布尔量(BOOLEAN)、字符(CHARACTER)、字符串(STRING)及时间(TIME)类型。为了给设计者提供自由度和灵活性,VHDL语言允许用户自定义数据类型,命令为:TYPE 数据类型名,数据类型名 IS 数据类型定义 常量 常量在设计中不会发生变化,可以增加程序的可读性,书写格式为:CONSTANT 常量名,常量名:数据类型:=表达式;例如:CONSTANT WAIT:TIME:=20ns;CONSTANT LEN:INTEGER:=16;变量 变量作用是对数据进行暂时存储,书写格式为:VARIABLE 变量名,变量名:数据类型:=表达式;例如:VARIABLE rd_en:STD_LOGIC:=1;VARIABLE cnt:INTEGER;在变量说明中,可以直接赋给变量初始值,也可以不赋初始值,如果没赋初始值,它默认为变量数据类型的最小值。信号 在电路中,连线将元器件连接起来组成系统,在VHDL语言中,信号就起着连线的作用,书写格式为:SIGNAL 信号名,信号名:数据类型:=表达式;例如:SIGNAL wr_en:STD_LOGIC:=0;SIGNAL num1,num2:STD_LOGIC_VECTOR(7downto 0);FPGA设计与应用设计与应用2.1 2.1 VHDLVHDLVHDLVHDL入门入门入门入门 运算符及表达式运算符及表达式 VHDL基本语句基本语句 典型电路的设计典型电路的设计 VHDL语言的运算符有四类:逻辑运算符、算术运算符、并置运算符和关系运算符 传统的设计方式,设计者在他的CAD工作站上以基本的电路组件来组织并构成一个完整的逻辑功能,这些最基本的电路组件如AND逻辑门、OR逻辑门或缓存器在CAD工作站的屏幕中以线条和图案来表示,每个组件都必须清楚定义输出入信号和功能。在VHDL的语言中,这种所谓的SYMBOL不复存在,VHDL以实体的描述来表示一个传统线路中的SYMBOL。本节中主要通过例子程序使读者初步理解VHDL的语法构成,书中介绍的是一个加法器完整的VHDL语句描述,包括注释、库文件说明、实体、结构体、进程语句、条件语句、例化语句等。2个4位输入信号a和b,进位输入cin,输出4位结果sum,输出向下一极进位信号cout,整个程序都由组合逻辑实现。FPGA设计与应用设计与应用Verilog HDL的模块组织的模块组织 基本的数据类型及常量、变量、信号基本的数据类型及常量、变量、信号 运算符及表达式运算符及表达式 Verilog HDL基本语句基本语句 典型电路的设计典型电路的设计 2 2.2 .2 Verilog HDLVerilog HDLVerilog HDLVerilog HDL入门入门入门入门 FPGA设计与应用设计与应用2 2.3 .3 总结与结论总结与结论总结与结论总结与结论 这一章我们主要学习了一些这一章我们主要学习了一些HDLHDL语言的基本语法与我们以往学习的语言的基本语法与我们以往学习的C C语言语言等、等、PASCALPASCAL等都有相似之处,要注意的是在学习中要有意识地把等都有相似之处,要注意的是在学习中要有意识地把HDLHDL语言的语言的语句与硬件结构模块联系起来,通过理解物理意义,牢牢掌握。语句与硬件结构模块联系起来,通过理解物理意义,牢牢掌握。FPGA设计与应用设计与应用第第3 3章章 简单电简单电路的路的HDLHDL设计设计 3.1 3.1 基本组合逻辑运算基本组合逻辑运算基本组合逻辑运算基本组合逻辑运算 3 3.4 4 总结与结论总结与结论总结与结论总结与结论 3 3.2 .2 基本时序器件基本时序器件基本时序器件基本时序器件寄存器寄存器寄存器寄存器 3 3.3 3 基本简单数学运算基本简单数学运算基本简单数学运算基本简单数学运算 FPGA设计与应用设计与应用3 3.1 1 基本组合逻辑运算基本组合逻辑运算基本组合逻辑运算基本组合逻辑运算 与运算与运算 或运算或运算 异或运算异或运算 与非运算与非运算 2 2选选1 1多路选择器多路选择器 两位比较器两位比较器 FPGA设计与应用设计与应用3 3.2 2 基本时序器件基本时序器件基本时序器件基本时序器件寄存器寄存器寄存器寄存器 D D触发器触发器 T T触发器触发器 J-KJ-K触发器触发器 时序器件时序器件移位寄存器移位寄存器 FPGA设计与应用设计与应用3 3.3 3 基本简单数学运算基本简单数学运算基本简单数学运算基本简单数学运算 4 4位加法器位加法器 逐位进位加法器逐位进位加法器 超前进位加法器超前进位加法器进位选择加法器进位选择加法器 输入数据同比特位进行运算时,都要等待前一比特的进位信号状态完成(建议:用在位数不超过16位的加法器)。对于多位逐位进位加法器来说,也可采用流水方式改善性能。输入数据同比特位进行运算时,不需要等待前一比特的进位信号。实现速度比较快,但资源占用也比较大。建议使用在16位加法器上比较合适。对于位数较多的也可采用流水方式。由三个加法器组成,一个计算低字节;两个计算高字节。计算高字节的加法器一个令进位为1,另一个令进位为0。三部分同时计算,最后,低字节的进位选择是哪一个高字节器的输出。对于位数较多的加法器,性能的提高比较明显,但资源相对占用较多。FPGA设计与应用设计与应用3 3.3 3 基本简单数学运算基本简单数学运算基本简单数学运算基本简单数学运算 4 4位计数器位计数器 逐位逐位进进位位计计数器数器 格雷格雷码码逐位逐位计计数器数器 流水式超前进位计数器流水式超前进位计数器 逐位进位计数器的特点是:每一位都要等前一位的进位输出有效后才开始变化,每一位模块之间用进位信号连接起来(推荐使用长度不超过16位)。应用逐位进位计数器的原理,并在其基础上加以改进,因为采用格雷码进行计数,每个状态变化时,只有1位信号发生改变,减少了毛刺现象的发生。应用超前进位计数器的基本原理加以改进,使用流水技术,减少了进位信号的传输延时,大大提高了系统效率。FPGA设计与应用设计与应用3 3.3 3 基本简单数学运算基本简单数学运算基本简单数学运算基本简单数学运算 4 4位乘法器位乘法器 组组合合逻辑实现逻辑实现的乘法器的乘法器 移位相加乘法器移位相加乘法器 查查找表乘法器找表乘法器 移位相加乘法器实现简单,它的基本设计思想就是采用一种称之为迭代的方式,根据乘数的每一位是否为1进行计算,若为1则将被乘数移位相加,这种实现方式使得在乘法计算中,每算出一乘积项就加到乘积中,此时的积称作部分积。通过对部分积的逐步移位完成乘积项与乘数的位对齐相加,直至得出结果。这种方法硬件资源耗用较少,但一个4位乘法需要4个周期才能得到结果,速度比较慢,也可采用这种思想,用全逻辑实现,但延时较大。因此,在高速的应用系统中,一般不采用该方法。查找表乘法器的基本设计思路就是将乘积直接存放在存储器中,将操作数(乘数和被乘数)作为地址访问存储器,得到的输出数据就是乘法运算的结果。加法器加法器树树乘法器乘法器 加法器树结合了移位相加乘法器和查找表乘法器的优点。事实上,从下面的示意图可看出,它采用了并行处理的架构,所以其速度快,由于主要采用与门逻辑实现逻辑功能,所以其资源耗费也较少。FPGA设计与应用设计与应用3 3.4 4 总结与结论总结与结论总结与结论总结与结论 数字系统往往由数据通路和控制通路组成,本章主要数字系统往往由数据通路和控制通路组成,本章主要从从RTLRTL级对组成数字系统的基本模块进行讲解,可以说掌级对组成数字系统的基本模块进行讲解,可以说掌握了这部分内容,就可以完成一些简单的数字系统的设握了这部分内容,就可以完成一些简单的数字系统的设计了。计了。FPGA设计与应用设计与应用第第4 4章章 FPGAFPGA的同步的同步设计设计4.1 4.1 4.1 4.1 同步的定义同步的定义同步的定义同步的定义 4.4 4.4 4.4 4.4 中央允许产生器中央允许产生器中央允许产生器中央允许产生器 4.2 4.2 4.2 4.2 同步部件同步部件同步部件同步部件 4.3 4.3 4.3 4.3 状态产生状态产生状态产生状态产生 4.7 4.7 4.7 4.7 异步接口异步接口异步接口异步接口 4.5 4.5 4.5 4.5 同步清除同步清除同步清除同步清除 4.6 4.6 4.6 4.6 时钟歪斜的清除时钟歪斜的清除时钟歪斜的清除时钟歪斜的清除 4.8 4.8 4.8 4.8 总结与结论总结与结论总结与结论总结与结论 FPGA设计与应用设计与应用4 4.1 1 同步的定义同步的定义同步的定义同步的定义 对于静态同步设计,对于静态同步设计,我们称一个系统是同步的,假若:我们称一个系统是同步的,假若:1.1.每每个个边边缘缘敏敏感感部部件件的的时时钟钟输输入入是是一一次次时时钟钟输输入入的的某某个个函函数数;并并且且仍仍是是象象一次时钟那样的时钟信号。一次时钟那样的时钟信号。2.2.所有存所有存储储元件(包括元件(包括计计数器)都是数器)都是边缘边缘敏感的,在系敏感的,在系统统中没有中没有电电平敏感平敏感存存储储元件。元件。FPGA设计与应用设计与应用4.2 4.2 4.2 4.2 同步部件同步部件同步部件同步部件 基本的同步部件基本的同步部件 同步清除同步清除D D型触发器型触发器 构成同步基本部件基础的是边缘敏感D型触发器。其基本性质为,在时钟CLK输入的上升边之后,D输入端的逻辑值出现在Q输出端,而其补值出现在Q非输出端。这一过程就是取样过程。我们希望FPGA有一个性能,即全局复位,这是一个测试要求。在FPGA的同步设计中应避免使用异步清除D型触发器(它破坏了同步系统的两个条件),应代之以同步清除。这样就产生了第一个新的基本部件:带同步清除的D型触发器 FPGA设计与应用设计与应用4.2 4.2 4.2 4.2 同步部件同步部件同步部件同步部件 T T型触发器型触发器 E E型触发器型触发器 最有用的存储单元之一是一种锁存器,它能够保持一个数据直到通知它锁存另一数据时为止,称为E型触发器。它有一个从其输出端到其输入端的反馈环路,使其能保持数据长达若干个时钟周期。FPGA设计与应用设计与应用4.2 4.2 4.2 4.2 同步部件同步部件同步部件同步部件 R R型触发器型触发器 同步同步RSRS触发器触发器 请求(R型)触发器是唯一具有一个异步电平敏感输入的,后者用于应答信号。同步清除用于全局复位,如在测试中用,它有两种结构。同步RS触发器有两个清除端,一个本地清除R和一个全局清除GC。当复位端R和置位端S都为高电平时,没有不确定状态。在同步RS触发器复位优先于置位。FPGA设计与应用设计与应用4.3 4.3 4.3 4.3 状态产生状态产生状态产生状态产生 状态的无条件执行状态的无条件执行 在所有标准部件中最重要的是同步二进制计数器(在所有标准部件中最重要的是同步二进制计数器(SBCSBC),SBC,SBC有许多用途,其中一种有许多用途,其中一种即状态产生即状态产生.通常用单状态译码器完成状态的无条件执行,此译码器连接在主计数器上。下图所示为实现这一原理的连续平均电路。它顺序取16项数据,并输出其和。每16项数据之和锁存于输出寄存器,并将累加器清除。FPGA设计与应用设计与应用4.3 4.3 4.3 4.3 状态产生状态产生状态产生状态产生 状态的有条件执行状态的有条件执行 在所有标准部件中最重要的是同步二进制计数器(在所有标准部件中最重要的是同步二进制计数器(SBCSBC),SBC,SBC有许多用途,其中一种有许多用途,其中一种即状态产生即状态产生.在根据无条件执行状态序列原则设计的电路中,转移仅限于用以实现非二进制的无条件转移类型是。其它各种电路要求用有条件转移或有条件执行一状态序列。FPGA设计与应用设计与应用4.4 4.4 4.4 4.4 中央允许产生器中央允许产生器中央允许产生器中央允许产生器 用不良设计方法设计的中央时钟产生器,可以用等效的同步式电路取代。后者即中央允许产生器。这一设计中采用了本章介绍的所有设计方法。图4-27中示出的简单允许产生器能够推广到和任何有条件或无条件状态的执行相结合。FPGA设计与应用设计与应用4.5 4.5 4.5 4.5 同步清除同步清除同步清除同步清除 虽然本章中作为单元电路介绍的同步清除在功能上,在某些情况下,等效于异步虽然本章中作为单元电路介绍的同步清除在功能上,在某些情况下,等效于异步清除,但是当一电路有全局复位功能时优先选用同步清除的理由如下:清除,但是当一电路有全局复位功能时优先选用同步清除的理由如下:1 1、某些电路具有自己的同步清除功能。可以将其用于全局清除,以节省资源。、某些电路具有自己的同步清除功能。可以将其用于全局清除,以节省资源。2 2、混合使用全局异步清除和局部同步清除会使电路功能混乱,导致产生异常情况。、混合使用全局异步清除和局部同步清除会使电路功能混乱,导致产生异常情况。3 3、在许多情况下,采用同步清除的电路比异步的占用较少空间。、在许多情况下,采用同步清除的电路比异步的占用较少空间。4 4、使、使RAMRAM和寄存器列一类电路元件,初始化时,要求在连续几个时钟周期中清除,和寄存器列一类电路元件,初始化时,要求在连续几个时钟周期中清除,这意味着同步清除。这意味着同步清除。FPGA设计与应用设计与应用4.6 4.6 4.6 4.6 时钟歪斜的清除时钟歪斜的清除时钟歪斜的清除时钟歪斜的清除 同同步步设设计计的的最最重重要要求求之之一一是是将将时时钟钟歪歪斜斜减减小小到到可可以以接接受受的的程程度度。假假设设时时钟钟缓缓冲冲符合第三章中的规则,则还有另外两种设计方法可以采用。符合第三章中的规则,则还有另外两种设计方法可以采用。第第一一种种情情况况是是从从一一D D型型触触发发器器的的Q Q输输出出端端直直接接馈馈给给另另一一触触发发器器的的 D D输输入入端端时时,延延迟迟不不足足以以满满足足第第二二个个D D型型触触发发器器对对保保持持时时间间的的要要求求。解解决决方方法法是是使使用用一一个个低低驱驱动动强强度度的源的源D D型触发器,并且不加缓冲。高的相对扇出有助于改进保持时间。型触发器,并且不加缓冲。高的相对扇出有助于改进保持时间。第二种第二种设计设计方法是在各个受方法是在各个受时钟时钟控制的部件之后分控制的部件之后分别别接入接入缓缓冲器,并在两个冲器,并在两个缓缓冲冲输输出端之出端之间间接一平衡网接一平衡网络络。若两支路由于某种原因不平衡,。若两支路由于某种原因不平衡,则则有一小有一小电电流通流通过过网网络络,从而消除从而消除时钟时钟歪斜。歪斜。FPGA设计与应用设计与应用4.7 4.7 4.7 4.7 异步接口异步接口异步接口异步接口 互相同步的系统互相同步的系统 互相异步的系统互相异步的系统 握手发送数据的安全性握手发送数据的安全性 同步系统的异步输入同步系统的异步输入 亚稳定性亚稳定性 微处理器存储器映射中的微处理器存储器映射中的FPGA FPGA FPGA设计与应用设计与应用4.7 4.7 4.7 4.7 异步接口异步接口异步接口异步接口 互相同步的系统互相同步的系统 我们要讨论的第一种接口是普通的互相同步的两个同步系统的接口。为了满足这一类的条件,两系统必须有一公共外部时钟。用允许标志如图所示,通知在两系统之间传送数据。允许信号在时钟上升沿后经过时钟至Q端的传播时间变为有效,并保持有效至下一个时钟上升沿之后时钟至Q端的时间。故它包含一有效时钟边缘。FPGA设计与应用设计与应用4.7 4.7 4.7 4.7 异步接口异步接口异步接口异步接口 互相异步的系统互相异步的系统 更为常见的一类异步接口是互相异步的两个内部同步的系统之间的接口。这时,重要的是,按照同步设计原理,处理请求的信号交换(握手)功能需要采用R型触发器,其应用示于图中。FPGA设计与应用设计与应用4.7 4.7 4.7 4.7 异步接口异步接口异步接口异步接口 同步系统的异步输入同步系统的异步输入 本节讨论一同步系统处理独立的异步输入的方法。若FPGA只要求对单个异步到达的事件起响应,则存储立即式请求触发器,如图所示的电路,比同步R型触发器更简单。它由一D型触发器构成,其D输入端接到逻辑“1”上,异步输入连接到其时钟端。D型触发器用于此目的比异步RS触发器更适合,因为自边缘敏感D型触发器来的请求,在收到之后几乎立刻就被接收系统用上节所述方法消除。另一方面,电平敏感异步RS触发器则要求输入端上的激励(它可能是逻辑电平的阶跃变化)去掉才行。FPGA设计与应用设计与应用4.7 4.7 4.7 4.7 异步接口异步接口异步接口异步接口 握手发送数据的安全性握手发送数据的安全性 一般说来,围绕握手过程的保护措施愈多,数据完整性愈大,但是系统性能愈低。当通过一异步接口发送数据时,数据错误概率可以小到忽略不计,但是要以系统带宽作为代价。FPGA设计与应用设计与应用4.7 4.7 4.7 4.7 异步接口异步接口异步接口异步接口 微处理器存储器映射中的微处理器存储器映射中的FPGA FPGA 使FPGA和一微处理器通信的简单方法是把它放在微处理器的存储器映射中。微处理器,利用片选和写允许(WE)控制线,记入数据或查询数据位置,就好像FPGA是RAM。WE的上升沿使数据存储在FPGA输入端的电平敏感锁存器中,同时使一异步式请求触发器置位。FPGA设计与应用设计与应用4.7 4.7 4.7 4.7 异步接口异步接口异步接口异步接口 亚稳定性亚稳定性 用于对输入数据流取样的边缘敏感触发器,只要在有效时钟边缘的两边的临界建立和保护时间中保持稳定则将正确地锁存数据。若在此期间输入数据改变,则输出将不能预测,产生所谓亚稳定现象。触发器在回到一逻辑状态之前可能进入高电平和低电平之间的几种亚稳定序列之一,如图所示。FPGA设计与应用设计与应用4.8 4.8 4.8 4.8 总结与结论总结与结论总结与结论总结与结论 当数字系统的复杂度进一步提高,数据流的速度要求进一步提升时,当数字系统的复杂度进一步提高,数据流的速度要求进一步提升时,ICIC设计设计者就要很谨慎的考虑数字系统的时序问题,在对数字系统的定时关系进行准确的者就要很谨慎的考虑数字系统的时序问题,在对数字系统的定时关系进行准确的分析的基础上掌握好同步技术是高水平的分析的基础上掌握好同步技术是高水平的ICIC设计者所必需的,也值得每个设计者所必需的,也值得每个FPGAFPGA设设计者研读。计者研读。FPGA设计与应用设计与应用第第5 5章章 常常见见的的FPGAFPGA设计实设计实例例 5.1 5.1 5.1 5.1 移位寄存器设计实例移位寄存器设计实例移位寄存器设计实例移位寄存器设计实例 5.4 5.4 5.4 5.4 存储器设计实例存储器设计实例存储器设计实例存储器设计实例5.2 5.2 5.2 5.2 计数器设计实例计数器设计实例计数器设计实例计数器设计实例5.3 5.3 5.3 5.3 状态机设计实例状态机设计实例状态机设计实例状态机设计实例5.5 5.5 5.5 5.5 门禁系统设计实例门禁系统设计实例门禁系统设计实例门禁系统设计实例5.6 5.6 5.6 5.6 总结与结论总结与结论总结与结论总结与结论 FPGA设计与应用设计与应用5.1 5.1 5.1 5.1 移位寄存器设计实例移位寄存器设计实例移位寄存器设计实例移位寄存器设计实例 m m序列的产生和性质序列的产生和性质 对具体某一信号的连续存储对具体某一信号的连续存储 m序列是最常用的一种伪随机序列,它是最长线性反馈移位寄存器序列的简称,是由带线性反馈的移位寄存器产生的序列,并且具有最长周期。在实际设计中,如密码门、ATM提款机一类需要手动输入信息的地方,需要将某一具体信号进行连续存储,常会使用到这种移位寄存器。FPGA设计与应用设计与应用5.2 5.2 5.2 5.2 计数器设计实例计数器设计实例计数器设计实例计数器设计实例 几种几种实际应实际应用的用的计计数器数器电电路。路。(1 1)跟踪并跟踪并计计算某一信号出算某一信号出现现的次数的次数 (2 2)作控制信号的条件作控制信号的条件 有时某些控制信号是根据计数器的某种状态的出现而发生改变,有时某些控制信号是根据计数器的某种状态的出现而发生改变,计数器负责跟踪另外一个信号,例如移位寄存器在先动作一拍的前计数器负责跟踪另外一个信号,例如移位寄存器在先动作一拍的前提下才进行下一步的操作,或在动作几拍,或在另一个信号出现几提下才进行下一步的操作,或在动作几拍,或在另一个信号出现几次的情况下改变以前的动作状态等情况。计数器在这种情况下起到次的情况下改变以前的动作状态等情况。计数器在这种情况下起到了过渡性作用。了过渡性作用。FPGA设计与应用设计与应用5.3 5.3 5.3 5.3 状态机设计实例状态机设计实例状态机设计实例状态机设计实例 状状态态机可以机可以认为认为是是组组合合逻辑逻辑和寄存器和寄存器逻辑逻辑的特殊的特殊组组合,它一般包括两合,它一般包括两个部分:个部分:组组合合逻辑逻辑部分和寄存器部分。寄存器用于存部分和寄存器部分。寄存器用于存储储状状态态,组组合合电电路用路用于状于状态译码态译码和和产产生生输输出信号。状出信号。状态态机的下一个状机的下一个状态态及及输输出,不出,不仅仅与与输输入信入信号有关,而且号有关,而且还还与寄存器当前所与寄存器当前所处处的状的状态态有关。有关。状状态态机有机有3 3种表示方法:状种表示方法:状态图态图、状、状态态表和流程表和流程图图。这这3 3种表示方法是种表示方法是等价的,相互之等价的,相互之间间可以可以转换转换。其中状。其中状态图态图是最常用的一种表示方式。是最常用的一种表示方式。FPGA设计与应用设计与应用5.4 5.4 5.4 5.4 存储器设计实例存储器设计实例存储器设计实例存储器设计实例 存存储储器器是是数数字字系系统统的的重重要要组组成成部部分分,数数据据处处理理单单元元的的处处理理结结果果需需要要存存储储,许许多多处处理理单单元元的的初初始始化化数数据据也也需需要要存存放放在在存存储储器器中中。存存储储器器还还可可以以完完成成一一些些特特殊殊的的功功能能,如如多多路路复复用用、速速率率变变换换、数数值值计计算算、脉脉冲冲成成形形、特特殊殊序列产生以及数字频率合成等等。序列产生以及数字频率合成等等。基本的存基本的存储储器器类类型有型有RAMRAM、FIFOFIFO、ROMROM这这三种,由于通常的三种,由于通常的设计软设计软件提件提供相供相应应的宏的宏单单元,元,设计设计者可以通者可以通过过手工手工编编程和利用宏模程和利用宏模块这块这二种方式来二种方式来设设计计各种各种类类型的存型的存储储器。器。FPGA设计与应用设计与应用5.5 5.5 5.5 5.5 门禁系统设计实例门禁系统设计实例门禁系统设计实例门禁系统设计实例 图图中中所所示示为为一一种种门门禁禁系系统统的的原原理理图图,其其中中的的控控制制单单元元实实际际上上是是一一个个可可以以控控制制各各个个组组件件的的状状态态机机。它它包包括括了了一一个个1212输输入入键键盘盘(数数字字0 09 9、ENTENT、CLRCLR),只只有有一一个个3 3个个数数字字的的组组合合才才能能打打开开门门。用用户户在在输输入入3 3个个数数字字的的密密码码后后还还要要按按下下ENTENT键键,指指示示输输入入的的完完成成。CLRCLR键键可可以以清清除除用用户户错错误误输输入入的的数数据据,但但必必须须在在按按下下ENTENT键键之之前前。正正确确的的密密码码存存储储在在1212位位的的DIPDIPswitchswitch中中。系系统统最最多多可可以以允允许许3 3次次输输入入错错误误,如如果果第第4 4次次输输入入错错误误,系系统统会会自自动动报报警警。只只有有MASTERMASTERRESETRESET信信号号可可以以清清除除报报警警状状态态,而而且且该该信信号号同同时时也也可可以以开开门门,它它和和正正确确输输入入密密码码的作用是一的作用是一样样的。的。FPGA设计与应用设计与应用5.6 5.6 5.6 5.6 总结与结论总结与结论总结与结论总结与结论 通通过过对对经经典典实实例例的的分分析析,可可以以了了解解硬硬件件设设计计中中一一些些基基本本模模块块如如何何通通过过FPGAFPGA得得到到实实现现。但但仅仅仅仅掌掌握握上上述述模模块块的的实实现现是是远远远远不不能能满满足足电电子子设设计计需需求求的的,更更重重要要的的是是掌掌握握设设计计方方法法:灵灵活活运运用用FPGAFPGA设设计计流流程程开开展展设设计计,区区别别流流程程中中各各个个部部分分的的联联系系与与区区别别;养养成成良良好好的的硬硬件件描描述述语语言言编编码码风风格格,了了解解硬硬件件描描述述语语言言与与电电路路的的对对应应关关系系,提提高高设设计计的的可可维维护护性性、可可调调试试性性;建建立立硬硬件件意意识识,区区分分FPGAFPGA设设计计编编码码与与软软件件设设计计编编码码,软软件件设设计计编编码码目目的的是是为为描描述述逻逻辑辑流流程程,FPGAFPGA设设计计编编码码是是描描述述电电路路结结构构。模模块块设设计计是是FPGAFPGA设设计计的的根根本本,熟熟练练掌掌握握模模块块设计能够为进一步利用设计能够为进一步利用FPGAFPGA完成电子设计打好坚实的基础。完成电子设计打好坚实的基础。FPGA设计与应用设计与应用第第6 6章章 FPGAFPGA的配置与的配置与编编程程 6.1 Altera FPGA6.1 Altera FPGA6.1 Altera FPGA6.1 Altera FPGA配置与编程配置与编程配置与编程配置与编程 6.2 Xillinx FPGA6.2 Xillinx FPGA6.2 Xillinx FPGA6.2 Xillinx FPGA配置配置配置配置 6.3 6.3 6.3 6.3 总结与结论总结与结论总结与结论总结与结论 FPGA设计与应用设计与应用6.1 Altera FPGA6.1 Altera FPGA6.1 Altera FPGA6.1 Altera FPGA配置与编程配置与编程配置与编程配置与编程 FPGA FPGA的配置与编程是将用户经过软件的配置与编程是将用户经过软件设计与仿真验证的功能电路写入实际的设计与仿真验证的功能电路写入实际的FPGAFPGA芯片中的过程。所有的芯片中的过程。所有的FPGAFPGA芯片都需芯片都需要经过配置与编程才能实现用户需要的功要经过配置与编程才能实现用户需要的功能。能。FPGA FPGA上上nCONFIGnCONFIG的低到高变化表示的低到高变化表示配置过程的开始。配置过程包括三个配置过程的开始。配置过程包括三个阶段:复位、配置和初始化。当阶段:

    注意事项

    本文(FPGA设计与应用教学.ppt)为本站会员(wuy****n92)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开