数电实验报告 - 范文中心

数电实验报告

09/07

一,实验结果分析

实验一:Quartus II 原理图输入法设计

(2) 实验名称:设计实现全加器

实验任务要求:用实验内容(1)中生成的半加器模块和逻辑门设计实现一个全加器,仿真并验证其功能,并下载到实验板测试,要求用拨码开关设定输入信号,发光二极管显示输出信号。 原理图:

仿真波形图:

仿真波形图分析:输入a,b 代表加数与被加数,输入c 代表低位向本位

的进位。输出s 代表本位和,输出co 代表向高位的进位。

可得真值表为:

实验三:用VHDL 设计与实现时序逻辑电路

(3) 实验名称:连接8421计数器,分频器和数码管译码器

实验任务要求:用VHDL 语言设计实现一个带异步复位的8421码十

进制计数器,分频器的分频系数为25k ,并用数码管显示数字。

VHDL 代码:

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL;

entity div is end;

port(clk1 : in std_logic;

clk_out : out std_logic);

architecture d of div is begin end;

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY count10 IS PORT(

clk2,clear2:IN STD_LOGIC;

q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END count10;

ARCHITECTURE count OF count10 IS

SIGNAL q_temp:STD_LOGIC_VECTOR(3 DOWNTO 0);

process(clk1) begin

if (clk1'event and clk1='1') then end if;

if cnt=12499999 then else end if;

cnt

clk_tmp

signal cnt : integer range 0 to 12499999; signal clk_tmp : std_logic;

end process; clk_out

BEGIN

PROCESS(clk2,clear2) BEGIN

IF clear2='1' THEN q_temp

q_temp

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; USE IEEE.STD_LOGIC_ARITH.ALL;

ENTITY seg7 IS

PORT(a:IN STD_LOGIC_VECTOR(3 DOWNTO 0); b: OUT STD_LOGIC_VECTOR(6 DOWNTO 0); cat1:OUT STD_LOGIC_VECTOR(5 DOWNTO 0) ); END seg7;

ARCHITECTURE show OF seg7 IS BEGIN

PROCESS(a) BEGIN

CASE a IS

WHEN"0000"=>bbbbbbbbbbB

END show;

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity jishuqi8421 is

port(clk,clear:IN STD_LOGIC;

cout:OUT STD_LOGIC_VECTOR(6 DOWNTO 0); cat:OUT STD_LOGIC_VECTOR(5 DOWNTO 0) );

end jishuqi8421;

architecture ji of jishuqi8421 is component div25m port(clk1 : in std_logic;

clk_out : out std_logic);

end component; component count10 PORT(

clk2,clear2:IN STD_LOGIC;

q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); end component; component seg7

PORT(a:IN STD_LOGIC_VECTOR(3 DOWNTO 0); b: OUT STD_LOGIC_VECTOR(6 DOWNTO 0); cat1:OUT STD_LOGIC_VECTOR(5 DOWNTO 0) ); end component;

signal c:std_logic;

signal d:std_logic_vector(3 downto 0); begin

u1:div port map(clk1=>clk,clk_out=>c);

u2:count10 port map(clk2=>c,clear2=>clear,q=>d); u3:seg7 port map(a=>d,b=>cout,cat1=>cat); end ji;

仿真波形图:

(由于实际使用的50000000分频不方便仿真,仿真时使用12分频)

仿真波形图分析:

每隔12个时钟信号计数器的值会增加1,直到计数器的值为9时,再次返回0计数。

端口说明及连接图:

输入端口:clk :输入时钟信号。 clear:输入复位信号。 输出端口:cat[5]-cat[0]:控制哪个数码管亮。

cout[6]-cout[0]:控制数码管的哪一部分亮。

实验四:用VHDL 实现相关电路

(1) 实验名称:用VHDL 语言设计并实现六个数码管串行扫描电路

实验任务要求:要求同时显示0,1,2,3,4,5这6个不同的数字图形

到6个数码管上,仿真验证其功能,并下载到实验板测试。

VHDL 代码:

library ieee;

use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all;

entity shumakongzhi is port(clk_in: in std_logic; cat:out std_logic_vector(5 downto 0); a_out:out std_logic_vector(6 downto 0));

end shumakongzhi;

architecture a of shumakongzhi is

signal tmp:std_logic_vector(6 downto 0); signal cnt:integer range 0 to 599; signal cat_tmp:std_logic_vector(5 downto 0) ; begin

process(clk_in) begin

if(clk_in'event and clk_in='1') then if cnt=99 then cat_tmp

elsif cnt=199 then cat_tmp

case cat_tmp is when"011111"=>tmptmptmptmptmptmp

when others=>tmp

仿真波形图:

仿真波形图分析:cat[i]为0时,第i 个数码管亮。仿真时使

cat[5]-cat[0]依次为0且每次只有一个为0。cat[5]为0时显示0,cat[4]为0时显示1,cat[3]为0时显示2,cat[2]为0时显示3,

cat[1]为0时显示4,cat[1]为0时显示5。当扫描频率足够大时,就可以看到六个数码显示管同时显示,从左到右依次为012345。

端口说明及连接图:

输入:clk_in:输入时钟信号。

输出:cat[5]-cat[0]:控制哪个数码管亮。 a_out[6]-a_out[0]:控制数码管的哪一部分亮。

(2) 实验名称:用VHDL 语言设计并实现六个数码管滚动显示电路

实验任务要求:向左滚动,用全灭的数码管填充右边直至全部变灭,然后再依次从右边一个一个地点亮。状态为:0012345->12345X->2345XX-> 345XXX->45XXXX->5XXXXX->XXXXXX->XXXXX0->XXXX01->XXX012->XX0123-> X01234->012345。

VHDL 代码:

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY shumasaomiao3 IS

PORT(CLK:IN STD_LOGIC;

SG:OUT STD_LOGIC_VECTOR(6 DOWNTO 0);

BT:OUT STD_LOGIC_VECTOR(5 DOWNTO 0));

END shumasaomiao3;

ARCHITECTURE ACE OF shumasaomiao3 IS

component fen2k

port(clk_in:in std_logic;

clk_out:out std_logic);

end component;

SIGNAL CNT6:INTEGER RANGE 0 TO 11;

SIGNAL A:INTEGER RANGE 0 TO 11;

SIGNAL COUNT:INTEGER RANGE 0 TO 4999 := 0;

SIGNAl FLAG:INTEGER RANGE 0 TO 12 := 0;

SIGNAl FLAG_A:INTEGER RANGE 0 TO 11;

SIGNAL clk_tmp:STD_LOGIC;

BEGIN

u1:fen2k port map(clk_in=>CLK,clk_out=>clk_tmp);

P1:process(CNT6)

BEGIN

CASE CNT6 IS

WHEN 0 => BT

WHEN 1 => BT

WHEN 2 => BT

WHEN 3 => BT

WHEN 4 => BT

WHEN 5 => BT

WHEN 6 => BT

WHEN 7 => BT

WHEN 8 => BT

WHEN 9 => BT

WHEN 10 => BT

WHEN 11 => BT

WHEN OTHERS => NULL;

END CASE ;

END PROCESS P1;

P2:process(clk_tmp)

BEGIN

IF clk_tmp'EVENT AND clk_tmp= '1' THEN

if CNT6= 11 then

CNT6

else

CNT6

end if;

IF (FLAG = 12) THEN

FLAG

END IF;

IF COUNT =4999 THEN

COUNT

FLAG

ELSE

COUNT

END IF;

END IF;

END PROCESS P2;

P3:process(A,FLAG,FLAG_A)

BEGIN

FLAG_A

CASE FLAG_A IS

WHEN 0=> SG

WHEN 1=> SG

WHEN 2=> SG

WHEN 3=> SG

WHEN 4=> SG

WHEN 5=> SG

WHEN 6=> SG

WHEN 7=> SG

WHEN 8=> SG

WHEN 9=> SG

WHEN 10=> SG

WHEN 11=> SG

WHEN OTHERS =>NULL ;

END CASE ;

END PROCESS P3;

END ACE;

仿真波形图:

仿真波形图的分析: 由波形可见,随着大计数周期的增加,依次产生0012345-12345X-2345XX-345XXX-45XXXX-5XXXXX-XXXXXX-XXXXX0-

XXXX01-XXX012-XX0123-X01234-012345,这样便实现了循环移位。

端口说明及连接图:

输入:clk:输入时钟信号。

输出:BT[5]-BT[0]: 控制哪个数码管亮。

SG[6]-SG[0]: 控制数码管的哪一部分亮。

二,故障及问题分析:

1. 代码反复报错,其逻辑语句在分析后并未出错,可能是文件头出错或分号忘写,注意检查自己VHDL 语言的规范性。

2. 仿真波形不出现,可能是文件名错误;时钟周期设置错误;文件未编译;clear 有效电平设计错误。若问题无法解决,则考虑自己的电路设计逻辑是否出错。

3. 电路下载到实验板后不能正常工作,首先检查仿真波形,检查实验板的时钟状态,检查程序无误后,检查管脚连接是否出错。

4. 出现冒险:尝试消除,有时候无法消除。

三,总结和结论:

1. 实验前应测试实验板所需部件能否正常工作,保证实验的顺利进行。

2. 上课前做好预习,上课时认真听讲,不遗漏老师的建议,课后及时复习掌握。

3. 课前查阅相关资料,对实验的惯例和常识有更多的了解。方便自己根据实验需要来进行模块的搭建或程序的编写。

4. 应规范VHDL 语言的使用习惯,变量名清晰明了,程序层次分明,一目了然,尽量避免冒险的出现,写程序时细心细致,避免出现低级错误,根据软件下方错误提示进行查错。

5. 进一步掌握Quartus II,做好仿真,并学会分析仿真结果的正确性,实验前应先明确步骤,查好资料,确定思路,加以实现。

6. 在电路出现问题时,要耐心细心的去寻找,去排查,去测试,查阅书籍,尝试解决。若遇到自己无法解决的问题,及时与同学讨论或询问老师。

7. 收获:通过本次实验,对于数字电路与逻辑设计实验有了初步的了解,与课本上的内容对照,加深了对知识的理解,提高了自己的动手能力。


相关内容

  • 实验室设备项目可行性研究报告
    实验室设备项目可行性研究报告 核心提示:实验室设备项目投资环境分析,实验室设备项目背景和发展概况,实验室设备项目建设的必要性,实验室设备行业竞争格局分析,实验室设备行业财务指标分析参考,实验室设备行业市场分析与建设规模,实验室设备项目建设条 ...
  • 数字化设计与制造大平台实验报告
    数字化设计与制造大平台实验 学院:专业:年级:姓名:学号:指导老师:报告 制造学院 工业设计 级 李光明 西南科技大学 制造学院 2012年12月 1 10 实验注意事项 1. 实验前必须认真阅读本实验指导书, 认真完成预习报告内容, 完成 ...
  • 大学生计算机基础实验报告
    < 大学计算机基础>课程 实验报告手册 学院 年级 专业 姓名 学号 任课教师 上机地点 (以上由学生填写) 实验教师(签字) 西南大学计算机与信息科学学院 计算机基础教育系 年 月 日 一. 实验说明 本课程实验分为一般性实验 ...
  • 八年级物理实验报告(人教版)
    姓名_________ 实验日期____年__月__日 实验名称 探究平面镜成像的特点 实验目的 观察平面镜成像的情况,找出成像的特点. 实验器材 同样大小的蜡烛一对.玻璃板.白纸一张.三角板一对.刻度尺一把 实验原理 实验步骤 平面镜成像 ...
  • 实验教学计划
    琚村小学2014-2015学年第一学期实验教学计划 一.指导思想 加强实验教学工作是贯彻教学大纲和课程标准的基本要求, 是实施素质教育的重要内容, 为进一步提高小学实验的管理水平和能力, 以及实验室材料实现科学化.分类.分档.档案管理,加强 ...
  • 五年级下册综合实践活动[学会实验研究方法]
    学会实验研究方法 授课年级 五年级 教材版本 山东科技出版社 一.教学分析 (一)教材分析 安排本活动主题的主要目的是引导学生了解实验研究的方法,知道实验研究的一般步骤,明确实验研究应注意的问题,知道实验报告的基本内容,初步体验实验研究的过 ...
  • 市政工程资料盒标签参考记录
    市政工程资料盒标签参考记录 A类:开工文件 B类:监理规划.实施细则.监理会议纪要.合同总监办总控制计划.人员配置通知书.监理通知及回复.工作联系单.监理工作日志.进度计划控制及报审表.安全.质量控制.工程延期审批.施工放样报验单.施工设备 ...
  • 第五届中国教育学会科研成果奖
    第五届"中国教育学会奖"优秀教育科研成 果评审情况介绍 为纪念中国教育学会成立 30 周年,检阅近 5 年来我国群众性教 育科学究和教改实验的成就,推动教育发展与改革,推动教育科学研 究事业的进步与繁荣,中国教育学会决定 ...
  • 材料力学实验报告标准答案
    力 学 实 验 报 告 标 准 答 案 长安大学力学实验教学中心 目 录 一. 拉伸实验············································································ ...
  • 植物生长与环境实验大纲
    <植物生长与环境>实验教学大纲 <植物生长与环境>实验是<植物生长与环境>课程教学过程中的重要 环节,是对理论教学的重要补充和验证,是实践技能培养的重要途径.实验 内容的安排以实用性为宗旨,以提高实践技能 ...