【zedboard】在PL端实现流水灯

南笙酒味 提交于 2019-12-24 04:15:20

开发环境:win 10

开发平台:vivado 2015.4

目的:在zynq7000的基础上以zedboard为硬件平台实现流水灯,zynq7000系列有一个硬件FPGA和两个ARM-A9硬核,FPGA部分被称为PL(Programmable Logic),不使用SDK来进行实验。

流程:

正式开始建立工程和编写代码之前我们需要先看懂原理图,下面我们看一下zedboard的LED所对应的原理图、

image

这是LED部分的原理图,在找到对应的FPGA引脚

image

LD0对应的T22

LD1对应的T21

LD2对应的U22

LD3对应的U21

LD4对应的V22

LD5对应的W22

LD6对应的U19

LD7对应的U14

1:使用vivado建立工程,编写Verilog代码

打开vivado 软件,见下图。

1

一直下一步建立一个RTL PROject,

image

然后一直下一步直到选择板子的一步,选择board-zedboard,点击next->finish.

image

到现在为止工程就建立完成了

现在我们添加vrilog的代码了

image

右键选择add sources ,然后选择 add design source。

选择create file

插入一下代码

module PL_LED_TEST(
  input clk,
  input rst,
  output reg [7:0]LED
);

reg [31:0] cntr ;

always @ (posedge clk)if ( rst ) cntr<=0;else cntr <=cntr+1 ;

always @ (posedge clk)LED <= cntr[24:17] ;

endmodule

编写约束文件,就是约束管脚顺序与添加Verilog 顺序一样,需要选择的是constrs


set_property PACKAGE_PIN Y9 [get_ports {clk}]
set_property IOSTANDARD LVCMOS33 [get_ports {clk}]

set_property PACKAGE_PIN N15 [get_ports {rst}]
set_property IOSTANDARD LVCMOS18 [get_ports {rst}]

set_property PACKAGE_PIN T22 [get_ports {LED[0]}]
set_property IOSTANDARD LVCMOS33 [get_ports {LED[0]}]

set_property PACKAGE_PIN T21 [get_ports {LED[1]}]
set_property IOSTANDARD LVCMOS33 [get_ports {LED[1]}]

set_property PACKAGE_PIN U22 [get_ports {LED[2]}]
set_property IOSTANDARD LVCMOS33 [get_ports {LED[2]}]

set_property PACKAGE_PIN U21 [get_ports {LED[3]}]
set_property IOSTANDARD LVCMOS33 [get_ports {LED[3]}]

set_property PACKAGE_PIN V22 [get_ports {LED[4]}]
set_property IOSTANDARD LVCMOS33 [get_ports {LED[4]}]

set_property IOSTANDARD LVCMOS33 [get_ports {LED[5]}]
set_property PACKAGE_PIN W22 [get_ports {LED[5]}]

set_property PACKAGE_PIN U19 [get_ports {LED[6]}]
set_property IOSTANDARD LVCMOS33 [get_ports {LED[6]}]

set_property IOSTANDARD LVCMOS33 [get_ports {LED[7]}]
set_property PACKAGE_PIN U14 [get_ports {LED[7]}]


然后点击右侧的

image

生成BIT流文件

2:连接目标板。

点击

image

选择autoconnect

image

image

3:下载观察实验现象。

观察实验现象,这是一个按照数位一直增加的,如果看不清,可以改变对应的位数

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!