打印
[ISE]

ZYNQ仅有PL端逻辑的程序固化 转

[复制链接]
2985|41
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zynq, LED, AC, sdk, sd, RS
ZYNQ中PL端led灯的逻辑固化
之前看程序固化,教程大多是PS端中有要实现的代码的固化,我没怎么看明白,如果我程序只有 PL 端的写的Verilog逻辑,没写PS端的相关程序该怎么固化程序,昨天试了半天,实现了一个简单的led的逻辑固化。
须知
  • 不带ARM的FPGA固化是没问题的,但是对于 ZYNQ 来说,必须要有 PS 端的配合才能固化程序。
  • 安装 Vivado 软件的时候一定要安装 SDK,在启动 SDK 软件前就有 sdk 目录,可能会导致无法启动 SDK,删除这个目录再试。
  • 准备好PL端LED的程序,这里用的开发板的实验教程:

    *新建工程以及创建 Verilog HDL 文件
    module led1(
    input sys_clk,
    input rst_n,
    output reg [3:0] led
    );
    reg[31:0] timer_cnt;
    always@(posedge sys_clk or negedge rst_n)
    begin
    if (!rst_n)
    begin
    led <= 4’d0 ;
    timer_cnt <= 32’d0 ;
    end
    else if(timer_cnt >= 32’d49_999_999)
    begin
    led <= ~led;
    timer_cnt <= 32’d0;
    end
    else
    begin
    led <= led;
    timer_cnt <= timer_cnt + 32’d1;
    end
    end
    endmodule
    *添加管脚约束
    这里管教的约束必须与你的开发板原理图相对应
    保存IO Ports之后会生成xdc文件
*添加时序约束
完成时序约束后的xdc文件会更新
生成vivado端的bit文件
注意这里不能直接用led1.v来直接生成bit文件,还需要做其他的准备!
1.创建块设计(Create Block Design)


点加号输入zynq搜索ip,然后双击或回车确认

双击该模块,开始设置
点击 Peripheral I/O Pins ,会出现以下的 IO 配置界面。
点亮下面Quad SPI Flash,SD0,还有UART1

展开SD0不要遗漏点亮card detect中的47

MIO Configuration选项中
修改 Quad SPI Flash 和SD0 speed为fast,
以及bank1 IO Voltage为LVCOMS1.8V


确认CLOCK和DDR
memory part需要修改为你的开发板采用或推荐的型号

完成后 Run Block Automation
这两个脚可能需要连线,有的教程没有这一步,开发板入门教程连起来了,但是如果不连起来,可能会报错,可能与版本有关

在 Source 窗口中选中 ledBD.bd,右键并先后选择Generate Output Projects 和 Create HDL Wrapper 选项操作。生成后如下图所示:


使用特权

评论回复

相关帖子

