一步一步学ZedBoard Zynq(二):使用PL做流水灯

一步一步学ZedBoard Zynq(二):使用PL做流水灯,第1张

一步一步ZedBoard & Zynq》系列第二篇,目的是为了学习不使用ARM PS情况下,只对Zynq PL的编程方法,同时学习Xilinx?PlanAhead工具的使用方法?

硬件平台:Digilent?ZedBoard

开发环境:Windows XP 32 bit

软件:?XPS 14.2 +PlanAhead 14.2?

新建工程LAB2

一步一步学ZedBoard Zynq(二):使用PL做流水灯,一步一步学ZedBoard Zynq(二):使用PL做流水灯,第2张

项目设置中,需要将芯片选为Zynq

一步一步学ZedBoard Zynq(二):使用PL做流水灯,一步一步学ZedBoard Zynq(二):使用PL做流水灯,第3张

选择文件类型为verilog,名称就ledwater

一步一步学ZedBoard Zynq(二):使用PL做流水灯,一步一步学ZedBoard Zynq(二):使用PL做流水灯,第4张

之后会提示引脚信息,默认空就可以,随后可以通过verilog代码来实现。

进入ISE后,添加源文件,内容如下

/*
《一步一步学ZedBoard & Zynq》些列第二篇:使用Zynq的PL做流水灯
2012年9月11日10:31:13
超群天晴
*/

module ledwater(
input BTNU,
input GCLK,
output [7:0] LD
);
wire clk,rst;
reg [7:0] LD_reg;
reg [31:0] cnt;

assign clk = GCLK;
assign rst = ~BTNU;
assign LD = LD_reg;

always@(posedge clk or negedge rst)
begin
if(rst==1'b0)begin
LD_reg <= 8'b1000_0000;
cnt <= 32'b0;
end
else begin
if (cnt == 32'd25000000)begin
cnt <= 32'b0;
LD_reg <=(LD_reg>>1)|(LD_reg<<7);
end
else begin
cnt <= cnt + 32'b1;
end
end
end

endmodule

这里设定BTNU为复位,GCLK是时钟

查看ZedBoard的原理图,可以知道BTNU默认是低电平。

一步一步学ZedBoard Zynq(二):使用PL做流水灯,一步一步学ZedBoard Zynq(二):使用PL做流水灯,第5张

为了实现rst下降沿复位,第38句使用了一次取反

1 assign rst = ~BTNU;

小灯的移位采用“左移1位+右移N-1”模式,第29行可以看出来

1 LD_reg <=(LD_reg>>1)|(LD_reg<<7);

设定引脚约束,ucf内容如下。LOC表示引脚锁定,IOSTANDARD表明引脚电平。完整的ucf文件可以从Diligent官方网站上下载

NET LD[0] LOC = T22 | IOSTANDARD=LVCMOS33; # "LD0"
NET LD[1] LOC = T21 | IOSTANDARD=LVCMOS33; # "LD1"
NET LD[2] LOC = U22 | IOSTANDARD=LVCMOS33; # "LD2"
NET LD[3] LOC = U21 | IOSTANDARD=LVCMOS33; # "LD3"
NET LD[4] LOC = V22 | IOSTANDARD=LVCMOS33; # "LD4"
NET LD[5] LOC = W22 | IOSTANDARD=LVCMOS33; # "LD5"
NET LD[6] LOC = U19 | IOSTANDARD=LVCMOS33; # "LD6"
NET LD[7] LOC = U14 | IOSTANDARD=LVCMOS33; # "LD7"

NET GCLK LOC = Y9 | IOSTANDARD=LVCMOS33; # "GCLK"
NET BTNU LOC = T18 | IOSTANDARD=LVCMOS18; # "BTNU"

 

一步一步学ZedBoard Zynq(二):使用PL做流水灯,一步一步学ZedBoard Zynq(二):使用PL做流水灯,第6张

一步一步学ZedBoard Zynq(二):使用PL做流水灯,一步一步学ZedBoard Zynq(二):使用PL做流水灯,第7张

下载之后能看到板子上LD0~LD7流水效果

 

 

 

 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2580151.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-08
下一篇 2022-08-08

发表评论

登录后才能评论

评论列表(0条)

保存