北航FPGA实验报告Word文档格式.docx

上传人:b****1 文档编号:13696360 上传时间:2022-10-12 格式:DOCX 页数:26 大小:411.51KB
下载 相关 举报
北航FPGA实验报告Word文档格式.docx_第1页
第1页 / 共26页
北航FPGA实验报告Word文档格式.docx_第2页
第2页 / 共26页
北航FPGA实验报告Word文档格式.docx_第3页
第3页 / 共26页
北航FPGA实验报告Word文档格式.docx_第4页
第4页 / 共26页
北航FPGA实验报告Word文档格式.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

北航FPGA实验报告Word文档格式.docx

《北航FPGA实验报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《北航FPGA实验报告Word文档格式.docx(26页珍藏版)》请在冰豆网上搜索。

北航FPGA实验报告Word文档格式.docx

三、实验内容

1、按指导书集成开发环境章节操作实现文本编程实例1和图形编程实例2全过程。

2、任选门电路、组合电路、时序电路实验各完成一个其逻辑功能,其实现方案自已规定。

在进行FPGA目标器件输入和输出引脚绑定时,输入引脚绑定高/低电平、单脉冲、各种分频连续脉冲等多种信号,输出引脚可绑定发光二极管、七段数码管、LED点阵等显示模式。

3、在完成1位十进制计数器的基础上,可增加完成2或3等多位十进制计数器逻辑功能并用多位七段数码管来显示。

4、用LED点阵显示任意字符、图形等信息。

四、实验代码及实验结果

1、4位二进制加法计数器

(1)实验代码

libraryieee;

useieee.std_logic_1164.all;

useieee.std_logic_unsigned.all;

entityerjinzhiis

port(clk,

rst:

instd_logic;

q:

outstd_logic_vector(3downto0));

endentityerjinzhi;

architecturebhvoferjinzhiis

signalq1:

std_logic_vector(3downto0);

begin

process(rst,clk)

begin

if(rst='

0'

)then

q1<

="

0000"

;

elsif(clk'

eventandclk='

1'

=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)实验现象

输出结果信息为第一、二、三、四个发光二极管按照0000→0001→……→1111循环显示,符合实验要求。

(该实验板上低电平为“1”)

2、半加器

(1)实验原理图

逻辑分析:

输入信号a、b;

输出信号分别为sum(和)、carry(进位)。

逻辑方程:

sum=a⊕b;

carry=a*b。

输入信号a→N18(SW-1)、b→M20(SW-2)、输出信号sum(和)→U12(LED1)、carry(进位)→V12(LED2)

ⅰ输入信号a、b都为“0”,输出结果信息为两个发光二极管均为“灭”,说明和和进位都为0;

ⅱ输入信号a为“1”,b为“0”,输出结果信息为第一个发光二极管“灭”,第二个发光二极管“亮”,说明和为“1”,进位为0;

ⅲ输入信号a为“0”,b为“1”,输出结果信息为第一个发光二极管“灭”,第二个发光二极管“亮”。

说明和为“1”,进位为“0”;

ⅳ输入信号a、b都为“1”,输出结果信息为第一个发光二极管“亮”第二个发光二极管“灭”,说明和为“0”,进位为“1”.均符合设计要求

3、RS触发器

(1)实验代码

entityrs_clkis

port(s,r,res:

q,not_q:

outstd_logic);

endrs_clk;

architecturebehavofrs_clkis

signalsel1,sel2:

std_logic;

begin

process(res,sel1,sel2)

ifres='

thensel1<

='

sel2<

elsif(S='

andR='

)thensel1<

=sel1;

=sel2;

endif;

Q<

not_q<

endprocess;

endbehav;

(3)实验现象

将实验现象总结为RS触发器特性表,其中X指0或1均可;

输入为”1”指SW输入为高,输入为”0”指SW输入为低;

输出为”1”指对应LED灯灭(实验台的LED灯为高电平灭),输出为”0”指对应LED灯亮。

CLK触发

输入S

输入R

原来的Q

新的输出Q*

1

X

保持原状

不定状态

4、数码管十六进制计数器

entitymotoris

port(

clk:

rst:

sel:

outstd_logic;

q:

outstd_logic_vector(3downto0);

d:

outstd_logic_vector(7downto0)

);

endentity;

architectureb1ofmotoris

signalq1,q2:

process(clk,rst)

ifclk'

eventandclk='

then

q1<

q2<

0010"

endif;

q<

=q2;

process(q1)

if(rst='

)thensel<

caseq1is

when"

=>

d<

11111100"

0001"

01100000"

11011010"

0011"

11110010"

0100"

01100110"

0101"

10110110"

0110"

10111110"

0111"

11100000"

1000"

11111110"

1001"

11110110"

1010"

11101110"

1011"

00111110"

1100"

10011100"

1101"

01111010"

1110"

10011110"

1111"

10001110"

endcase;

end;

将CLK接入较低频率,这样可以清晰地观察数码管从0—F(16进制数)的转变,完成一个循环之后,自动重新从0开始显示,进入下一个循环

5、跑马灯

entityledis

port(clk:

q:

outstd_logic_vector(7downto0));

architectureledofledis

constants0:

std_logic_vector(1downto0):

00"

constants1:

01"

constants2:

10"

constants3:

11"

signalpresent:

std_logic_vector(1downto0);

std_logic_vector(7downto0);

signalcount:

process(rst,clk)

)then

present<

=s0;

=(others=>

'

elsif(clk'

casepresentis

whens0=>

if(q1="

00000000"

10000000"

elseif(count="

count<

00000001"

=s1;

elseq1<

=q1(0)&

q1(7downto1);

=count+1;

whens1=>

if(count="

10000001"

=s2;

=q1(6down

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1