fpga实验及FPGA基本知识_第1页
fpga实验及FPGA基本知识_第2页
fpga实验及FPGA基本知识_第3页
fpga实验及FPGA基本知识_第4页
fpga实验及FPGA基本知识_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

1、实验指导(一)认识FPGA开发板一、实验目的1、了解FPGA开发流程2、了解XilinxKC705开发平台二、实验原理FPGA是FieldProgrammableGateArray的缩写,即现场可编程门阵列。FPGA是在CPLD的基础上发展起来的新型高性能可编程逻辑器件,它一般采用SRAM工艺,也有一些专用器件采用Flash工艺或反熔丝(Anti-Fuse)工艺等。FPGA的集成度很高,其器件密度从数万系统门到数千万系统门不等,可以完成极其复杂的时序与组合逻辑电路功能,适用于高速、高密度的高端数字逻辑电路设计领域。FPGA的基本组成部分有可编程输入/输出单元、基本可编程逻辑单元、嵌入式RAM、

2、丰富的布线资源、底层嵌入功能单元、内嵌专用硬核等。一般来说,完整的FPGA设计流程包括电路设计与输入、功能仿真、综合优化、综合后仿真、布局布线、布局布线后仿真、板级验证与加载配置调试等主要步骤,如图1所示。(1)电路设计与输入。电路设计与输入是指通过某些规范的描述方式,将工程师电路构思输入给EDA工具。常用的设计输入方法有硬件描述语言(HDL)和原理图设计输入方法等。HDL语言中,应用最为广泛的是VHDL和VerilogHDL。(2)功能仿真。电路设计完成后,要用专用的仿真工具对设计进行功能仿真,验证电路功能是否符合设计要求。功能仿真有时也被称为前仿真。常用的仿真工具有ModelSim、VCS

3、、NC.Verilog和NC.VHDL等。(3)综合优化。综合优化(Synthesize)是指将HDL语言、原理图等设计输入翻译成由与、或、非门,RAM,触发器等基本逻辑单元组成的逻辑连接(网表),并根据目标与要求(约束条件)优化所生成的网表,输出edf和edn等标准格式的网表文件,供FPGA厂家的布局布线器进行实现。(4)综合后仿真。综合完成后需要检查综合结果是否与原设计一致,做综合后仿真。在仿真时,把综合生成的标准延时文件反标到综合仿真模型中去,可估计门延时带来的影响。(5)实现与布局布线。综合结果的本质是一些与、或、非门,触发器,RAM等基本逻辑单元组成的逻辑网表,它与芯片实际的配置情况

4、有较大差距。此时,应该使用FPGA厂商提供的软件工具,根据所选芯片型号,将综合输出的逻辑网表适配到具体FPGA器件上,这个过程叫做实现过程。在实现过程中,最主要的过程就是布局布线。所谓布局(Place)是指将逻辑网表中的硬件原语或者底层单元合理地适配到FPGA内部的固有硬件结构上;所谓布线(Route)是指根据布局的拓扑结构,利用FPGA内部的各种连线资源,合理正确连接各个元件的过程。(6)时序仿真与验证。将布局布线的时延信息反标到设计网表中,所进行的仿真就叫时序仿真或布局布线后仿真,简称后仿真。布局布线后仿真的主要目的在于发现时序违规(TimingViolation),即不满足时序约束条件或

5、者器件固有时序规则(建立时间、保持时间)的情况。(7)板级仿真与验证。在有些高速设计情况下还需要使用第三方的板极验证工具进行仿真与验证。这些工具通过对设计的IBIS、HSPICE等模型的仿真,能较好地分析高速设计的信号完整性、电磁干扰(EMI)等电路特性等。(8)对器件下载调试。设计开发的最后步骤是在线调试或者将生成的配置文件写入芯片中进行测试。示波器和逻辑分析仪是逻辑设计的主要测试工具。以上任何仿真或者验证步骤出现问题,就需要根据错误的定位返回到相应的步骤更改或者重新设计。目前主要的FPGA器件生产厂商有两家,即美国的Altera公司和软件开发平台,其中Altera公司的FPGA产品主要有C

6、yclone系列和Stratix系列等,软件开发平台为QuartusII,而Xilinx公司的FPGA产品主要有Virtex系列和Spartan系列等,软件开发平台为ISE。本实验采用的是Xilinx公司的带有Kintex-7FPGA的KC705开发平台。Xilinx的7系列FPGA包括Artix-7,Kintex-7和Virtex-7三个系列。具有超高端连接带宽,逻辑容量和信号完整性,提供低成本,小型尺寸和大容量的要求严格的高性能应用。其中,Kintex-7FPGA具有较高的性价比,其组成的收发器从600Mbps到最高的6.6Gbps,达到28.05Gbps。主要用在航空电子、LED背光的平

7、板电视和3DTV、LTE基带、手持超声设备、多模式无线电、Prosumer数码单反照相机和视频IP网关。图1FPGA开发流程Kintex-7FPGA主要包括以下主要特性:(1)基于6输入查找表(LUT)技术,可配置为分布式内存的,先进的高性能FPGA逻辑。(2)36kB双端口RAM块,内置片上数据缓冲的FIFO逻辑。(3)高性能的SelectIO技术,支持高达1866Mb/s的DDR3接口。(4)强大的时钟管理瓷砖(CMT),结合锁相环(PLL)和混合模式时钟管理器(MMCM),用于实现高精度和低抖动。(5)低成本,线焊接,无盖倒装芯片,高信号完整性,倒装芯片封装,可以方便在同一系列产品之间互

