Basys3 FPGA 3-8译码器开发及应用

实验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 电路板。


接下来可以通过拨电路板开关来查看实验结果。








你可能感兴趣的:(心得体会)