FPGA设计与应用_第1页
FPGA设计与应用_第2页
FPGA设计与应用_第3页
FPGA设计与应用_第4页
FPGA设计与应用_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、EDA技术发展,EDA技术应用对象,EDA技术应用对象,专用集成电路设计流程,专用集成电路ASIC设计方法,一般设计的流程,Altera 产品概述,Altera是最大的可编程逻辑器件供应商之一,总部位于美国硅谷圣侯赛。主要产品有:属于EPLD的MAX3000/5000/7000/9000和Classic系列;属于FPGA的FLEX6K/8K/10K、APEX20K、ACEX1K、APEX 、Mercury、Excalibur、Stratix系列。,PLD器件: CPLD: MAX3000/5000/7000/9000和Classic系列 FPGA: FLEX6K/8K/10K、APEX20K、

2、ACEX1K、APEX、Mercury、Excalibur、Stratix 开发软件: MAX+PLUS :支持公司多款PLD器件,同时支持多种HDL语言,包括VHDL、Verilog HDL、AHDL。 Quartus :主要支持公司几款高端产品,APEX、APEX20K、Mercury、Excalibur、Stratix,同时也支持多种HDL语言。,硬件描述语言: AHDL,只有自己公司的开发软件支持该语言,没有被IEEE认证。,1.1 FPGA,1.2 FPGA的基本原理,可编程输入/输出单元 基本可编程逻辑单元 嵌入式块RAM 丰富的布线资源 底层嵌入功能单元 内嵌专用硬核,LAB(逻

3、辑阵列块) LAB有8个LE以及它们的进位链、级联链、LAB控制信号与LAB局部互连组成。,LE(逻辑单元) LE使FLEX10K结构中的最小单元,每个LE含有一个4输入查找表(LUT)、一个带有同步使能的可编程触发器、一个进位链和一个级联链。 LE有4种工作模式: 正常模式:简单逻辑功能、编译码应用; 运算模式:+、-、*法器件、3输入函数; 加/减计数模式;清除计数模式,Fast Track (快速通道) Fast Track提供LE与器件I/O引脚之间的互联。 Fast Track是遍布整个器件厂、宽的一系列水平和垂直的连续式布线通道。,IOE(I/O单元) I/O 单元由一个双向缓冲器

4、和一个寄存器组成,提供6个专用的输入引脚。,EPC 配置器件,Altera的FPGA器件正常工作时,它的配置数据存储在SRAM中。由于SRAM的易失性,每次加电时,配置数据都必须重新构造。 Altera的FPGA器件分两类配置方式:主动配置方式和被动配置方式。 主动配置方式由FPGA器件引导配置操作过程,它控制着外部存储器和初始化过程;而被动配置方式则由外部计算机或控制其控制配置过程。 在实验室中,常用计算机或控制器进行调试,因此可以使用被动配置方式。而实际系统中,一般采用被动配置方式。,1.3 FPGA的设计方法,FPGA的常用设计方法包括“自顶向下”和“自下而上”,目前大规模FPGA设计一

5、般选择“自顶向下”的设计方法。 所谓“自顶向下”设计方法, 简单地说,就是采用可完全独立于芯片厂商及其产品结构的描述语言,在功能级对设计产品进行定义, 并结合功能仿真技术,以确保设计的正确性,在功能定义完成后,利用逻辑综合技术,把功能描述转换成某一具体结构芯片的网表文件,输出给厂商的布局布线器进行布局布线。布局布线结果还可反标回同一仿真器, 进行包括功能和时序的后验证,以保证布局布线所带来的门延时和线延时不会影响设计的性能。,1.4 FPGA的设计流程,第一步:按照“自顶向下”的设计方法进行系统划分。,第二步:输入VHDL/Verilog HDL代码,第三步:将以上的设计输入编译成标准的VHD

6、L/Verilog HDL文件,然后将文件调入HDL仿真软件进行功能仿真,第四步:利用综合器对源代码进行综合优化处理,生成门级描述的网表文件,第五步:如果整个设计超出器件的宏单元或I/O单元资源,可以将设计划分到多片同系列的器件中。,第六步:将试配器产生的器件编程文件通过编程器或下载电缆载入到目标芯片FPGA中,设计输入,1.5 FPGA常用开发工具,根据设计流程与功能划分,上述EDA工具主要分为:设计输入工具、综合工具、仿真工具、实现与优化工具、后端辅助工具、验证与调试工具和系统级设计环境。,QuartusII中集成的EDA开发工具可以分为两类: Altera自己提供的软件工具 其它EDA厂

7、商提供的软件工具,统称为第三方工具,Quartus II 设计流程,1. 设计输入工具 常用的设计输入方法有HDL语言输入、原理图输入、 IP Core输入和其它方法。 2. 综合工具 主流的综合工具有Synplicity公司的Synplify、Synopsys公司的FPGA cComplilerII等 3. 仿真工具 业界最流行的仿真工具是Modelsim。另外,Aldec公司的ActiveHDL也有相当广泛的用户群,4. 实现与优化工具 实现与优化工具包含的面比较广。如果能较好的掌握这些工具,将大幅度提高设计者的水平,使设计工作更加游刃有余。QuartusII集成的实现工具主要有Assig

