1 / 21
文档名称:

数字电路与逻辑设计实验报告.docx

格式:docx   大小:372KB   页数:21页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数字电路与逻辑设计实验报告.docx

上传人:260933426 2017/7/30 文件大小:372 KB

下载得到文件列表

数字电路与逻辑设计实验报告.docx

文档介绍

文档介绍:数字电路与逻辑设计
实验报告
学院:
班级:
班内序号:
学号:
姓名:
一、实验名称和实验任务要求
实验目的
实验一:
学会用QuartusII原理图输入法进行电路设计和仿真。
掌握QuartusII图形模块单元的生成和调用。
学会实验板的使用。
加深对半加器、全加器电路原理的理解。
实验二:
学会用VHDL语言设计组合电路的方法。
学会用QuartusII文本输入法进行电路设计。
加深对数码管译码器、编码转换和奇偶校验电路原理的理解。
实验三:
(1)学会用VHDL语言设计时序电路的方法。
(2)学会用QuartusII文本输入法进行电路设计。
(3)加深对计数器设计及分频器原理的理解。
(4)学会用VHDL语言对结构体的行为、数据流和结构进行描述。
实验四:
学会用VHDL语言对状态机进行描述。
掌握多个数码管动态扫描显示的原理及设计方法。
实验任务要求
实验一: QuartusII 原理图输入法设计与实现
用逻辑门设计一个半加器,仿真验证其功能,并生成新的半加器图形模块单元。
用(1)生成的半加器模块和逻辑门设计实现一个全加器,仿真验证其功能,并下载到实验板测试。要求用拨码开关设定输入信号,发光二极管显示输出信号。
实验二:
用VHDL语言设计实现一个共阴极7段数码管译码器,仿真验证其功能,并下载到实验板测试。要求用拨码开关设定输入信号,7段数码管显示输出信号。
用VHDL语言设计实现一个8421BCD码转换为余3码的代码转换器,仿真验证其功能。
用VHDL语言设计实现一个4位二进制奇偶校验器,输入奇数个‘1’时,输出为‘1’,否则输出‘0’,仿真验证其功能。
实验三:
用VHDL语言设计实现一个带异步复位的8421BCD码十进制计数器,仿真验证其功能。
用VHDL语言设计实现一个分频系数为12,分频输出信号占空比为50%的分频器,仿真验证其功能。
用VHDL语言将(1)、(2)和数码管译码器3 个电路进行连接,仿真验证其功能,并下载到实验板测试。
实验四:
用VHDL语言设计实现六个数码管串行扫描电路,要求同时显示0、1、2、3、4、5这六个不同的数字图形到6个数码管上,仿真验证其功能,并下载到实验板测试。
用VHDL语言设计实现六个数码管滚动显示电路。
①循环左移动,始终点亮六个数码管,左进右出。状态为:012345->123450->234501->345012->450123->501234->012345
②向左滚动,用全灭的数码管填充右边,直至全部变灭,然后再依次从右边一个一个地点亮。状态为:
012345->12345X->2345XX->345XXX->45XXXX->5XXXXX->XXXXXX->XXXXX0->XXXX01->XXX012->XX0123->X01234->012345,其中‘X’表示数码管不显示。
实验三(3)和实验四模块端口说明及连接图
实验三(3)模块端口说明
is
port(
clkin: in std_logic; --连接后电路的输入时钟
clearin: in std_logic; -- 连接后电路的复位输入
bout: out std_logic_vector (6 downto 0);-- 连接后电路的输出
cat:outstd_logic_vector(5 downto 0));-- 确定电路某数码管亮
;
component div12
port(clk : in std_logic;-- 12分频器的时钟输入
clkout : out std_logic);-- 12分频器的输出
ponent;
component count10
port(
clk : in std_logic-- 10进制计数器的的时钟输入
clear : in std_logic;-- 10进制计数器的复位输入
cnt : out std_logic_vector(3 downto 0));
-- 10进制计数器的二进制输出
ponent;
t4
port(
a : in std_logic_vector (3 downto 0);-- 数码管译码器的输入
b : out std_logic_vector (6 downto 0));-- 数码管译码器的输出
ponent;
signal c : std_logic;
signal d : std_logic_vector (3 downto 0);
begin
cat<="110111";
u1 : div12 port map(clk=>clkin, clkout=>c);
u2