搜档网
当前位置:搜档网 › 三态门、oc门实验报告 湖南大学数字逻辑

三态门、oc门实验报告 湖南大学数字逻辑

实验二三态门,OC门的设计与仿真

一、实验目的

熟悉三态门、OC门的原理,用逻辑图和VHDL语言设计三态门、OC门,并仿真。

二、实验内容

1.用逻辑图和VHDL语言设计三态门,三态门的使能端对低电平有效。

2.用逻辑图和VHDL语言设计一个OC门(集电极开路门)。

三、实验原理

1.三态门,又名三态缓冲器(Tri-State Buffer)

用途:用在总线传输上,有效而又灵活地控制多组数据在总线上通行,起着

交通信号灯的作用。

功能:三态逻辑输出三种不同的状态,其中两种状态常见的逻辑1和逻辑0,

第三个状态高阻值,称为高阻态,用Hi-Z或者Z或z表示三态缓冲器比普通缓冲器多了一个使能输入EN,即连接到缓冲器符号底部的信号。从真值表可以看出,如果是EN=1.则OUT等于IN,就像普通缓冲器一样。但是当EN=0时,无论输入的值什么,输出结果为高阻态(Hi-Z)。

逻辑图

真值表

波形图

2.OC门,又名集电极开路门(opndrn)

用途:集电极开路门(OC门)是一种用途广泛的门电路。典型应用是

可以实现线与的功能。

逻辑图

真值表

波形图

四、实验方法与步骤

实验方法:

采用基于FPGA进行数字逻辑电路设计的方法。

采用的软件工具是QuartusII软件仿真平台,采用的硬件平台是Altera EPF10K20TI144_4的FPGA试验箱。

实验步骤:

1、编写源代码。打开QuartusⅡ软件平台,点击File中得New建立一个文件。编写

的文件名与实体名一致,点击File/Save as以“.vhd”为扩展名存盘文件。VHDL 设计源代码如下:

三态门:

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY tri_s IS

PORT (

enable,datain:IN STD_LOGIC;

dataout:OUT STD_LOGIC

);

END tri_s;

ARCHITECTURE bhv OF tri_s IS

BEGIN

PROCESS (enable,datain)

BEGIN

IF enable='1' THEN dataout<=datain;

ELSE dataout<='Z';

END IF;

END PROCESS;

END bhv;

OC门:

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY oc IS

PORT(

datain:IN STD_LOGIC;

dataout:OUT STD_LOGIC

);

END oc;

ARCHITECTURE bhv OF oc IS

BEGIN

PROCESS (datain)

BEGIN

IF (datain='0') THEN dataout<='0';

ELSE dataout<='Z';

END IF;

END PROCESS;

END bhv;

2、按照实验箱上FPGA的芯片名更改编程芯片的设臵。操作是点击Assign/Device,选取芯片的类型,一般选“Altera的EPF10K20TI144_4”

3、编译与调试。

确定源代码文件为当前工程文件,点击Complier进行文件编译。编译结果有错误或警告,则将要调试修改直至文件编译成功。

4、波形仿真及验证。

在编译成功后,点击Waveform开始设计波形。点击“insert the node”,按照程序所述插入三个节点。设臵参数:选择菜单Edit->End Time和Edit ->Gird Size设臵结束时间和网格大小。然后输入信号激励,可生成波形图,最后点击保存按钮保存。

5、时序,功能仿真。

选择菜单Assignments->Settings命令,易可以选择时序仿真或功能,。

6、FPGA芯片编程及验证。

(1)将下载电缆线与USB接口(DDA_I型实验板)连接,打开实验平台电源开关。(2)选择Tools->Programmer命令,单击Hardware Setup按钮,单击Add Hardware 按钮,在Hardware type下拉列表中选择ByteBlassMV or ByteBlasterII项,Port为LPT1.单击OK确认设臵后单击Close按钮,完成电缆配臵。

(3)完成配臵后,单击Start按钮,Progress栏中出现100%,下载成功。

(4)初始化电路,根据设臵好的管脚资源操作实验,完成异或门测试。

五、实验结果与分析

1、编译过程

a)编译过程、调试结果:

选择菜单Processing-->Compiler Tool命令,弹出全编译工具窗口,单击Start按钮,执行全编译。根据Message窗口中警告和错误信息提示,修改电路重新编译直至编译成功。

b)结果分析及结论

编译成功。

2、功能仿真

a)功能仿真过程

选择菜单Assignments->Settings命令,弹出的仿真设计对话框,点击Simulator Settings选项后,在右侧的Simulator mode下拉列表中选择Fuctional,其他按默认设臵,单击OK按钮完成设臵。

b)及仿真结果

三态门功能仿真图

OC门功能仿真图

c)结果分析及结论

可看得出逻辑关系正确,符合以下真值表,功能仿真没有延迟。

三态门仿真图中当enable为1时,datain与dataout 同步变化,而当enable为0是,无论输入是什么,输出为一条粗黑线,说明输出的是高阻态,进一步说明使能端对低电平有效。

OC仿真图中,当datain为0时,dataout 也为0,当datain为1时,输出高阻态。可知仿真图正确符合逻辑关系。

3、时序仿真

a)时序仿真过程

选择菜单Assignments->Settings命令,弹出的仿真设计对话框,点击Simulator Settings选项后,在右侧的Simulator mode下拉列表中选择Timing,其他按默认设臵,单击OK按钮完成设臵。

b)仿真结果;

三态门:

OC门:

c)结果分析及结论

时序仿真输出和输出都有加入一定的延迟。

4、电路逻辑图

三态门:

OC门:

5、Programming芯片编程

a)芯片编程过程

调节管脚所连的二极管开关,可以控制二极管的亮与不亮,然后观察出现的情况。

1、三态门管脚分配如下:

2、OC门管脚分配如下:

b)编程芯片FPGA验证结果:

1、三态门:

2、OC门:

c)结果分析与结论

1、三态门:只有当enable和d_in所接二极管都亮时亮时,d_out所接二极管才亮;其余情况d_out所接二极管都不亮。

2、不管d_in所接二极管亮与否,d_out所接二极管均不亮。

六、实验结论

实验概括结论:三态门和OC门都有共同的有别于逻辑1和逻辑0的第三种输出值高阻态。三态门比普通的缓冲器多了一个使能输入EN,有四种不同的输入,但只有两种输出结果。在了解三态门和OC门的工作原理后,能较快运用VHDL语言和逻辑门实现编译、仿真和编程。

实验的心得:通过实验对QuartusII软件的操作有了进一步的了解,实行编译,仿真,编程操作都比较熟练。这次又认识了两种逻辑电路,三态门和OC门,对它们的电路结构,代码,仿真图以及编程芯片都有了较好的了解。用逻辑图和VHDL设计逻辑门,逻辑门相对比较简单,VHDL语言的语法比较麻烦,一个标点符号也不允许错,相当严格。

相关主题