学号姓名译码器实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

电子科技大学

学生姓名:

学号:

指导教师:黄敏

实验地点:主楼C2-514

实验时间:(1班)

一、实验室名称:虚拟仪器实验室

二、实验项目名称:3-8 译码器实验

三、实验学时:4学时

四、实验原理

开发板上共四个按键:SW3~SW6,其中SW3 为总开关;SW4、SW5、SW6 作为三个译码输入。本实验 3-8 译码器所有的接口如下。

计算机(安装Quartus II & 软件平台);

2. Cyclone IV FPGA开发板一套(带Altera USB-Blaster下载器)。

八、实验步骤

(1)新建工程,设置器件属性:在Quartus II 平台中,新建一个工程(注意命名规范),在“Family”中选择“Cyclone IV E”系

列,“Available device”中选择具体型号“EP4CE6E22C8”,设置

好器件属性。在 EDA Tool Settings 页面中,可以设置工程各个

开发环节中需要用到的第三方(Altera 公司以外)EDA 工具,我

们只需要设置“Simulation”工具为“ModelSim-Altera”,Format

为“Verilog HDL”即可,其他工具不涉及,因此都默认为

(详见实验指导书)

(2)Verilog源码文件创建与编辑:点击菜单栏的“File→New…”,然后弹出如图所示的新建文件窗口,在这里我们可以选择各种需

要的设计文件格式。可以作为工程顶层设计文件的格式主要在

Design Files 类别下,我们选择 Verilog HDL File(或者 VHDL

File)并单击 OK完成文件创建。将新建的文件保存后通过菜单栏

“Project→Add/Remove Files in Project”将刚刚创建的文件

加入新建的工程中,点击“Add”加入后选择OK按钮。(详见实验

指导书)

(3)Modelsim仿真验证:将工程编译,无误后,采用第三方EDA仿真工具Modelsim进行仿真。1)设置路径:点击Tools →

Options…”,进入选项卡“General EDA Tool Options”,设置

“Modelsim-Altera”后面的路径,即我们安装 Modelsim 时的路

径;2)完成测试脚本创建与编辑;3)测试脚本关联设置;4)调

用Modelsim进行功能仿真和时序仿真。(详见实验指导书)(4)管脚分配:根据文档“SF-CY4 FPGA学习板原理图”对3-8译码器的进行引脚分配。(详见实验指导书)

(5)综合、实现与配置文件产生综合。(详见实验指导书)

(6)FPGA在线下载配置:1)连接开发板并给开发板供电;2)开启Programmer 界面;3)识别 USB-Blaster;4)执行在线下载操作。

(详见实验指导书)

(7)拨动开发板对应按钮,观察输出是否符合预期。

(8)给开发板断电,清理器件,实验结束。

九、实验数据及结果分析

用Verilog HDL语言编写3-8译码器源码如下:

module txt1(

input ext_clk_25m,

input ext_rst_n,

input [3:0] switch,

output reg[7:0] led

);

always@(posedge ext_clk_25m or negedge ext_rst_n) if(!ext_rst_n)

led<=8'hff;

else if(switch[0])

led<=8'hff;

else begin

case(switch[3:1])

3'b111:led<=8'b1111_1110;

3'b110:led<=8'b1111_1101;

3'b101:led<=8'b1111_1011;

3'b100:led<=8'b1111_0111;

3'b011:led<=8'b1110_1111;

3'b010:led<=8'b1101_1111;

3'b001:led<=8'b1011_1111;

3'b000:led<=8'b0111_1111;

default:;

endcase

end

endmodule

TestBench源码如下:

parameter PERIOD=40;

always begin

#(PERIOD/2) ext_clk_25m=0;

#(PERIOD/2) ext_clk_25m=1;

end

initial begin

ext_rst_n=0;

switch=4'b0000;

#10000;

ext_rst_n=1;

end

always #100 switch[0]=~switch[1];

always #40 switch[3:1]=switch[3:1]+1;

提供仿真波形并对波形进行文字说明:

功能仿真总体波形图1(波形上同时体现switch[0] = 1和switch[0] = 0两种情况):

功能仿真波形图2(switch[0] = 1)

当switch[0] = 1时,无论输入switch[3:1]如何变化,输出

led始终保持不变,即所有的灯不亮。

相关文档
最新文档