沙发
gaochy1126|  楼主 | 2021-3-29 23:50 | 只看该作者
2.实例
就是把led1.v写进ledDB_wrapper.v
双击ledDB_wrapper.v,修改
修改后的代码(粗体处是新加的led.v部分,其他地方默认不用改):
module ledBD_wrapper
(rst_n,
sys_clk,
DDR_addr,
DDR_ba,
DDR_cas_n,
DDR_ck_n,
DDR_ck_p,
DDR_cke,
DDR_cs_n,
DDR_dm,
DDR_dq,
DDR_dqs_n,
DDR_dqs_p,
DDR_odt,
DDR_ras_n,
DDR_reset_n,
DDR_we_n,
FIXED_IO_ddr_vrn,
FIXED_IO_ddr_vrp,
FIXED_IO_mio,
FIXED_IO_ps_clk,
FIXED_IO_ps_porb,
FIXED_IO_ps_srstb,
led);
input rst_n;
input sys_clk;
inout [14:0]DDR_addr;
inout [2:0]DDR_ba;
inout DDR_cas_n;
inout DDR_ck_n;
inout DDR_ck_p;
inout DDR_cke;
inout DDR_cs_n;
inout [3:0]DDR_dm;
inout [31:0]DDR_dq;
inout [3:0]DDR_dqs_n;
inout [3:0]DDR_dqs_p;
inout DDR_odt;
inout DDR_ras_n;
inout DDR_reset_n;
inout DDR_we_n;
inout FIXED_IO_ddr_vrn;
inout FIXED_IO_ddr_vrp;
inout [53:0]FIXED_IO_mio;
inout FIXED_IO_ps_clk;
inout FIXED_IO_ps_porb;
inout FIXED_IO_ps_srstb;
output [3:0]led;
wire [14:0]DDR_addr;
wire [2:0]DDR_ba;
wire DDR_cas_n;
wire DDR_ck_n;
wire DDR_ck_p;
wire DDR_cke;
wire DDR_cs_n;
wire [3:0]DDR_dm;
wire [31:0]DDR_dq;
wire [3:0]DDR_dqs_n;
wire [3:0]DDR_dqs_p;
wire DDR_odt;
wire DDR_ras_n;
wire DDR_reset_n;
wire DDR_we_n;
wire FIXED_IO_ddr_vrn;
wire FIXED_IO_ddr_vrp;
wire [53:0]FIXED_IO_mio;
wire FIXED_IO_ps_clk;
wire FIXED_IO_ps_porb;
wire FIXED_IO_ps_srstb;
wire rst_n,sys_clk;
wire [3:0] led;
led1 led1
(
.sys_clk(sys_clk),
.rst_n(rst_n),
.led(led)
);


ledBD ledBD_i
(.DDR_addr(DDR_addr),
.DDR_ba(DDR_ba),
.DDR_cas_n(DDR_cas_n),
.DDR_ck_n(DDR_ck_n),
.DDR_ck_p(DDR_ck_p),
.DDR_cke(DDR_cke),
.DDR_cs_n(DDR_cs_n),
.DDR_dm(DDR_dm),
.DDR_dq(DDR_dq),
.DDR_dqs_n(DDR_dqs_n),
.DDR_dqs_p(DDR_dqs_p),
.DDR_odt(DDR_odt),
.DDR_ras_n(DDR_ras_n),
.DDR_reset_n(DDR_reset_n),
.DDR_we_n(DDR_we_n),
.FIXED_IO_ddr_vrn(FIXED_IO_ddr_vrn),
.FIXED_IO_ddr_vrp(FIXED_IO_ddr_vrp),
.FIXED_IO_mio(FIXED_IO_mio),
.FIXED_IO_ps_clk(FIXED_IO_ps_clk),
.FIXED_IO_ps_porb(FIXED_IO_ps_porb),
.FIXED_IO_ps_srstb(FIXED_IO_ps_srstb));
endmodule
重新编译一下工程,生成 bit 文件。
转入SDK1. Launch SDK
1.再导出硬件,选择菜单 File->Export->Export Hardware…导出,包含bitstram 文件。
2.硬件导出后,选择菜单 File->Launch SDK,启动 SDK 开发环境
3.点击菜单 File -> New -> Application Project,新建一个名为 fsbl 的 APP, 会出现1 个 hardware platform:ledBD_wrapper_hw_platform_0,大概选最新最上面那个就好(图上的platform可能不一致)。

选择zynq fsbl
右键fsbl,然后选择creat boot image

下方方框出现两个文件即正常,bootloader在上,bit文件在下,可能有延迟 稍等或请重试

点击creat image
2.写入flash
点击xlinx-program flash

