硬件课程设计实验报告.doc

?硬件课程设计说明书?? 学生姓名: 刘杰 学 号: 12101020128? 学院: 信息工程学院 专业: 计算机科学与技术? 指导教师: 马礼、吴磊、徐迟、宋丽华 ? 2014年 9 月 8 日 PAGE \* MERGEFORMAT PAGE \* MERGEFORMAT 2 实验一、七段数码管显示学号 程序功能框图设计 输入时钟信号 输入时钟信号 选择数字显示位置 显示学号 实验设计原理 源程序 LIBRARY IEEE; --程序库调用 USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY LED IS --实体定义 PORT(clk:IN STD_LOGIC; --时钟输入信号 location:buffer std_logic_vector(2 downto 0); --位置选择信号 Y:OUT STD_LOGIC_VECTOR(6 DOWNTO 0)); --学号输出信号 END LED; ARCHITECTURE behave OF LED IS --结构体定义 SIGNAL sig:INTEGER RANGE 0 TO 7; BEGIN process(clk) begin if clkevent and clk=1 then if sig=7 then sig=0; else sig=sig+1; end if; end if; end process; process(sig) --位置选择进程 begin case sig is when 0=location=000; --选中第一个数码管 when 1=location=001; --选中第二个数码管 when 2=location=010; --选中第三个数码管 when 3=location=011; --选中第四个数码管 when 4=location=100; --选中第五个数码管 when 5=location=101; --选中第六个数码管 when 6=location=110; --选中第七个数码管 when 7=location=111; --选中第八个数码管 when others= location=null; end case; end process; PROCESS(location) --学号显示进程 BEGIN CASE location IS when 000=Y=0000110;显示--1 when 001=Y=1011011;显示--2 when 010=Y=0000110;显示--1 when 011=Y=0111111;显示--0 when 100=Y=0111111;显示--0 when 101=Y=0000110;显示--1 when 110=Y=1011011;显示--2 when 111=Y=1111111;显示--8 when others =Y=null; END CASE; END PROCESS; END behave; --结束结构体 调试过程 五、功能仿真测试结果 显示1显示2 显示1 显示2 显示1 显示0 显示1 显示2 显示8 六、管脚锁定 七、硬件验证 八、实验过程中出现的问题及解决办法 实验中出现的问题:硬件验证的时候只能在第一个数码管上循环显示学号 解决办法:增加一个process选择显示不同数字的数码管 实验二、4位二进制数据比较器设计 程序功能框图设计 开始 开始 输入两个二进制数据以及级联信号 执行比较程序,进行据比较 输出比较结果 结束 实验设计原理 A3B3 X X X X X X X X X 0 1 0 A3=B3 A2B2 X X X X X X X 1 0 0 A3=B3 A2B2 X X X X X X X 0 1 0 A3=B3 A2=B2 A1B1 X X X X X 1 0 0 A3=B3 A2=B2 A1B1 X X X X X 0 1 0 A3=B3 A2=B2 A1=B1 A0B0 X X X 1 0 0 A3=B3 A2=B2 A1=B1 A0B0 X X X 0 1 0 A3=B3 A2=B2 A1

文档评论(0)

1亿VIP精品文档

相关文档