EDA实验报告范文_第1页
EDA实验报告范文_第2页
EDA实验报告范文_第3页
EDA实验报告范文_第4页
EDA实验报告范文_第5页
已阅读5页,还剩8页未读, 继续免费阅读

下载本文档

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

文档简介

EDA实验报告电科133-27-李玲玲实验一:“四选一“多路选择器一、实验目的通过实验让顾客逐步理解、熟悉和掌握FPGA开发软件QuartusⅡ的使用办法及VHDL的编程办法。二、实验内容描述一种“四选一“多路选择器,通过实验实现一种四选一的多路选择器,观察其波形图,实现四选一的原理三、实验原理a,b,c,d是四个输入端口,s1和s0为通道选择控制信号端,y为输出端。当s1和s0取值分别为00,01,10和11时,输出端y将分别输出来自输入口a,b,c,d4个输入口分别输入不同频率信号时,针对选通控制端s1,s0的不同电平选择,则输出端y有对应的信号输出。四、实验环节1)使用QuartusⅡ建立工程打开QuartusⅡ软件并建立工程;建立图形设计文献;建立文本编辑文献;2)QuartusⅡ工程设计在VHDL文献中编写源程序,从设计文献创立模块,将led.bsf模块添加到QuartusⅡ顶层模块,添加引脚和其它基本单元3)设立编译选项并编译硬件系统设立编译选项,编译硬件系统,查看编译报告,下载硬件设计到目的FPGA五、实验参考程序LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYledISPORT(a,b,c,d:INSTD_LOGIC;s0,s1:INSTD_LOGIC;y:OUTSTD_LOGIC);ENDENTITYled;ARCHITECTUREBHVOFledISSIGNALS:STD_LOGIC_VECTOR(1DOWNTO0);BEGINS<=s1&s0;PROCESS(s1,s0)BEGINCASE(S)ISWHEN"00"=>y<=a;WHEN"01"=>y<=b;WHEN"10"=>y<=c;WHEN"11"=>y<=d;WHENOTHERS=>NULL;ENDCASE;ENDPROCESS;ENDARCHITECTUREBHV;六、实验总结实验二:I/O控制实验一、实验目的通过此实验让顾客进一步理解、熟悉和掌握CPLD/FPGA开发软件的使用办法及VHDL的编程办法,并熟悉以VHDL文献为顶层模块的设计;学好并体会分支条件语句case的使用办法及FPGAI/O的输入/输出控制。二、实验内容SmartSOPC实验箱上完毕8个按键KEY1-KEY8和8个发光二极管LED1-LED8。本实验内容是规定在SmartSOPC实验箱上完毕对8个按键KEY1-KEY8进行监控,一旦有键入则判断其键值,并点亮对应的发光二极管。例如:若KEY3按下,则点亮LED1-LED3发光管。三、实验原理SmartSOPC实验箱8个发光二极管LED1-LED8的电路原理如图2.44所示,芯片输出后通过串连一种限流电阻和一种发光二极管构成,发光管采用共阳接法,减少芯片引脚的输出功率。控制引脚为低电平时,LED点亮;控制引脚为高电平时,LED不亮;SmartSOPC实验箱8个按键KEY1-KEY8的电路原理图如图2.45所示,芯片输入通过串联一种限流电阻和一种按键开关构成,开关采用共阴接法,减少系统的运行功率。按钮按下时,输入引脚为低电平,度数为0;按钮悬空时,输入引脚为高电平,度数为1。FPGA的全部I/O引脚单独配备为输入口,但是这种配备是系统自动完毕的。当该I/O口被设立为输入口使用时,该I/O控制模块将直接使三态缓冲区的控制端接地,使得该I/O引脚对外呈高阻态,这样该I/O引脚即可用作专用输入引脚。对的分派并锁定引脚后,一旦在KEY1-KEY8中有键输入,即可在检测到键盘输入的状况下,继续判断其键盘值并作出对应的解决。四、实验环节1)建立一种新的工程,编写VHDL程序代码;2)实验箱配备引脚如表2.2,在引脚适配过程中配备对应的引脚;表2.2引脚锁定办法信号引脚IC6

IC12EDA

