查看: 12483|回复: 7

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

[复制链接]
  • TA的每日心情
    奋斗
    2020-9-28 10:10
  • 签到天数: 1018 天

    连续签到: 1 天

    [LV.10]以坛为家III

    发表于 2012-12-31 08:51:53 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 xinxincaijq 于 2013-1-9 10:24 编辑

    一步一步学ZedBoard & Zynq(二):使用PL做流水灯
    转自博客:@超群天晴 http://www.cnblogs.com/surpassal/  
    《一步一步学ZedBoard & Zynq》系列第二篇,目的是为了学习不使用ARM PS情况下,只对Zynq PL的编程方法,同时学习Xilinx PlanAhead工具的使用方法

    更多更新请关注我的博客:@超群天晴 http://www.cnblogs.com/surpassal/

    硬件平台:Digilent ZedBoard

    开发环境:Windows XP 32 bit

    软件: XPS 14.2 +PlanAhead 14.2

    新建工程LAB2
    2012091111121398.jpg
    项目设置中,需要将芯片选为Zynq
    2012091111130271.jpg
    选择文件类型为verilog,名称就ledwater
    2012091111143798.jpg
    之后会提示引脚信息,默认空就可以,随后可以通过verilog代码来实现。

    进入ISE后,添加源文件,内容如下
    1.   /*
    2. 《一步一步学ZedBoard & Zynq》些列第二篇:使用Zynq的PL做流水灯
    3. 2012年9月11日10:31:13
    4. 超群天晴
    5. */

    6. module ledwater(
    7. input BTNU,
    8. input GCLK,
    9. output [7:0] LD
    10. );
    11. wire clk,rst;
    12. reg [7:0]    LD_reg;
    13. reg [31:0]     cnt;

    14. assign clk = GCLK;
    15. assign rst = ~BTNU;
    16. assign LD = LD_reg;

    17. always@(posedge clk or negedge rst)
    18. begin
    19. if(rst==1'b0)begin
    20. LD_reg <= 8'b1000_0000;
    21. cnt <= 32'b0;
    22. end
    23. else begin
    24. if (cnt == 32'd25000000)begin        
    25. cnt <= 32'b0;
    26. LD_reg <=(LD_reg>>1)|(LD_reg<<7);
    27. end
    28. else begin
    29. cnt <= cnt + 32'b1;
    30. end
    31. end
    32. end   

    33. endmodule
    复制代码
    这里设定BTNU为复位,GCLK是时钟

    查看ZedBoard的原理图,可以知道BTNU默认是低电平。
    2012091111481014.jpg
    为了实现rst下降沿复位,第38句使用了一次取反
    1. assign rst = ~BTNU;
    复制代码
    小灯的移位采用“左移1位+右移N-1”模式,第29行可以看出来
    1. LD_reg <=(LD_reg>>1)|(LD_reg<<7);
    复制代码
    设定引脚约束,ucf内容如下。LOC表示引脚锁定,IOSTANDARD表明引脚电平。完整的ucf文件可以从Diligent官方网站上下载
    1. NET LD[0] LOC = T22  | IOSTANDARD=LVCMOS33;  # "LD0"
    2. NET LD[1] LOC = T21  | IOSTANDARD=LVCMOS33;  # "LD1"
    3. NET LD[2] LOC = U22  | IOSTANDARD=LVCMOS33;  # "LD2"
    4. NET LD[3] LOC = U21  | IOSTANDARD=LVCMOS33;  # "LD3"
    5. NET LD[4] LOC = V22  | IOSTANDARD=LVCMOS33;  # "LD4"
    6. NET LD[5] LOC = W22  | IOSTANDARD=LVCMOS33;  # "LD5"
    7. NET LD[6] LOC = U19  | IOSTANDARD=LVCMOS33;  # "LD6"
    8. NET LD[7] LOC = U14  | IOSTANDARD=LVCMOS33;  # "LD7"

    9. NET GCLK LOC = Y9   | IOSTANDARD=LVCMOS33;  # "GCLK"
    10. NET BTNU LOC = T18  | IOSTANDARD=LVCMOS18;  # "BTNU"
    复制代码
    使用PlanAhead I/O pin planing(post synthesis)可以看到引脚约束的结果
    2012091111444318.jpg
    2012091111474362.jpg
    下载之后能看到板子上LD0~LD7流水效果
    2012091111490234.jpg
    2012091111492222.jpg
    2012091111494378.jpg

    完整工程下载: LAB2.rar (194.14 KB, 下载次数: 221)
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2014-5-14 13:12
  • 签到天数: 180 天

    连续签到: 1 天

    [LV.7]常住居民III

    发表于 2012-12-31 10:59:36 | 显示全部楼层
    好贴~~坚持要顶~~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2020-9-28 10:10
  • 签到天数: 1018 天

    连续签到: 1 天

    [LV.10]以坛为家III

    发表于 2012-12-31 11:02:46 | 显示全部楼层
    libing64 发表于 2012-12-31 10:59
    好贴~~坚持要顶~~

    多谢~~~呵呵!看到好东西,与大家分享!版主也来点哈
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2014-5-14 13:12
  • 签到天数: 180 天

    连续签到: 1 天

    [LV.7]常住居民III

    发表于 2012-12-31 17:15:59 | 显示全部楼层
    xinxincaijq 发表于 2012-12-31 11:02
    多谢~~~呵呵!看到好东西,与大家分享!版主也来点哈

    好主意,这两天我就整理一下,发一些~~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 10:07
  • 签到天数: 3857 天

    连续签到: 3 天

    [LV.Master]伴坛终老

    发表于 2013-1-3 11:11:34 | 显示全部楼层
    来个step by step教程吧!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2015-11-30 15:05
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    发表于 2015-11-30 15:06:46 | 显示全部楼层
    本帖最后由 鸡腿哥 于 2015-11-30 15:11 编辑

    请问下载bit文件显示初始化zynq失败是什么原因?用的是例子的工程
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2015-11-30 15:05
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    发表于 2015-11-30 15:10:42 | 显示全部楼层
    C:\Users\Administrator\Desktop\1.png
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2016-7-18 14:33
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    发表于 2016-7-18 14:30:04 | 显示全部楼层
    大神,能不能带带我这个菜鸟啊?给个联系方式呗?
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-4-25 10:09 , Processed in 0.168650 second(s), 29 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.