1、三、实验内容 1、按指导书集成开发环境章节操作实现文本编程实例1和图形编程实例2全过程。2、任选门电路、组合电路、时序电路实验各完成一个其逻辑功能,其实现方案自已规定。在进行FPGA目标器件输入和输出引脚绑定时,输入引脚绑定高/低电平、单脉冲、各种分频连续脉冲等多种信号,输出引脚可绑定发光二极管、七段数码管、LED点阵等显示模式。3、在完成1位十进制计数器的基础上,可增加完成2或3等多位十进制计数器逻辑功能并用多位七段数码管来显示。4、用LED点阵显示任意字符、图形等信息。四、实验代码及实验结果1、4位二进制加法计数器(1)实验代码 library ieee;use ieee.std_logi
2、c_1164.all;use ieee.std_logic_unsigned.all;entity erjinzhi isport(clk, rst:in std_logic; q:out std_logic_vector(3 downto 0);end entity erjinzhi;architecture bhv of erjinzhi issignal q1:std_logic_vector(3 downto 0); begin process(rst,clk) begin if(rst=0)then q1=0000; elsif(clkevent and clk = 1=q1+1;
3、end if; end process; q=q1;end architecture bhv;(2)管脚分配(3)实验操作 输入信号clk时钟把FPGA_EA2_P6(Pin_P20)用导线与(FRQ_Q21 1Hz)连接、rst清零N18(SW-1)、输出信号q3U12(LED1)、q2V12(LED2);q1V15(LED3);q0W13(LED4)。 把输入信号rst设为“1”、clk时钟(FRQ_Q21 1Hz) 用导线与(FRQ_Q21 1Hz)连接。(4)实验现象输出结果信息为第一、二、三、四个发光二极管按照000000011111循环显示,符合实验要求。(该实验板上低电平为“1”
4、)2、半加器(1)实验原理图逻辑分析:输入信号a、b;输出信号分别为sum(和)、carry(进位)。逻辑方程:sum=ab;carry=a * b。输入信号aN18(SW-1)、bM20(SW-2)、输出信号sum(和)U12(LED1)、carry(进位)V12(LED2)输入信号a、b都为“0”,输出结果信息为两个发光二极管均为“灭”,说明和和进位都为0;输入信号a为“1”,b为“0”,输出结果信息为第一个发光二极管“灭”,第二个发光二极管“亮”,说明和为“1”,进位为0;输入信号a为“0”,b为“1”,输出结果信息为第一个发光二极管“灭”,第二个发光二极管“亮” 。说明和为“1”,进位
5、为“0”;输入信号a、b都为“1”,输出结果信息为第一个发光二极管“亮” 第二个发光二极管“灭”,说明和为“0”,进位为“1”.均符合设计要求3、RS触发器(1)实验代码entity rs_clk isport( s,r,res :q,not_q:out std_logic);end rs_clk;architecture behav of rs_clk issignal sel1,sel2: std_logic;beginprocess(res,sel1,sel2)if res= then sel1=sel2elsif (S= and R=) then sel1=sel1; =sel2;en
6、d if;Qnot_qend process;end behav;(3)实验现象将实验现象总结为RS触发器特性表,其中X指0或1均可;输入为”1”指SW输入为高,输入为”0”指SW输入为低;输出为”1”指对应LED灯灭(实验台的LED灯为高电平灭),输出为”0”指对应LED灯亮。CLK触发输入S输入R原来的Q新的输出Q*1X保持原状不定状态4、数码管十六进制计数器entity motor isport(clk:rst:sel:out std_logic;q:out std_logic_vector(3 downto 0);d: out std_logic_vector(7 downto 0);
7、end entity;architecture b1 of motor is signal q1,q2:process(clk,rst)if clkevent and clk= thenq1q20010end if ;q=q2;process(q1)if(rst=) then seld1111110000010110000011011010001111110010010001100110010110110110011010111110011111100000100011111110100111110110101011101110101100111110110010011100110101111
8、010111010011110111110001110end case;end;将CLK接入较低频率,这样可以清晰地观察数码管从0F(16进制数)的转变,完成一个循环之后,自动重新从0开始显示,进入下一个循环5、跑马灯entity led isport(clk:q :out std_logic_vector(7 downto 0);architecture led of led isconstant s0:std_logic_vector(1 downto 0):00constant s1:01constant s2:10constant s3:11signal present:std_logic_vector(1 downto 0);std_logic_vector(7 downto 0);signal count:process(rst,clk)then presentelsif(clkcase present iswhen s0 = if(q1=0000000010000000else if(count=count00000001=s1;else q1 if(count=10000001=s2;=q1(6 down
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1