8、换。所有型号都具有无铅封装,并具有可选铅封装。本实验采用的Kintex-7FPGA的KC705评估板提供了一个硬件环境,用于Kintex-7XC7K325T-2FFG900CFPGA的设计开发和评估,KC705开发平台如图2所示。模块号描述1Kintex-7FPGA(风扇下面)2DDR模块3BPIflash存储器4SPIflash存储器5SD卡接口6USBJTAG接口7系统时钟源8用户时钟源9SMA时钟输入10GTX时钟输入11JitterAttenuatedClock12GTX收发器13PCI插槽14SFP连接器15以太网芯片16GTX收发器时钟源17USB转UART芯片18HDMI接口19

9、LCD显示屏20I2C总线切换开关图2KC705开发平台从图中可以看出KC705板提供了许多嵌入式处理系统的共同特性,开发板资源介绍如表1所示。表1KC705资源介绍21以太网指示灯22用户GPIOLED灯23用户GPIO按键24用户DIP切换开关25旋转按钮26GPIOSMA连接器27电源开关28FPGA下载按钮29Flash配置开关30HPC连接器31LPC连接器32电源管理33XADC模块34JTAG接口35PMBus连接3612V电压输入37CPU复位按钮为了了解并掌握FPGA开发流程,本实验在KC705平台设计设计一个分频计数的实验,用FPGA内部逻辑控制LED灯的亮灭。KC705平

10、台自带的8个LED灯原理图如图3所示,当GPIO输入端为高电平时,二极管导通,灯变亮。当输入端为低电平时,二极管截至,灯变暗。本实验通过Verilog代码进行计数分频,控制GPIO_LED_0的周期性变化。图3KC705平台LED灯原理图在Verilog代码设计中,把分频输出信号与GPIO_LED_0管脚相连,大家就可以感受到分频产生的效果了。在代码里,使用的200M的差分时钟,一个周期是5ns,在代码里24位计数器cnt进行循环计数,一个周期有224个时钟周期,大约是80ms,所以LED0以80ms为周期变化。三、实验步骤a)打开ISE软件,新建工程,如图4所示图4新建ISE工程然后输入工程

11、名称和路径,其余选择默认选项,点击finish,如图5所示。图5输入工程名称和路径b)新建工程结束之后,右击新建的工程名称,选择addnewsource,可以向工程中添加源文件,在这里选择verilogmodule,在左侧对话框输入文件名称和路径,如图6所示图6添加verilog源文件回到设计页面,可以发现在工程下面多了一个.v文件,点开文件,输入下面代码moduleclk_div(clk_p,clk_n,rst,clk_div);inputclk_p,rst;inputclk_n;outputclk_div;regclk_div;reg23:0count;wireclk;always(pos

12、edgeclk)if(rst)begincount=1b0;clk_div=1b0;endelseif(count=24hffffff)begincount=count+1b1;endelsebegincount=1b0;clk_div=clk_div;end/差分时钟例化原语IBUFDSUUT_IBUFG(.I(clk_p),.IB(clk_n),.O(clk);endmodule代码输入完成之后对代码进行综合,双击Synthesize-XST,综合成功后会显示对号或感叹号,如图7所示。如果是感叹号,代表有警告,可右击Synthesize-XST查看综合报告,对这里出现的警告可以忽略。图7代

13、码综合成功c)为了使我们的代码与硬件映射,还需要进行管脚约束,管脚约束文件格式为ucf,与添加verilogmodule文件相同的方法,添加一个ucf文件,不同的是在图8的左侧界面中选择ImplementationConsraintsFile。图8添加ucf文件回到设计界面,开始编辑ucf文件,打开KC705的datasheet,我们可以找到要使用的LED0与FPGA管脚AB8相连,如图9所示图9LED0与FPGA管脚对应关系同样的方法,再对时钟和复位信号进行配置。时钟选用200M的systemclocksource,复位信号选用SW3,确定了管脚对应关系之后,开始编辑ucf文件,输入下列内容

14、,其中IOSTANDARD为电压约束,在KC705的datasheet中可以找到。NETclk_pLOC=AD12|IOSTANDARD=LVDS;/200MNETclk_nLOC=AD11|IOSTANDARD=LVDS;/200MNETrstLOC=AG5|IOSTANDARD=LVCMOS15;/sw3NETclk_divLOC=AB8|IOSTANDARD=LVCMOS15;/LED0d)以上工作做完之后,就要对代码进行布局布线,生成可下载的比特流,如图10所示,双击GenerateProgrammingFile。e)上面步骤完成之后,开始将生成的比特流下载到FPGA板,如图11所示,连接开发板与电脑图11连接FPGA与电脑点击configuretargetdevice,打开Impact,如图12所示图12打开iMPACT软件点击箭头所示按钮,出现图13界面,点击OK图13扫描设备如图14所示,软件识别出所连接设备,点击OK图14设别设备双击设备,找到生成的比特流,出现图15对话框

温馨提示

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

评论

0/150

提交评论