




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、FPGA系统设计实验报告学院: 计算机与通信工程学院 班级: 电信10 学号: 41050204 姓名: 陈小慧 指导教师: 2013年3月27日FPGA系统设计实验报告陈小慧计算机与通信工程学院,电信10,学号:41050204【摘要】 本文第一部分主要介绍了FPGA;第二部分为实验的内容和结果;第三部分为根据实验二设计的拓展实验;最后部分为实验报告总结。【关键字】 FPGA ;SOPC;20nm1 引言FPGA 自1984年Xilinx公司发明以来,逐渐一起全球集成电路格局的变化。从一开始仅仅实现粘合逻辑到后来的数字信号处理以及目前的系统级解决方案,FPGA 不断蚕食着微处理器、DSP以及
2、ASIC的市场,成为目前发展最为迅猛的热门技术之一。本文便在高校学习的基础上,简单介绍了一些FPGA的概念和应用,并在完成实验的基础上写了实验的过程和总结。2 FPGA简介2.1 FPGA的概述单片机可以理解为集成在单一芯片上的微型计算机系统,麻雀虽小可是五脏俱全,也有运算器、控制器、存储器、总线及输入输出设备,采用也是存储程序执行的方式,对单片机的编程就是对其中的ROM写入程序,在加电后ROM中的程序会像计算机内存中的程序一样得到逐条的执行。当今的单片机还集成了A/D、D/A转换,并串口等多种与外界进行数据交换的手段。单片机计算速度和性能有限,但在一些基本控制上搓绰绰有余。FPGA则是操控层
3、次更低,所以自由度更大的芯片,对FPGA的编程在编译后是转化为FPGA内的连线表,相当于FPGA内提供了大量的与非门、或非门、触发器(可以用与非门形成吧)等基本数字器件,编程决定了有多少器件被使用以及它们之间的连接。只要FPGA规模够大,这些数字器件理论上能形成一切数字系统,包括单片机甚至CPU。FPGA在抗干扰,速度上有很大优势。2.2 FPGA的发展前沿2.2.1 FPGA向SOPC方向发展System-on-a-Programmable-Chip,即可编程片上系统。 用可编程逻辑技术把整个系统放到一块硅片上,称作SOPC。可编程片上系统(SOPC)是一种特殊的嵌入式系统:首先它是片上系统
4、(SOC),即由单个芯片完成整个系统的主要逻辑功能;其次,它是可编程系统,具有灵活的设计方式,可裁减、可扩充、可升级,并具备软硬件在系统可编程的功能。SOPC是SOC与FPGA相结合的产物。SOC(System-On-a-Chip)的定义,是指在一个芯片上包含了计算机引擎、存储器和逻辑电路的集成电路,其在本质上具备作为一个系统的基本要素。Soc采用单一芯片的形式实现了系统的功能,把系统从原来的整机、电路板缩小到芯片,不仅有利于实现系统的小型化、一体化,减少板级和整机对电路的干扰,同时还有助于降低产品成本。SOPC可以在一块现成的可编程芯片上提供系统集成。可编程系统级芯片还具有掩膜ASIC的高集
5、成度及FPGA的低风险、灵活和快速上市的特性1。相关成品为2012年10月中旬,Microsemi公司宣布推出其新一代SmartFusion2 SoC FPGA系列产品。该系列产品是市场上最安全的FPGA;还具备高可靠性、低功耗等优势;应用极其广泛。2.2.2 20纳米FPGA时代台积电28nm良率大幅提升的利好还没被市场彻底消化,FPGA业界双雄已争先恐后地发布20nm FPGA战略,在性能、功耗、集成度等方面均大幅跃升,蚕食ASIC之势将愈演愈烈。在45nm工艺节点,大量ASIC厂商率先量产;而到了28nm工艺时代,率先量产的7家公司中已有两家是FPGA厂商;在20nm时代,FPGA或将拔
6、得头筹。在28nm工艺节点上,赛灵思率先推出了统All Programmable的7系列FPGA、嵌入ARM cortex-A9的FPGA SoC以及采用3D封装技术的Virtex-7 2000T,赛灵思20nm产品依然是三个产品系列并行发展,分别“进化”成8系列FPGA、第二代FPGA SoC和第二代3D封装FPGA。赛灵思20nm 8系列All Programmable FPGA将有更快的DSP、BRAM(Block RAM)、DDR4及收发器,有最高的带宽(100个33Gb/s收发器),可以实现更高的带宽总线和更快的设计收敛。FPGA另一重要供应商Altera在20nm工艺也导入了三项新
7、技术。Altera高级副总裁、首席技术官Misha Burich介绍,Altera的20nm工艺FPGA一是可将芯片间的数据传输速度提高至40Gbps,而现行的28nm工艺FPGA为28Gbps。为了实现高速化,20nm工艺FPGA提高了收发器电路使用的晶体管性能,同时导入了根据在芯片间交换信号的波形来修正信号、改善信号干扰及衰减程度的电路技术。二是配备浮点运算性能达到5TFLOPS(每秒5万亿次浮点运算)以下的可变精度DSP模块。为了提高性能,将原来用软件实现的DSP部分运算处理改为了硬件操作。三是异构3D IC的应用。Altera的异构20nm FPGA的开发通过全功能高级设计环境得以实现
8、,这一设计环境包括系统集成工具(Qsys)、基于C语言的设计工具(OpenCL)以及DSP开发软件(DSP Builder)。Misha Burich表示,下一代高性能设计DSP开发人员不再需要花费数天甚至几个星期的时间来评估FPGA DSP解决方案的性能。通过集成OpenCL和DSP创新技术,采用业界标准设计工具和软件库,Altera产品能够实现5 TFLOPS的单精度DSP能力,这将重新树立业界TFLOPS/W硅片效率的标准。参考文献1 刘皖、何道君、谭明,FPGA设计与应用,清华大学出版社 ,2006年6月第1版,P2013 FPGA实验实验一 LED实验1.1实验目的l 学习Xilin
9、x公司ISE8.2i软件设计流程;l 熟悉SEED-XDTK XUPV2PRO实验环境;l 了解Verilog语言在FPGA中的使用;l FPGA管脚与外设的配置;l 了解时钟分频的Verilog实现。1.2实验内容l 定时时钟设计;l LED点亮。1.3实验步骤1.3.1创建工程 1. 双击桌面Xilinx ISE8.2 快捷方式或者选择【开始】/【所有程序】/【Xilinx ISE 8.2i】/【Project Navigator】打开 ISE 工程管理器(Project Navigator)。 2. 打开Project Navigator后,选择 File New Project,弹出新
10、建工程对话框建立文件名和路径。器件族类型(Device Family)选择“Virtex2P”,器件型号(Device)选“XC2VP30ff896-7”,综合工具(Synthesis Tool)选“XST(VHDL/Verilog)”,仿真器(Simulator)选“ISE Simulator”1.3.2新建Verilog源代码新工程创建完在【Sources】面板右击,选【New Source】命令打开新建代码智能向导,输入源代码;选【Add Source】命令调用以给源代码程序。如果以有源代码,则选择.v.文件,自动添加到窗口中。选择【Verilog Module】新建一个Verilog源
11、代码,然后在【File name】栏中输入文件名称led(区别大小写)。单击Next按钮进入模块定义页面,这个页面的【Port Name】栏中可以输入相应的端口名称(可在程序中定义);。直接点【Next】按钮进入新建代码总结页面单击【Finish】按钮完成新建代码过程。ISE将自动打开源代码视图以及设计总结视图,选择源代码视图。1.3.3编辑Verilog源代码。编辑led.v源代码成如下形式。module led(led_cona,led_conb,reset,clk,led_data);input reset;input clk;output led_cona;output led_con
12、b;output 7:0led_data;reg 7:0led_data;reg clk_1k;reg 15:0cnt_1k;reg 11:0cnt_led;parameter freq_1k=16'h3a98; assign led_cona=0;assign led_conb=1;initialbegincnt_1k<=0;clk_1k<=0;cnt_led<=0;endalways(posedge clk)beginif(reset=0)begincnt_1k<=0;clk_1k<=0;endelse if(cnt_1k=freq_1k)beginc
13、nt_1k<=0;clk_1k<=clk_1k;endelse cnt_1k<=cnt_1k+1;endalways(posedge clk_1k)if(reset=0) begin cnt_led<=0; led_data<='h01; endelsebegincase(cnt_led)'h001: led_data<='h01;'h07D: led_data<='h02;'h0FA: led_data<='h04;'h177: led_data<='h08;'
14、;h1F4: led_data<='h10;'h271: led_data<='h20;'h2EE: led_data<='h40;'h36B: led_data<='h80;'h3EC: beginled_data<='hff; cnt_led<='h000;enddefault: cnt_led<=cnt_led;endcasecnt_led<=cnt_led+1;endendmodule输入完毕保存。1.3.4综合(Synthesize XST)(1) 确保源代
15、码【led.v】在【Synthesis/Implementation】模式下(2) 在【Sources】窗口中选择【led】模块,然后在相关的程序窗口【processes】中双击【Synthesize-XST】。1.3.5添加约束在【Sources】窗口选中led.v文件,【Processes】窗口单击【User Constraints】左边的“”号展开,双击【Assign Package Pins】, 弹出新建一个UCF文件的对话框,点“yes”后就可以打开PACE。在【Design Object ListI/O pins】窗口的【Loc】栏输入连接FPGA的管脚名,在【Device Arc
16、hitecture】窗口放大即可以看清管脚分配。 管脚分配完毕,点击保存。退出PACE。在【Sources】窗口选中led.v文件,【Processes】窗口双击【User Constraints】下的【Edit Constrains】即可查看UCF文本实例的管脚约束文件(*.UCF文件)如下:NET "clk" LOC = "AH15" ;NET "led_cona" LOC = "R3" ;NET "led_conb" LOC = "V1" ;NET "led_
17、data0" LOC = "U8" ;NET "led_data1" LOC = "Y2" ;NET "led_data2" LOC = "Y1" ;NET "led_data3" LOC = "V5" ;NET "led_data4" LOC = "V4" ;NET "led_data5" LOC = "U7" ;NET "led_data6"
18、LOC = "U9" ;NET "led_data7" LOC = "W1" ;NET "reset" LOC = "AH5" ;即clk连接FPGA的AH15管脚,led_cona连接FPGA的R3管脚1.3.6FPGA的实现和下载配置Place&Route之后,进入配置FPGA阶段展开【Implement Design】左边的“”号,自动执行FPGA实现阶段的过程。双击【Generate Programming】生成可下载的*.bit文件展开【Processes】栏的【Generat
19、e Programming】旁的“”号,双击【Configure Device】打开iMPACT下载程序。弹出【iMPACTWelcome to iMPACT】对画框,选中【Configure devices using BoundaryScan(JTAG)】,单击【FINISH】。弹出【Assign New Configuration File】对话框,即给器件指定配置文件,其中前两个器件为PROM和CPLD,都选择【Bypass】按钮,最后一个器件为FPGA,选择led.bit文件,选择【Open】按钮, 弹出的对话框单击【OK】,弹出一个警告信息,再单击【OK】按钮。右击最后一个器件,单
20、击【Program】弹出的对话框单击【OK】,如果下载成功则出现Program Succeed。1.4实验结果会看到实验箱的LED灯闪烁,证明结果正确。实验二 LED点阵实验2.1实验目的:熟悉ISE8.2开发环境,掌握工程的生成方法;熟悉SEED-XDTK XUPV2Pro实验环境;了解Verilog语言在FPGA中的使用。了解定时器的Verilog实现。2.2实验内容定时时钟设计;LED点阵亮点的控制。2.3实验步骤: 2.3.1创建工程 双击桌面Xilinx ISE8.2 快捷方式或者选择【开始】/【所有程序】/【Xilinx ISE 8.2i】/【Project Navigator】打
21、开 ISE 工程管理器(Project Navigator)。 打开Project Navigator后,选择 File New Project,弹出新建工程对话框,选择工程存放的目录单击确定,Project Name(工程名称)输入工程名lab2。点击【Next】按钮,弹出器件特性对话框。器件族类型(Device Family)选择“Virtex2P”,器件型号(Device)选“XC2VP30ff896-7”,综合工具(Synthesis Tool)选“XST(VHDL/Verilog)”,仿真器(Simulator)选“ISE Simulator”,单击【Next】直到【Finish】。
22、 2.3.2添加源代码在【Sources】面板右击,选【Add Source】按钮,指向工程存放的目录文件夹下,打开dot.v文件。在弹出的【Adding Source Files】对话框单击【OK】,2.3.3综合双击dot.v打开源代码视图,双击【SynthesizeXST】进行综合。2.3.4添加约束本实例的管脚约束文件(UCF文件)如下:NET "clk" LOC = "AH15" ;NET "cpld_cona" LOC = "R3" ;NET "cpld_conb" LOC = &q
23、uot;V1" ;NET "dot_con0" LOC = "AA3" ;NET "dot_con10" LOC = "R4" ;NET "dot_con11" LOC = "T2" ;NET "dot_con12" LOC = "R7" ;NET "dot_con13" LOC = "P4" ;NET "dot_con14" LOC = "R2"
24、 ;NET "dot_con15" LOC = "P5" ;NET "dot_con1" LOC = "AB1" ;NET "dot_con2" LOC = "Y4" ;NET "dot_con3" LOC = "W4" ;NET "dot_con4" LOC = "V8" ;NET "dot_con5" LOC = "W5" ;NET "dot_
25、con6" LOC = "AA1" ;NET "dot_con7" LOC = "AA2" ;NET "dot_con8" LOC = "R6" ;NET "dot_con9" LOC = "U1" ;NET "dot_data0" LOC = "M4" ;NET "dot_data10" LOC = "U7" ;NET "dot_data11"
26、LOC = "V4" ;NET "dot_data12" LOC = "V5" ;NET "dot_data13" LOC = "Y1" ;NET "dot_data14" LOC = "Y2" ;NET "dot_data15" LOC = "U8" ;NET "dot_data1" LOC = "N2" ;NET "dot_data2" LOC = &q
27、uot;P9" ;NET "dot_data3" LOC = "L4" ;NET "dot_data4" LOC = "M2" ;NET "dot_data5" LOC = "N5" ;NET "dot_data6" LOC = "L5" ;NET "dot_data7" LOC = "N6" ;NET "dot_data8" LOC = "W1"
28、 ;NET "dot_data9" LOC = "U9" ;NET "reset" LOC = "AH5" ;在【Sources】窗口选中dot.v文件,【Processes】窗口单击【User Constraints】左边的“”号展开,双击【Assign Package Pins】 弹出新建一个UCF文件的对话框,点“yes”后就可以打开PACE。在【Design Object ListI/O pins】窗口的【Loc】栏输入连接FPGA的管脚名,在【Device Architecture】窗口放大即可以看清管脚
29、分配。管脚分配完毕,点击保存。退出PACE。在【Sources】窗口选中dot.v文件,【Processes】窗口双击【User Constraints】下的【Edit Constrains】即可查看*.UCF管脚约束文件。2.3.5配置下载文件双击【Generate Programming】生成可下载的bit文件。展开【Processes】栏的【Generate Programming】旁的“”号,双击【Configure Device】打开iMPACT下载程序。弹出【iMPACTWelcome to iMPACT】对画框,选中【Configure devices using Boundar
30、yScan(JTAG)】,单击【finsh】。弹出【Assign New Configuration File】对话框,即给器件指定配置文件,其中前两个器件为PROM和CPLD,都选择【Bypass】按钮,最后一个器件为FPGA,选择dot.bit文件,选择【Open】按钮 弹出的对话框单击【OK】,弹出一个警告信息,单击【OK】按钮。右击最后一个器件,单击【Program】右击FPGA,选中Program弹出的对话框单击【OK】,如果下载成功则出现Program Succeed。2.4实验结果实验结果可以看到合众达的图标(如图2-1)图2-1实验三键盘实验3.1实验目的:主模块调用子模块接口
31、程序了解子模块数码管显示程序显示的特点了解子模块键盘控制程序的特点3.2实验内容时钟分频设计;键盘数据读取;数码管点亮;蜂鸣器驱动。3.3实验例程介绍3.3.1例程流程图如图3-1 图3-13.3.2例程包含文件1. main.v:程序主模块,通过调用各功能模块实现键盘数据的读取、蜂鸣器的驱动以及数码管的显示 (主模块包含调用子模块的接口语句,但个子模块程序还未调用)2. v2_dcm.xaw:系统输入时钟处理文件,将外部输入时钟(100M)进行10 分频3. CLK_DIV.v:系统运行时钟分频文件,将系统运行时间进行分频,通过重载提供 100K 及 1K 的模块处理时钟 4. KEY_SC
32、AN.v:键盘读取程序,包含键盘去抖处理 5. DEBOUNCE.v:键盘去抖延时程序 6. THAN_HEX_LED.v:数码管点亮程序 7. main.ucf:FPGA 管脚分配程序 3.4实验步骤3.4.1创建工程1.双击桌面Xilinx ISE8.2 快捷方式或者选择【开始】/【所有程序】/【Xilinx ISE 8.2i】/【Project Navigator】打开 ISE 工程管理器(Project Navigator)。 2.打开Project Navigator后,选择 File New Project,弹出新建工程对话框, 在工程路径中单击“”按钮,选择工程存放的目录单击确定
33、,Project Name(工程名称)输入工程名lab3。点击【Next】按钮,弹出器件特性对话框。器件族类型(Device Family)选择“Virtex2P”,器件型号(Device)选“XC2VP30ff896-7”,综合工具(Synthesis Tool)选“XST(VHDL/Verilog)”,仿真器(Simulator)选“ISE Simulator”。单击【Next】直到【Finish】。3.4.2添加源代码在【Sources】面板右击,选【Add Source】按钮,指向工程存放的目录文件夹下,打开main.v文件在弹出的【Adding Source Files】对话框单击【
34、OK】, 用【Add Source】命令接着添加【CLK_DIV.v】,【v2_dcm.v】,【THAN_HEX_LED.v】,【KEY_SCAN.v】,【DEBOUNCE.v】文件,方法和添加顶层模块相同。展开【KEY_SCAN.v】旁的“”号,展开后会发现此文件关联的文件有“?”号,继续添加【DEBOUNCE.v】文件。共添加了五个程序模块.3.4.3综合双击main.v打开源代码视图,双击【SynthesizeXST】进行综合。双击进行综合3.4.4添加约束在【Sources】面板右击,选【Add Source】按钮,指向工程存放的目录文件夹下,打开【main.ucf】文件。弹出的对话框
35、单击【OK】。3.4.5配置下载文件双击【Generate Programming】生成可下载的bit文件。如图3-13。展开【Processes】栏的【Generate Programming】旁的“”号,双击【Configure Device】打开iMPACT下载程序弹出【iMPACTWelcome to iMPACT】对画框,选中【Configure devices using BoundaryScan(JTAG)】,单击【FINISH】。弹出【Assign New Configuration File】对话框,即给器件指定配置文件,其中前两个器件为PROM和CPLD,都选择【Bypas
36、s】按钮,最后一个器件为FPGA,选择【main.bit】文件,选择【Open】按钮弹出的对话框单击【OK】,弹出一个警告信息,单击【OK】按钮。右击最后一个器件,单击【Program】弹出的对话框单击【OK】,如果下载成功则出现Program Succeed。3.5实验结果按下按键,观察数码管的显示,在按键按下的同时可听见蜂鸣器的声音。按下“5”按键,实验结果如图3-1:图3-1 实验四 LCD显示实验4.1实验目的:闪频显示4.2实验内容:系统时钟DCM核的调用和编写时钟分频设计;LCD文字显示;FPGA的memory IP 核调用。4.3实验例程介绍:4.3.1例程流程图如图4-1所示。
37、图4-14.3.2例程包含文件:1. main.v:程序主模块,实现功能将AD 输入波形还原至 DA 输出 2. v2_dcm.xaw:系统输入时钟处理文件,将外部输入时钟(100M)进行10 分频 3. CLK_DIV.v:系统运行时钟分频文件,将系统运行时间进行分频,提供100K的模块处理时钟 4. LCD_DISPLAY.v:LCD 初始化,以及数据显示 4.1. LCD_WRITE.v:LCD 写操作函数 5. MEMORT_LCD.v:汉字字库存储空间 (IP核)6. main.ucf:FPGA 管脚分配程序4.4实验步骤:4.4.1创建工程1.双击桌面Xilinx ISE8.2 快
38、捷方式或者选择【开始】/【所有程序】/【Xilinx ISE 8.2i】/【Project Navigator】打开 ISE 工程管理器(Project Navigator)。 2.打开Project Navigator后,选择 File New Project,弹出新建工程对话框。在工程路径中单击“”按钮,选择工程存放的目录工程存放的目录,单击确定,Project Name(工程名称)输入工程名lab4。点击【Next】按钮,弹出器件特性对话框。器件族类型(Device Family)选择“Virtex2P”,器件型号(Device)选“XC2VP30ff896-7”,综合工具(Synthe
39、sis Tool)选“XST(VHDL/Verilog)”,仿真器(Simulator)选“ISE Simulator”。单击【Next】直到【Finish】。4.4.2添加源代码在【Sources】面板右击,选【Add Source】按钮,指向工程存放的目录文件夹下,打开main.v文件。如图4-4所示。在弹出的【Adding Source Files】对话框单击【OK】。会发现main模块为顶层模块,单击【sources】栏中的main.v旁边的“号, 用【Add Source】命令接着添加【CLK_DIV.v】,【LCD_DISPLAY.v】,【LCD_WRITE.v】文件,方法和添加顶
40、层模块相同。【v2_lcd_ziku.xco】文件为存储器核,看源代码【v2_lcd_ziku.v】,该文件已放在lcd文件夹下。【Add Source】命令接着添加【v2_dcm.xaw】文件的过程,方法和添加顶层模块相同。此时只显示主程序(main)等待编译。用同样的方法添加约束文件main.ucf。4.4.3配置下载文件双击【Generate Programming】生成可下载的bit文件。如图4-10。运行中展开【Processes】栏的【Generate Programming】旁的“”号,双击【Configure Device】打开iMPACT下载程序。弹出【iMPACTWelco
41、me to iMPACT】对画框,选中【Configure devices using BoundaryScan(JTAG)】,单击【Finish】弹出【Assign New Configuration File】对话框,即给器件指定配置文件,其中前两个器件为PROM和CPLD,都选择【Bypass】按钮,最后一个器件为FPGA,选择【main.bit】文件,选择【Open】按钮,如图4-12。弹出的对话框单击【OK】,弹出一个警告信息,单击【OK】按钮。右击最后一个器件,单击【Program】弹出的对话框单击【OK】,如果下载成功则出现Program Succeed。4.5实验结果观察LCD
42、,合众达刷屏显示,如下图4-1为当前时刻的显示,图4-2为几秒之后的显示。图4-1 图4-2 实验五RTC读取实验5.1实验目的:熟悉ISE8.2开发环境,掌握工程的生成方法;熟悉SEED-XDTK XUPV2PRO实验环境;了解Verilog语言在FPGA中的使用;了解RTC操作的Verilog实现5.2实验内容:系统时钟设计数码管点亮I2C实现5.3实验例程介绍5.3.1例程流程图如图5-1 图5-15.3.2例程包含文件1.main.v:程序主模块,实现功能将AD 输入波形还原至 DA 输出 2. v2_dcm.xaw:系统输入时钟处理文件,将外部输入时钟(100M)进行10 分频 3.
43、 CLK_DIV.v:系统运行时钟分频文件,将系统运行时间进行分频,通过重载提供 100K 及 1K 的模块处理时钟 4. I2C_FUNC.v:I2C 功能实现 5. LED_DISPLAY.v:RTC 时钟信息写操作函数 6. TRAN_HEX_LED.v:数码管显示函数 7. main.ucf:FPGA 管脚分配程序5.4实验步骤:5.4.1创建工程1.双击桌面Xilinx ISE8.2 快捷方式或者选择【开始】/【所有程序】/【Xilinx ISE 8.2i】/【Project Navigator】打开 ISE 工程管理器(Project Navigator)。 2.打开Project
44、 Navigator后,选择 File New Project,弹出新建工程对话框。在工程路径中单击“”按钮,选择工程存放的目录工程存放的目录,单击确定,Project Name(工程名称)输入工程名lab4。点击【Next】按钮,弹出器件特性对话框。器件族类型(Device Family)选择“Virtex2P”,器件型号(Device)选“XC2VP30ff896-7”,综合工具(Synthesis Tool)选“XST(VHDL/Verilog)”,仿真器(Simulator)选“ISE Simulator”。单击【Next】直到【Finish】。5.4.2添加源代码在【Sources】
45、面板右击,选【Add Source】按钮,指向工程存放的目录文件夹下,打开main.v文件。如图5-4所示。用【Add Source】命令接着添加【v2_dcm.xaw】【CLK_DIV.v】【I2C_FUNC.v】【TRAN_HEX_LED.v】【LED_DISPLAY.v】以及约束文件【main.ucf】文件,方法和添加顶层模块相同。5.4.3配置下载文件双击【Generate Programming】生成可下载的bit文件。展开【Processes】栏的【Generate Programming】旁的“”号,双击【Configure Device】打开iMPACT下载程序。弹出【iMPA
46、CTWelcome to iMPACT】对画框,选中【Configure devices using BoundaryScan(JTAG)】,单击【FINISH】。弹出【Assign New Configuration File】对话框,即给器件指定配置文件,其中前两个器件为PROM和CPLD,都选择【Bypass】按钮,最后一个器件为FPGA,选择【main.bit】文件,选择【Open】按钮。 弹出的对话框单击【OK】,弹出一个警告信息,单击【OK】按钮。右击最后一个器件,单击【Program】弹出的对话框单击【OK】,如果下载成功则出现Program Succeed。5.5实验结果数码管
47、将显示RTC时钟,如图5-1所示显示为“23”秒,图5-2显示“28”秒,反应时钟在变化。图5-1 图5-2 4 FPGA实验拓展4.1实验目的:深入理解实验二的内容了解16*16LED点阵的控制程序通过LED点阵设计自己喜欢的图案4.2实验内容定时时钟设计;LED点阵亮点显示“陈小慧”三个汉字和一个笑脸图案。4.3实验步骤: 实验步骤与实验二的一样,只是将dot.v源文件代码改为如下:module my_hart(cpld_cona,cpld_conb,reset,dot_data,dot_con,clk);output cpld_cona;output cpld_conb;input re
48、set;output 15:0dot_data;output 15:0dot_con;input clk;reg dot_con;reg dot_data;reg 15:0cnt_1k;reg clk_1k;reg 3:0cnt;parameter freq_1k=16'h3a98;/cpld pinsassign cpld_cona=1;assign cpld_conb=1;/iniinitialbeginclk_1k=0;cnt_1k=0;cnt=0;end/freqalways(posedge clk)beginif(reset=0)begincnt_1k<=0;clk_1
49、k<=0;endelse if(cnt_1k=freq_1k)begincnt_1k<=0;clk_1k<=clk_1k;endelse cnt_1k<=cnt_1k+1;end/always(posedge clk_1k)if(reset=0)cnt<=0;elsebegincase(cnt)'h0:begindot_con<='h8000;dot_data<='hD17F; end'h1:begindot_con<='h4000;dot_data<='hEAE3;end'h2:begindot_con<='h2000;dot_data<='hE0D5;end'h3:begindot_con<='h1000;dot_data<='hF0AA;end'h4:begindot_con<='h0800;dot_data<='hE0BE;end'h5:begindot_con<='h0400;dot_data<='hC42A;end'h6:begindot_con<='h0200;dot_data<='
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 呼伦贝尔学院《英语教学名家教学赏析》2023-2024学年第二学期期末试卷
- 2017小学生消防课件
- 一流课程汇报答辩
- 泰山护理职业学院《基础俄语Ⅲ》2023-2024学年第一学期期末试卷
- 甘肃省2025届数学三下期末调研试题含解析
- 星海音乐学院《小动物临床用药专题》2023-2024学年第二学期期末试卷
- 浙江省宁波市北仑区部分校2024-2025学年小升初数学检测卷含解析
- 石家庄学院《建筑审美与评论》2023-2024学年第二学期期末试卷
- 梅州市蕉岭县2025年数学四下期末综合测试试题含解析
- 西安电子科技大学长安学院《药物合成原理》2023-2024学年第二学期期末试卷
- 印刷行业售后服务质量保障措施
- 《急性阑尾炎幻灯》课件
- 舞蹈工作室前台接待聘用合同
- 《编制说明-变电站监控系统防止电气误操作技术规范》
- 《论教育》主要篇目课件
- 血管外科常见病
- 城市建设施工噪音控制方案
- 2024届新高考语文高中古诗文必背72篇 【原文+注音+翻译】
- 邮政储蓄银行的2024年度借款合同范本
- 《最小公倍数》课件
- 从0到1开播指导抖音本地生活商家直播培训
评论
0/150
提交评论