8、nment Editor、Logiclock、Powerfitter、Timing Analyzer、Floorplan Editor、Chip Editor等。 5. 后端辅助工具 QuartusII内嵌的后端辅助工具主要有Assembler、Programmer和PowerGauge 6. 验证调试工具 QuartusII内嵌的调试工具有SignalTapII和SignalProbe。,1.6 简单电路的HDL设计,1 基本组合逻辑运算,2 基本时序器件寄存器,3 基本简单数学运算,1 基本组合逻辑运算,与运算,或运算,异或运算, 与非运算,2选1多路选择器,两位比较器,2 基本时序器件寄

9、存器,D触发器,T触发器,J-K触发器, 时序器件移位寄存器,3. 基本简单数学运算, 4位加法器,输入数据同比特位进行运算时,都要等待前一比特的进位信号状态完成(建议:用在位数不超过16位的加法器)。对于多位逐位进位加法器来说,也可采用流水方式改善性能。,输入数据同比特位进行运算时,不需要等待前一比特的进位信号。实现速度比较快,但资源占用也比较大。建议使用在16位加法器上比较合适。对于位数较多的也可采用流水方式。,由三个加法器组成,一个计算低字节;两个计算高字节。计算高字节的加法器一个令进位为1,另一个令进位为0。三部分同时计算,最后,低字节的进位选择是哪一个高字节器的输出。对于位数较多的加

10、法器,性能的提高比较明显,但资源相对占用较多。, 4位计数器,流水式超前进位计数器,逐位进位计数器的特点是:每一位都要等前一位的进位输出有效后才开始变化,每一位模块之间用进位信号连接起来(推荐使用长度不超过16位)。,应用逐位进位计数器的原理,并在其基础上加以改进,因为采用格雷码进行计数,每个状态变化时,只有1位信号发生改变,减少了毛刺现象的发生。,应用超前进位计数器的基本原理加以改进,使用流水技术,减少了进位信号的传输延时,大大提高了系统效率。, 4位乘法器,移位相加乘法器实现简单,它的基本设计思想就是采用一种称之为迭代的方式,根据乘数的每一位是否为1进行计算,若为1则将被乘数移位相加,这种

11、实现方式使得在乘法计算中,每算出一乘积项就加到乘积中,此时的积称作部分积。通过对部分积的逐步移位完成乘积项与乘数的位对齐相加,直至得出结果。这种方法硬件资源耗用较少,但一个4位乘法需要4个周期才能得到结果,速度比较慢,也可采用这种思想,用全逻辑实现,但延时较大。因此,在高速的应用系统中,一般不采用该方法。,查找表乘法器的基本设计思路就是将乘积直接存放在存储器中,将操作数(乘数和被乘数)作为地址访问存储器,得到的输出数据就是乘法运算的结果。,加法器树结合了移位相加乘法器和查找表乘法器的优点。事实上,从下面的示意图可看出,它采用了并行处理的架构,所以其速度快,由于主要采用与门逻辑实现逻辑功能,所以

12、其资源耗费也较少。,总结与结论,综上所述,我们可以看到在新世纪,以FPGA为代表的数字系统现场集成技术正朝着以下几个方向发展。 1、随着便携式设备需求的增长,对现场可编程器件的低压、低功耗的要求日益迫切。 2、芯片向大规模系统芯片挺进,力求在大规模应用中取代ASIC。 3、为增强市场竞争力,各大厂商都在积极推广其知识产权(IP)核心库。 4、动态可重构技术的发展,将带来系统设计方法的转变。,module cnt10(clk,rst,en,cq,cout); input clk,rst,en; output3:0 cq; output cout; reg3:0cq; reg cout; alwa

13、ys(posedge clk or posedge rst) begin if(rst) cq=0; else if(en) begin if(cq9) cq=cq+1; else cq=0; end end always(posedge clk or posedge rst) begin if(rst)cout=0; else if(cq=9)cout=1; else cout=0; end endmodule 异步清零和同步时钟加法计数器,module led7s(in,out); input3:0 in; output6:0 out; reg6:0 out; always(in) beg

14、in case(in) 4b0000:out=7b0111111; 4b0001:out=7b0000110; 4b0010:out=7b1011011; 4b0011:out=7b1001111; 4b0100:out=7b1100110; 4b0101:out=7b1101101; 4b0110:out=7b1111101; 4b0111:out=7b0000111; 4b1000:out=7b1111111; 4b1001:out=7b1101111; 4b1010:out=7b1110111; 4b1011:out=7b1111100; 4b1100:out=7b0111001; 4b

15、1101:out=7b1011110; 4b1110:out=7b1111001; 4b1111:out=7b1110001; default out=7bx; endcase end endmodule 7段数码显示译码器设计,module led8s(SG,BT,clk); input clk; output6:0SG; output7:0BT; reg7:0BT; reg2:0cnt8; reg6:0SG; always(posedge clk) cnt8=cnt8+1; always(cnt8) case (cnt8) 3b000: BT = 8b00000001 ; 3b001 :

16、BT = 8b00000010 ; 3b010 : BT = 8b00000100 ; 3b011: BT = 8b00001000 ; 3b100: BT = 8b00010000 ; 3b101: BT = 8b00100000 ; 3b110 : BT = 8b01000000 ; 3b111 : BT = 8b10000000 ; default: BT=8bx ; endcase,always(BT) case(BT) 8b00000001: SG = 7b0000110; 8b00000010: SG = 7b1001111; 8b00000100: SG = 7b1101101; 8b00001000: SG = 7b0000111; 8b00010000: SG = 7b1101111; 8b00100000:SG = 7b1111100; 8b01000000: SG = 7b1011

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论