led[0]505050led[1]535353led[2]545454led[3]555555led[4]176176176led[5]474747led[6]484848led[7]494949key[0]121121121key[1]122122122key[2]123123123key[3]124124124key[4]143143143key[5]141141141key[6]158158158key[7]1561561563)点击综合按键,对系统进行综合;4)取出SmartSOPC实验箱,将实验箱上的JP6的LED0-LED7、LED1-LED8分别与FPGA引脚50、53-55、176和47-49相连,并接通电源;5)将程序下载到实验箱,并进行实验,观察实验成果,并分析其因素。五、实验参考程序LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_Arith.ALL;USEIEEE.STD_LOGIC_Unsigned.ALL;ENTITYkeyledISPORT(key:INSTD_LOGIC_VECTOR(7DOWNTO0);led:OUTSTD_LOGIC_VECTOR(7DOWNTO0));END;ARCHITECTUREoneOFkeyledISSIGNALled_r:STD_LOGIC_VECTOR(7DOWNTO0);SIGNALbuffer_r:STD_LOGIC_VECTOR(7DOWNTO0);BEGINled<=led_r;PROCESS(key,buffer_r)BEGINbuffer_r<=key;CASEbuffer_rISWHEN"11111110"=>led_r<="11111110";WHEN"11111101"=>led_r<="11111101";WHEN"11111011"=>led_r<="11111011";WHEN"11110111"=>led_r<="11110111";WHEN"11101111"=>led_r<="11101111";WHEN"11011111"=>led_r<="11011111";WHEN"10111111"=>led_r<="10111111";WHEN"01111111"=>led_r<="01111111";WHENOTHERS=>led_r<="11111111";ENDCASE;ENDPROCESS;END;六、实验思考1)通过按键单独控制对应的LED灯,例如Key1按下,LED1点亮;Key1松开,LED1熄灭。参考程序以下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_Arith.ALL;USEIEEE.STD_LOGIC_Unsigned.ALL;ENTITYkeyledISPORT(key:INSTD_LOGIC_VECTOR(7DOWNTO0);led:OUTSTD_LOGIC_VECTOR(7DOWNTO0));END;ARCHITECTUREoneOFkeyledISSIGNALled_r:STD_LOGIC_VECTOR(7DOWNTO0);SIGNALbuffer_r:STD_LOGIC_VECTOR(7DOWNTO0);BEGINled<=led_r;PROCESS(key,buffer_r)BEGINbuffer_r<=key;IF(buffer_r(0)='0')THENled_r(0)<='0';elseled_r(0)<='1';ENDIF;IF(buffer_r(1)='0')THENled_r(1)<='0';elseled_r(1)<='1';ENDIF;IF(buffer_r(2)='0')THENled_r(2)<='0';elseled_r(2)<='1';ENDIF;IF(buffer_r(3)='0')THENled_r(3)<='0';elseled_r(3)<='1';ENDIF;IF(buffer_r(4)='0')THENled_r(4)<='0';elseled_r(4)<='1';ENDIF;IF(buffer_r(5)='0')THENled_r(5)<='0';elseled_r(5)<='1';ENDIF;IF(buffer_r(6)='0')THENled_r(6)<='0';elseled_r(6)<='1';ENDIF;IF(buffer_r(7)='0')THENled_r(7)<='0';elseled_r(7)<='1';ENDIF;ENDPROCESS;END;七、实验总结实验三:数码管显示实验一、实验目的学习7段数码管显示译码器的设计,进一步理解、熟悉和掌握FPGA开发软件QuartusⅡ的使用办法及VHDL的编程办法。二、实验内容SmartSOPC实验箱上有两个4位动态共阳数码管LED12和LED13。本实验的内容是建立7段译码显示模块,用于控制LED数码管的动态显示。规定在SmartSOPC实验箱上的数码管循环依次显示0-9,A-F共16个字符。三、实验原理数码管LED显示是工程项目中使用较广的一种输出显示显示屏件。常见的数码管有共阴和共阳两种。共阴数码管是将8个发光二极管的阴极连接在一起作为公共端,而共阳数码管是将8个发光二极管的阳极连接在一起作为公共端。公共端常称为位码,而其它8位称为段码。如图2.46所示为共阳数码管及其电路,数码管有8个段分别为:h、g、f、e、d、c、b、a和a(h为小数点),只要公共端为高电平“1”,某个段输出低电平“0”则对应的段就亮。例如,数码管的8个段h、g、f、e、d、c、b、a分别接,1、0、1、0、0、1、0、0数码管就显示“2”。其硬件原理图如图2.46所示。其中8个位码DIG0—DIG7和8位段码SEGO-SEG7分别与FPGA对应的引脚相连。这样,只要DIG0-DIG7上始终输出低电平“0",则8个数码管将显示相似的数码(由于8个LED数码管的段码线分别接到了同一引脚上),这样8位动态LED数码管变成了静态LED。本实验通过分频进程int_div分频得到1hz的频率信号,分频后的信号触发4位计数器的时钟输入端,计数循环输出0一9、A一F共16个数。最后通过七段译码进程译码后在数码管上显示出来。四、实验环节1)建立一种新的工程,编写VHDL程序代码;2)实验箱配备引脚如表2.3,在引脚适配过程中配备对应的引脚;表2.3引脚锁定办法信号引脚IC6IC12EDAseg[0]169169169seg[1]170170170seg[2]167167167seg[3]168168168seg[4]165165165seg[5]166166166seg[6]163163163seg[7]164164164dig[0]160160160dig[1]159159159dig[2]152162162dig[3]161161161dig[4]204236215dig[5]199237216dig[6]198238213dig[7]205239214clock2828283)点击综合按键,对系统进行综合;4)取出SmartSPOC实验箱,接通电源;5)将程序下载到实验箱,并进行实验,观察实验成果,并分析其因素。五、实验参考程序LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;ENTITYSLEDsISPORT(clk:INSTD_LOGIC;dig:OUTSTD_LOGIC_VECTOR(7DOWNTO0);seg:OUTSTD_LOGIC_VECTOR(7DOWNTO0));END;ARCHITECTUREONEOFSLEDsISSIGNALCounter:IntegerSIGNALclk1:STD_LOGIC;SIGNALd:STD_LOGIC_VECTOR(3DOWNTO0);SIGNALseg_r:STD_LOGIC_VECTOR(7DOWNTO0);BEGINPROCESS(clk)BEGINIF(clk'EVENTANDclk='1')THENIFCounter=48000000-1THENcounter<=0;clk1<=Notclk1;ELSECounter<=Counter+1;ENDIF;ENDIF;ENDPROCESS;PROCESS(clk1)BEGINIF(CLK1'EVENTANDclk1='1')THENd<=d+1;ENDIF;ENDPROCESS;PROCESS(d)BEGINCASEdISWHENX"0"=>seg_r<=X"c0";--0WHENX"1"=>seg_r<=X"f9";--1WHENX"2"=>seg_r<=X"a4";--2WHENX"3"=>seg_r<=X"b0";--3WHENX"4"=>seg_r<=X"99";--4WHENX"5"=>seg_r<=X"92";--5WHENX"6"=>seg_r<=X"82";--6WHENX"7"=>seg_r<=X"f8";--7WHENX"8"=>seg_r<=X"80";--8WHENX"9"=>seg_r<=X"90";--9WHENX"a"=>seg_r<=X"88";--aWHENX"b"=>seg_r<=X"83";--bWHENX"c"=>seg_r<=X"c6";--cWHENX"d"=>seg_r<=X"a1";--dWHENX"e"=>seg_r<=X"86";--eWHENX"f"=>seg_r<=X"8e";--fWHENOTHERS=>SEG_R<=X"FF";ENDCASE;ENDPROCESS;seg<=seg_r;DIG<="10101010";END;六、思考题实现数码管的动态显示,即8个数码管分别显示0-7共八个数。参考程序以下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;ENTITYSLEDsISPORT(clk:INSTD_LOGIC;dig:OUTSTD_LOGIC_VECTOR(7DOWNTO0);seg:OUTSTD_LOGIC_VECTOR(7DOWNTO0));END;ARCHITECTUREONEOFSLEDsISSIGNALCounter:IntegerSIGNALclk1:STD_LOGIC;SIGNALd:STD_LOGIC_VECTOR(3DOWNTO0);SIGNALf:STD_LOGIC_VECTOR(3DOWNTO0):="0000";SIGNALseg_r:STD_LOGIC_VECTOR(7DOWNTO0);BEGINPROCESS(clk)BEGINIF(clk'EVENTANDclk='1')THENIFCounter=24000000-1THENcounter<=0;clk1<=Notclk1;ELSECounter<=Counter+1;ENDIF;ENDIF;ENDPROCESS;PROCESS(clk1)BEGINIF(CLK1'EVENTANDclk1='1')THENd<=d+1;f<=f+1;ENDIF;ENDPROCESS;PROCESS(f)BEGINCASEfISWHENX"0"=>seg_r<=X"c0";--0WHENX"1"=>seg_r<=X"f9";--1WHENX"2"=>seg_r<=X"a4";--2WHENX"3"=>seg_r<=X"b0";--3WHENX"4"=>seg_r<=X"99";--4WHENX"5"=>seg_r<=X"92";--5WHENX"6"=>seg_r<=X"82";--6WHENX"7"=>seg_r<=X"f8";--7WHENX"8"=>seg_r<=X"80";--8WHENX"9"=>seg_r<=X"90";--9WHENX"a"=>seg_r<=X"88";--aWHENX"b"=>seg_r<=X"83";--bWHENX"c"=>seg_r<=X"c6";--cWHENX"d"=>seg_r<=X"a1";--dWHENX"e"=>seg_r<=X"86";--eWHENX"f"=>seg_r<=X"8e";--fWHENOTHERS=>SEG_R<=X"FF";ENDCASE;ENDPROCESS;PROCESS(d)BEGINCASEdISWHENX"0"=>dig<="01111111";--0WHENX"1"=>dig<="10111111";--1WHENX"2"=>dig<="11011111";--2WHENX"3"=>dig<="11101111";--3WHENX"4"=>dig<="11110111";--4WHENX"5"=>dig<="11111011";--5WHENX"6"=>dig<="11111101";--6WHENX"7"=>dig<="11111110";--7WHENOTHERS=>dig<=X"FF";ENDCASE;ENDPROCESS;seg<=seg_r;END;七、实验总结实验四:计数器实验一、实验目的学习计数器的设计、方阵、和硬件测试,进一步熟悉VHDL的编程办法。二、实验内容本实验的内容是运用QuartusⅡ建立一种含计数使能、异步复位的4位加法计数器,并进行仿真测试。最后在SmartSOPC实验箱上进行硬件测试,由KEY1控制计数器使能ena并由LED1批示,KEY2控制复位端rst并由LED2批示。今晚ie输出由LED8批示,计数值由数码管批示。时钟clk由分频模块int_div分频得到4hz的信号。三、实验原理如图2.47所示是一种含计数使能、异步复位的4位加法计数器,图中间是4位锁存器;key2是异步清零信号,低电平有效;clk是锁存信号;当key2为1时使能锁存器。四、实验环节1)建立一种新的工程,编写VHDL程序代码;2)实验箱配备引脚如表2.4,在引脚适配过程中配备对应的引脚;表2.4引脚锁定办法信号引脚IC6IC12EDAseg[0]169169169seg[1]170170170seg[2]167167167seg[3]168168168seg[4]165165165seg[5]166166166seg[6]163163163seg[7]164164164dig[0]160160160dig[1]159159159dig[2]162162162dig[3]161161161dig[4]204236215dig[5]199237216dig[6]198238213dig[7]205239214led1505050led2535353led8494949key1121121121key2122122122clock2828283)点击综合按键,对系统进行综合;4)取出SmartSPOC实验箱,将led1、led2、led8、key1、key2的短路帽接上,接通电源;5)将程序下载到实验箱,并进行实验,观察实验成果,并分析其因素。五、实验参考程序LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_Unsigned.ALL;USEIEEE.STD_LOGIC_Arith.ALL;ENTITYcnt_4bISPORT(clock,rst,ena:INSTD_LOGIC;dout:OUTSTD_LOGIC_VECTOR(3DOWNTO0);cout:OUTSTD_LOGIC);END;ARCHITECTUREoneOFcnt_4bISSIGNALcnt:STD_LOGIC_VECTOR(3DOWNTO0);BEGINdout<=cnt;cout<=cnt(3)andcnt(2)andcnt(1)andcnt(0);PROCESS(clock,rst,ena)BEGINIFrising_edge(clock)THENIFrst='0'THENcnt<="0000";ELSifena='1'THENCNT<=cnt+1;ENDIF;ENDIF;ENDPROCESS;ENDARCHITECTUREONE;LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_Unsigned.ALL;USEIEEE.STD_LOGIC_Arith.ALL;ENTITYdecl7sISPORT(d:INSTD_LOGIC_VECTOR(3DOWNTO0);seg:OUTSTD_LOGIC_VECTOR(7DOWNTO0));END;ARCHITECTUREONEOFdecl7sISSIGNALseg_r:STD_LOGIC_VECTOR(7DOWNTO0);BEGINseg<=seg_r;PROCESS(d)BEGINCASEdISWHENX"0"=>seg_r<=X"c0";WHENX"1"=>seg_r<=X"f9";WHENX"2"=>seg_r<=X"a4";

温馨提示

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

评论

0/150

提交评论