实验3 3-8译码器开发及应用
实验目的:
1 学习 Verilog HDL 基本语法
2 巩固 Vivado 2014.2 环境下的 Verilog HDL 编程设计的基础。
实验设备:
XILINX BASYS3
实验步骤:
1 打开vivado。
2 点create new project 进入新建工程向导
3 输入project名称,并选择存储地址,注意路径中不要有空格。
4 选择创建的文件类型为 RTL Project,设置编程语言和仿真语言为verilog 。不添加IP。不添加约束文件。
5 添加资源,目标语言和模拟语言选择verilog,然后点击next(3次)。
6 可以在filter中选择如下图选项来缩小查找范围,也可以直接在search里搜索“xc7a35tcpg236-1“,最后选择“xc7a35tcpg236-1”,点击next。
7 到达New Project Summary页面,点击finish。
8点击add sources
9 选择Add or Create Design Sources,next
10 Create File
11 输入文件名,OK。
14 双击设计文件shiyan3,输入3-8译码器代码。
module test(
input[2:0] swt,
output[7:0] led
);
assign led[0] = ~swt[2] & ~swt[1] & ~swt[0];
assign led[1] = ~swt[2] & ~swt[1] & swt[0];
assign led[2] = ~swt[2] & swt[1] & ~swt[0];
assign led[3] = ~swt[2] & swt[1] & swt[0];
assign led[4] = swt[2] & ~swt[1] & ~swt[0];
assign led[5] = swt[2] & ~swt[1] & swt[0];
assign led[6] = swt[2] & swt[1] & ~swt[0];
assign led[7] = swt[2] & swt[1] & swt[0];
endmodule
15 点击Add Source,选择添加约束文件,OK。
16 同上面添加设计文件一样的步骤,输入文件名,OK。
17 此时,双击shiyan3.xdc约束文件,输入3-8译码器的约束管脚代码。
set_property PACKAGE_PIN V17 [get_ports {swt[0]}]
set_property IOSTANDARD LVCMOS33 [get_ports {swt[0]}]
set_property PACKAGE_PIN V16 [get_ports {swt[1]}]
set_property IOSTANDARD LVCMOS33 [get_ports {swt[1]}]
set_property PACKAGE_PIN W16 [get_ports {swt[2]}]
set_property IOSTANDARD LVCMOS33 [get_ports {swt[2]}]
set_property PACKAGE_PIN U16 [get_ports {led[0]}]
set_property IOSTANDARD LVCMOS33 [get_ports {led[0]}]
set_property PACKAGE_PIN E19 [get_ports {led[1]}]
set_property IOSTANDARD LVCMOS33 [get_ports {led[1]}]
set_property PACKAGE_PIN U19 [get_ports {led[2]}]
set_property IOSTANDARD LVCMOS33 [get_ports {led[2]}]
set_property PACKAGE_PIN V19 [get_ports {led[3]}]
set_property IOSTANDARD LVCMOS33 [get_ports {led[3]}]
set_property PACKAGE_PIN W18 [get_ports {led[4]}]
set_property IOSTANDARD LVCMOS33 [get_ports {led[4]}]
set_property PACKAGE_PIN U15 [get_ports {led[5]}]
set_property IOSTANDARD LVCMOS33 [get_ports {led[5]}]
set_property PACKAGE_PIN U14 [get_ports {led[6]}]
set_property IOSTANDARD LVCMOS33 [get_ports {led[6]}]
set_property PACKAGE_PIN V14 [get_ports {led[7]}]
set_property IOSTANDARD LVCMOS33 [get_ports {led[7]}]
18 点击run synthesis
19综合完成后,弹出对话框中选择
19 结束后选择Open Implemented Design,查看已实现的设计。
20. 在向电路板写程序之前,可以现在vivado的模拟环境中测试自己的程序。选择Run Simulation ,选择Runbehavioral Simulation.
这是模拟窗口,在左侧设置输入swt[2:0]的值,可以看到右边的时序图的输入输出值对应变化。
20 生成字节流,OK。
21 在打开硬件之前,要确保basys3 已经与电脑相连,并打开开关。
弹窗的话选later。
22 如果是第一次在硬件上运行,选择open a new hardware targe.,如果不是则可以选择最近打开的硬件目标。
选择打开新的硬件目标后,依次选择。
Finish后,选择Program device.
点击Program,等待程序写入basys3 电路板。
接下来可以通过拨电路板开关来查看实验结果。