1、实验二 逻辑门系列一、实验目的熟悉并掌握简单的VHDL程序的基本结构。 二、实验内容分别设计并实现或门、与非门、异或门的VHDL模型。三、实验仪器ZY11203E型实验箱通用编程模块,配置模块,开关按键模块,LED显示模块。四、实验原理1、二输入或门(OR Gate):在该模型中计算两个输入信号in1和in2的逻辑或,输出结果为out1,逻辑表达式为out1in1 OR in2。下面将给出二输入或门的VHDL模型:library ieee;use ieee.std_logic_1164.all;entity myor2 isport(in1,in2 : in std_logic; out1 :
2、 out std_logic);end myor2;architecture arc_df of myor2 isbegin out1=in1 or in2 ;end arc_df;2、二输入与非门(NAND Gate)在该模型中计算两个输入信号in1和in2的逻辑与非,输出结果为out1,逻辑表达式为out1in1 NAND in2。下面将给出二输入与非门的VHDL模型:library ieee;use ieee.std_logic_1164.all;entity mynand2 isport(in1,in2 : in std_logic; out1 : out std_logic);end
3、 mynand2;architecture arc_df of mynand2 isbegin out1=in1 NAND in2;end arc_df;3、二输入异或门(XOR Gate):在该模型中计算两个输入信号in1和in2的逻辑异或,输出结果为out1,逻辑表达式为out1in1 XOR in2。下面将给出二输入异或门的VHDL模型:library ieee;use ieee.std_logic_1164.all;entity myxor2 isport(in1,in2 : in std_logic; out1 : out std_logic);end myxor2;architec
4、ture arc_df of myxor2 isbegin out1=in1 xor in2;end arc_df;五、实验步骤1、针对二输入或门的VHDL设计,采取如下实验步骤: (1)新建一个文件夹,如D:liulicai。(2)选择编辑文件类型为VHDL File。(3)输入实验原理中或门的VHDL源程序。(4)将编辑的VHDL源程序文件存盘,如存于D:liulicai,并且存盘文件名应该与实体名一致,如为myor2.vhd。(5)创建工程 打开并建立新工程管理窗口,此处工程名最好与实体名一致,如myor2。 将设计文件加入工程中,如将myor2.vhd加入步所建的工程中。 选择目标芯片
5、,如ACEX1K系列中的EP1K30QC208-2芯片。 工具设置,这里选择使用Quartus9.0自含的EDA设计工具,具体包括用于选择输入的HDL类型和综合工具;用于选择仿真的工具;用于选择时序分析的工具。 结束设置(6)全程编译前约束项目设置 选择FPGA目标芯片,如ACEX1K系列中的EP1K30QC208-2芯片。 选择配置器件的工作方式。 选择配置器件和编程方式。 选择目标器件引脚端口状态。 对双功能引脚进行设置。 (7)全程综合与编译。全程综合编译通过后可以查看生成的对应RTL电路图(8)仿真测试。针对全程编译通过后的工程,如myor2,必须对其功能和时序性质进行仿真测试,以验证
6、设计结果是否满足原设计要求。对工程myor2仿真步骤如下: 打开波形编辑器。 设置仿真时间区域。 这里整个仿真域的时间设定为50us。 波形文件存盘。将以默认名为myor2.vwf的波形文件存入文件夹D:liulicai中。 将工程myor2的端口信号节点选入波形编辑器中。 这里将输入端口in1、in2和输出端口out1选入波形编辑器中。 设置激励信号波形并再次存盘。 仿真器参数设置。设置仿真激励文件名为myor2.vwf,并设置仿真类型为功能仿真或时序仿真。这里注意若选择为功能仿真,在启动仿真器之前要先运行:ProcessingGenerate Functional Simulation N
7、etlist产生功能仿真网表。 启动仿真器。 观察仿真结果。 (9)引脚锁定。针对EDA技术实验箱提供的硬件资源及其主板上核心芯片的I/O分布情况。这里用拨位开关KD1、KD2作为输入,LED16作为输出,以验证结果的正确性。对应的引脚锁定信息为:输入in1对应PIN_45,in2对应PIN_46;输出out1对应PIN_44。存储这些引脚锁定信息后,必须再重新全编译一次,将引脚锁定信息编译到编程下载文件中。(10)编译文件下载 打开编程窗口和配置文件。本设计采用JTAG编程模式,将工程下载文件如myor2.sof添加到编程窗口。 设置编程器。这里采用的编程器为:ByteBlaster,将编程
8、/配置文件如myor2.sof文件编程/配置到目标器件FPGA中去。 硬件测试。利用EDA技术实验箱ZY11203E来进行硬件测试,观察系统的输入与输出情况,并与系统的仿真波形对照,以验证设计的正确性。 2、针对二输入与非门和异或门的VHDL设计步骤同上。六、实验结果与分析经过对或门、与非门和异或门的VHDL设计的仿真测试,分别得出对应设计的仿真波形如下图所示:下图2-1为对2输入或门设计得到的仿真图形:图2-1 2输入或门的仿真图形下图2-2为对2输入与非门设计得到的仿真图形:图2-2 2输入与非门的仿真图形下图2-3为对2输入异或门设计得到的仿真图形:图2-3 2输入异或门的仿真图形从仿真波形中可以观察到对或门、与非门和异或门的VHDL设计的波形仿真结果均满足原设计功能要求,对或门、与非门和异或门的硬件测试结果也证实了各逻辑门设计的正确性。