2016年北航FPGA实验报告

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

电气技术实践可编程逻辑器件FPGA应用开发实验报告姓名班级学号2016年12月电气技术实践报告i目录一、实验目的........................................................................................................1二、实验要求........................................................................................................1三、实验内容........................................................................................................1四、实验代码及实验结果....................................................................................11、4位二进制加法计数器..........................................................................12、半加器.....................................................................................................33、RS触发器.................................................................................................34、数码管十六进制计数器.........................................................................55、跑马灯.....................................................................................................76、键盘电路.................................................................................................97、LED点阵显示........................................................................................118、多人抢答器...........................................................................................17五、实验感想......................................................................................................21电气技术实践FPGA报告1一、实验目的1、熟悉使用可编程逻辑器件(Altera公司FPGACyclone系列EP1C6Q)。2、熟悉使用硬件描述语言VHDL。3、掌握FPGA集成环境(Altera公司FPGAQuartusII9.0)开发流程。4、熟悉使用核心目标系统板与接口电路等工作原理及其功能模块绑定信息。5、熟悉并掌握下载线方式和下载文件的选择。二、实验要求1、学习并掌握文本、图形等输入和时序、功能仿真方法。2、学习并熟悉门电路、组合电路、时序电路等单一模块功能。3、学习并设计各种不同状态机逻辑功能。4、学习并设计由单一模块→较多功能模块集成→系统集成方法。5、学习并选择多种模式显示(发光二极管显示、米字型数码管显示、七段数码管→动态扫描或静态扫描显示、LED点阵显示各种字符和图形或静止或移动等方式、LCD液晶显示各种字符和图形或静止或移动等方式)。6、根据自已的兴趣和愿望,可从以下给定的实验目录中选取或自已设定功能题目。7、实验数目没有要求,关键是看质量,是否是自已编写、调试、实现。三、实验内容1、按指导书集成开发环境章节操作实现文本编程实例1和图形编程实例2全过程。2、任选门电路、组合电路、时序电路实验各完成一个其逻辑功能,其实现方案自已规定。在进行FPGA目标器件输入和输出引脚绑定时,输入引脚绑定高/低电平、单脉冲、各种分频连续脉冲等多种信号,输出引脚可绑定发光二极管、七段数码管、LED点阵等显示模式。3、在完成1位十进制计数器的基础上,可增加完成2或3等多位十进制计数器逻辑功能并用多位七段数码管来显示。4、用LED点阵显示任意字符、图形等信息。四、实验代码及实验结果1、4位二进制加法计数器(1)实验代码libraryieee;useieee.std_logic_1164.all;电气技术实践FPGA报告2useieee.std_logic_unsigned.all;entityerjinzhiisport(clk,rst:instd_logic;q:outstd_logic_vector(3downto0));endentityerjinzhi;architecturebhvoferjinzhiissignalq1:std_logic_vector(3downto0);beginprocess(rst,clk)beginif(rst='0')thenq1=0000;elsif(clk'eventandclk='1')thenq1=q1+1;endif;endprocess;q=q1;endarchitecturebhv;(2)管脚分配(3)实验操作①输入信号clk时钟→把FPGA_EA2_P6(Pin_P20)用导线与(FRQ_Q211Hz)连接、rst清零→N18(SW-1)、输出信号q3→U12(LED1)、q2→V12(LED2);q1→V15(LED3);q0→W13(LED4)。②把输入信号rst设为“1”、clk时钟(FRQ_Q211Hz)用导线与(FRQ_Q211Hz)连接。(4)实验现象电气技术实践FPGA报告3输出结果信息为第一、二、三、四个发光二极管按照0000→0001→……→1111循环显示,符合实验要求。(该实验板上低电平为“1”)2、半加器(1)实验原理图(2)管脚分配(3)实验操作逻辑分析:输入信号a、b;输出信号分别为sum(和)、carry(进位)。逻辑方程:sum=a⊕b;carry=a*b。输入信号a→N18(SW-1)、b→M20(SW-2)、输出信号sum(和)→U12(LED1)、carry(进位)→V12(LED2)(4)实验现象ⅰ输入信号a、b都为“0”,输出结果信息为两个发光二极管均为“灭”,说明和和进位都为0;ⅱ输入信号a为“1”,b为“0”,输出结果信息为第一个发光二极管“灭”,第二个发光二极管“亮”,说明和为“1”,进位为0;ⅲ输入信号a为“0”,b为“1”,输出结果信息为第一个发光二极管“灭”,第二个发光二极管“亮”。说明和为“1”,进位为“0”;ⅳ输入信号a、b都为“1”,输出结果信息为第一个发光二极管“亮”第二个发光二极管“灭”,说明和为“0”,进位为“1”.均符合设计要求3、RS触发器(1)实验代码libraryieee;useieee.std_logic_1164.all;电气技术实践FPGA报告4useieee.std_logic_unsigned.all;entityrs_clkisport(s,r,res:instd_logic;q,not_q:outstd_logic);endrs_clk;architecturebehavofrs_clkissignalsel1,sel2:std_logic;beginprocess(res,sel1,sel2)beginifres='0'thensel1='0';sel2='1';elsif(S='1'andR='0')thensel1='1';sel2='0';elsif(S='0'andR='1')thensel1='0';sel2='1';elsif(S='0'andR='0')thensel1=sel1;sel2=sel2;endif;Q=sel1;not_q=sel2;endprocess;endbehav;(2)管脚分配(3)实验操作(3)实验现象将实验现象总结为RS触发器特性表,其中X指0或1均可;输入为”1”指SW输入为高,输入为”0”指SW输入为低;输出为”1”指对应LED灯灭(实验台的LED灯为高电平灭),输出为”0”指对应LED灯亮。CLK触发输入S输入R原来的Q新的输出Q*100X保持原状1101111001电气技术实践FPGA报告51011010100111X不定状态0XXX保持原状4、数码管十六进制计数器(1)实验代码libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitymotorisport(clk:instd_logic;rst:instd_logic;sel:outstd_logic;q:outstd_logic_vector(3downto0);d:outstd_logic_vector(7downto0));endentity;architectureb1ofmotorissignalq1,q2:std_logic_vector(3downto0);beginprocess(clk,rst)beginifclk'eventandclk='1'thenq1=q1+1;q2=0010;endif;endprocess;q=q2;process(q1)电气技术实践FPGA报告6beginif(rst='1')thensel='0';caseq1iswhen0000=d=11111100;when0001=d=01100000;when0010=d=11011010;when0011=d=11110010;when0100=d=01100110;when0101=d=10110110;when0110=d=10111110;when0111=d=11100000;when1000=d=11111110;when1001=d=11110110;when1010=d=11101110;when1011=d=00111110;when1100=d=10011100;when1101=d=01111010;when1110=d=10011110;when1111=d=10001110;endcase;endif;endprocess;end;(2)管脚分配电气技术实践FPGA报告7(3)实验现象将CLK接入较低频率,这样可以清晰地观察数码管从0—F(16进制数)的转变,完成一个循环之后,自动重新从0开始显示,进入下一个循环5、跑马灯(1)实验代码libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entityledisport(clk:instd_logic;rst:instd_logic;q:outstd_logic_vector(7downto0));end;architectureledofledisconstants0:std_logic_vector(1downto0):=00;constants1:std_logic_vector(1downto0):=01;

1 / 23
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功