三态门的设计与仿真实验报告
一、实验内容
1、用逻辑图和VHDL语言设计三态门,三态门的使能端对低电平有效。
2、应用MaxplusII软件对三态门和OC门进行编译、仿真和模拟。
3、在“MaxplusII软件的基本操作”实验的基础上,能更加熟练的掌握应用MaxplusII软件,从而更形象更深层次的理解三态门和OC门。
二、实验平台及实验方法
用VHDL语言编写三态门和OC门的程序,运用Maxplus软件进行仿真,再结合FPGA(即对实验箱的芯片进行编译)进行验证。
也可以用原理图进行文本设计,波形设计。
逻辑符号图:
真值表:
EN A OUT
0 0 HI-Z
0 1 HI-Z
1 0 0
1 1 0
电路图:
三、实验过程
1.启动MaxplusII软件;
2.新建一个文本编辑文件,输入三态门的VHDL语言;
3.编译。点击file→save as,保存文件名为tri-s名称,扩展名为vhd,选择芯片类型为EPF10K20TI144-4,保存并进行编译,若编译结果出现0 error,0 warnings则说明编译通过。
4.仿真波形。点Max+plus II→Waveform editor,出现波形图的设置界面,然后点Node→Enter Nodes from SNF→list,将输入输出端添加到界面,并设置其周期和输入波形,保存后,点Max+plus II→Simulator,即可仿真出输出的波形。
5.设计芯片。点Max+plus II→Floorplan editor,将Unassigned Nodes & 栏中,电路的输入输出节点标号直接用鼠标“拖到” 想分配的引脚上(enabel:88,datain:89,dataout:12),点
Max+plus II→programmer→configuer,然后就可以操作试验箱,观察三态门的工作情况。
四、实验结果
实验步骤:
1、用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;
2、将上述程序保存为文件名为tri_s.vhd的文件,点击Maxplus里的compiler进行编译,出现如下图,编译成功。
3、先点类似烟囱的标志,再重新编译一次,出现0 errors,0 warnings后点击Maxplus里的waveform Editor,设置节点Node里的Enter Nodes from SNF,然后建立输入输出端enabel、datain、dataout,画波形图,(在options里取消snap to grid就可以自己随意画波形图,周期可由自己设定)。画好波形图后,再点Maxplus里的simulator,就出现如下波形图。
4、点击类似烟囱标志,再重新编译一次,要出现0 errors,0 warnings;再点Maxplus里的Timing Analyzer,出现下图,这是对电路的延时分析。
5、点击类似烟囱标志,再重新编译一次,要出现0 errors,0 warnings;再点Maxplus里的waveform Editor,然后再点Assign里的device选择芯片EPF10K 20TC144—3,然后出现如下图,再根据实验箱上的输入输出端选择enabel为88,datain为89,dataout为12来模拟。再点Maxplus里的programmer,出现
congratulation,就可以在实验箱上进行三态门的模拟。
五、实验结论及总结
这是我们第二次上机做逻辑设计的实验,相较于第一次实验,这次三态门的实验操作过程相对容易一些,因为通过上一个实验的实际操作,我们对MaxplusII软件的操作有了初步的了解和熟悉。
我觉得上机进行数字设计的实验有助于加深我们对逻辑门(与或非)的理解,提升我们电路分析的能力,增强了我们对真值表的判
断,形象化了本身抽象的逻辑设计课程,增加了课程学习的趣味性,调动了同学们的学习热情,通过这次实验,让我了解到数字设计的奥妙和神奇,浅尝但不辄止,在数字设计这条学习的道路上,我们一直在前进,虽然现在的我们看到的只是冰山一角,但是随着学习的逐步深入,我相信我们会取得进步。
在实验过程中,我觉得一定要注重细节,否则,实验不能出现预期结果。
细节1:文件保存时一定要与实体名相同。
细节2:编译之前要选好芯片。
细节3:在仿真波形图之前一定要保存并重新进行编译。
细节4:在programmer之前要再一次进行编译,否则出现的是上一个结果。
细节5:布局布线一定要与实验箱结合考虑,重新定义引脚时,必须要重新编译。