image file选择上一步生成的bin文件!
fsbl file 使用开发板赠送资料中的厂商定制的fsbl
关于定制版本 fsbl 的来源,可以参考 xilinx 官网链接:
https://www.xilinx.com/support/answers/70148.html
(如果链接失效,可以在 xilinx 官网搜索 AR# 70148)
如果使用 Vivado 2019.1 及以后版本就不需要这个定制的 fsbl,用自己生成的 fsbl 即可。
等待烧写完成后,设置启动模式为 QSPI(不同厂商可能不同,我这里的是调整插销位置来实现的),再次启动,观测到灯正常运行。

使用特权

评论回复
评论
gaochy1126 2021-3-31 22:41 回复TA
赞一个 
板凳
cehuafan| | 2021-3-31 21:31 | 只看该作者
以后多交流交流                  

使用特权

评论回复
评论
gaochy1126 2021-3-31 22:41 回复TA
赞一个 
地板
burgessmaggie| | 2021-3-31 21:31 | 只看该作者
这些资料太全了!!!                 

使用特权

评论回复
评论
gaochy1126 2021-3-31 22:41 回复TA
赞一个 
5
uptown| | 2021-3-31 21:31 | 只看该作者
资料 好好收藏一下                                 

使用特权

评论回复
评论
gaochy1126 2021-3-31 22:41 回复TA
赞一个 
6
qiufengsd| | 2021-3-31 21:31 | 只看该作者
  应用还是很广泛的                                 

使用特权

评论回复
评论
gaochy1126 2021-3-31 22:41 回复TA
赞一个 
7
rosemoore| | 2021-3-31 21:31 | 只看该作者
以后多交流交流                  

使用特权

评论回复
评论
gaochy1126 2021-3-31 22:42 回复TA
赞一个 
8
janewood| | 2021-3-31 21:32 | 只看该作者
感谢分享,提供的例程很实用                                 

使用特权

评论回复
评论
gaochy1126 2021-3-31 22:42 回复TA
赞一个 
9
cashrwood| | 2021-3-31 21:32 | 只看该作者
相当全的资料,很适合初学者                                 

使用特权

评论回复
评论
gaochy1126 2021-3-31 22:42 回复TA
赞一个 
10
maqianqu| | 2021-3-31 21:32 | 只看该作者
资料的确是很全面                                 

使用特权

评论回复
评论
gaochy1126 2021-3-31 22:42 回复TA
赞一个 
11
suzhanhua| | 2021-3-31 21:33 | 只看该作者
资料的确是很全面                                 

使用特权

评论回复
评论
gaochy1126 2021-3-31 22:42 回复TA
赞一个 
12
bartonalfred| | 2021-3-31 21:33 | 只看该作者
很详细的资料                                 

使用特权

评论回复
评论
gaochy1126 2021-3-31 22:42 回复TA
赞一个 
13
maudlu| | 2021-3-31 21:33 | 只看该作者
很详细的资料                                 

使用特权

评论回复
评论
gaochy1126 2021-3-31 22:42 回复TA
赞一个 
14
beacherblack| | 2021-3-31 21:33 | 只看该作者
资料 好好收藏一下                                 

使用特权

评论回复
评论
gaochy1126 2021-3-31 22:43 回复TA
赞一个 
15
sdCAD| | 2021-3-31 21:33 | 只看该作者
资料很实用,谢谢楼主!                                 

使用特权

评论回复
评论
gaochy1126 2021-3-31 22:43 回复TA
赞一个 
16
febgxu| | 2021-3-31 21:33 | 只看该作者
资料的确是很全面                                 

使用特权

评论回复
评论
gaochy1126 2021-3-31 22:43 回复TA
赞一个 
17
ghuca| | 2021-3-31 21:34 | 只看该作者
谢谢lz分享,很有用                                 

使用特权

评论回复
评论
gaochy1126 2021-3-31 22:43 回复TA
赞一个 
18
isseed| | 2021-3-31 21:34 | 只看该作者
这些资料太全了!!!                 

使用特权

评论回复
评论
gaochy1126 2021-3-31 22:43 回复TA
赞一个 
19
vivilyly| | 2021-3-31 21:34 | 只看该作者
资料还是相当全面的                                 

使用特权

评论回复
评论
gaochy1126 2021-3-31 22:43 回复TA
赞一个 
20
typeof| | 2021-3-31 21:34 | 只看该作者
谢谢你共享的资料!!                                 

使用特权

评论回复
评论
gaochy1126 2021-3-31 22:43 回复TA
赞一个 
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:这个社会混好的两种人:一是有权有势,二是没脸没皮的。

1025

主题

11271

帖子

24

粉丝