hnu 数字电路 实验1.1 异或门

该实验旨在通过QuartusII软件,使用VHDL语言和逻辑图设计异或门及3-8译码器。首先,创建工程并编写VHDL代码实现异或门,然后进行编译和RTL视图检查。接着,进行功能仿真验证异或门的正确性。最后,进行了时序仿真,分析了可能出现的冒险现象。此外,还设计了一个3-8译码器和模型机指令译码器,全面展示了VHDL在数字逻辑设计中的应用。
摘要由CSDN通过智能技术生成

一、实验目的
1.熟悉译码器的工作原理。
2.熟悉 Quartus II 软件的基本操作,了解各种设计方法(原理图设计、文本
设计、波形设计)。

二、实验内容
使用原理图和(/或) VHDL 语言两种方式,完成以下内容,并验证其功
能的正确性。
1.用逻辑图和 VHDL 语言设计一个异或门。
2.用逻辑图和 VHDL 语言设计一个 3-8 译码器。
3.用 VHDL 语言设计模型机指令译码器。

三、实验方法
完成原理图后使用Quartus II软件完成VHDL程序。
用逻辑图和VHDL语言设计一个异或门

四、实验步骤和实验过程
① 先画出异或门的逻辑图。
在这里插入图片描述

② 打开Quartus II,新建工程,编写源代码。
a.新建工程。【Create A New Project】->【Next】->设置文件路径为全英路径+设置project name为yi_huo ->【Next】->【Next】->Family 框处选择【Cyclone】->【Next】->【Next】->【Finish】。工程创建完毕。
b.新建编程文件。【File】->【New】->【VHDL File】,编程文件创建完毕。
③ 写好源代码,保存文件。(如图为源代码,VHDL实现)

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

entity yi_huo is
  port(x,y:in std_logic;
         z:out std_logic);
end entity yi_huo;
  
architecture a of yi_huo is
  begin
     z<= x xor y;
end architecture a;

在这里插入图片描述

④ 编译与调试。确保顶层实现的命名和工程名一致。点击【processing】-【star compilation】或者在这里插入图片描述
,进行文件编译,编译成功。
在这里插入图片描述

⑤ 查看RTL视图。【Tools】->【Netlist Viewer】->【RTL Viewer】
在这里插入图片描述

⑥ 结果分析及结论。如RTL图所示,X、Y为异或门的输入,Z为异或门输出,完成了异或门的设计,初步判断设计正确。

⑦ 功能仿真的波形及验证。新建一个vector waveform file,按照程序所述插入X、Y、Z三个节点(X、Y为输入节点,Z为输出节点)。
a.新建波形文件。【File】->【New】->【Vector Waveform File】->【OK】->双击->【Node Finder】->pins=all;【list】->【>>】->【OK】->【OK】->设置X、Y的波形图->保存文件)
b.生成网表,功能仿真。【Processing】->【Simulation Tool】->【Simulation mode】框选择【Functional】->【Generate Functional Simulation Netlist】。生成网表成功。
在这里插入图片描述

网表生成后才可以功能仿真。【Processing】->【Start Simulation】
在这里插入图片描述

功能仿真波形如下图:
在这里插入图片描述

c.结果分析及结论
0-10.0ns,z=0⊕0=0,仿真无误。
10.0-20.0ns,z=0⊕1=1,仿真无误。
20.0-30.0ns,z=1⊕0=1,仿真无误。
30.0-40.0ns,z=1⊕1=0,仿真无误。

⑧ 实现时序仿真。【Processing】->【Simulation Tool】->【Simulation mode】框选择【Timing】->【Start】。
a.时序仿真成功。
在这里插入图片描述

时序仿真波形图如图所示:
在这里插入图片描述

b.结果分析及结论
0-10.0ns,z=0⊕0=0,仿真无误。
10.0-17.6ns,0⊕1=1,由于有延时,显示的仍是0⊕0=0的情况。
17.6-20.0ns,z=0⊕1=1,仿真无误。
20.0-27.4ns,z=1⊕0=1,仿真无误。
27.4-28.2ns,1⊕0=1,由于有延时,显示的是1⊕1=0或者0⊕0=0的情况,出现冒险。
28.2-30.0ns,1⊕0=1,仿真无误。
30.0-37.4ns,1⊕1=0,由于有延时,显示的是1⊕0=1的情况。
37.4-40.0ns,1⊕1=0,仿真无误。
47.2-48.4ns,0⊕0=0,由于有延时,显示的是0⊕1=1或1⊕0=1的情况,出现冒险。

  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值