0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

ZYNQ学习案例分析:PL流水灯设计方案

454398 来源:CSDN博主 作者:鹏哥DIY 2020-11-26 11:34 次阅读

对ZYNQ的学习的渴望由来已久,前不久买了一个基于xc7z010的开发板,现在将自己的学习的进阶之路记录在此,希望能给想要入门的ZYNQ学习者一点帮助,本人也刚开始学习,能力有限,其中若有不足之处希望大家多多交流,以便共同进步!

xilinx ZYNQ-7000系列芯片处理器的软件可编程能力与FPGA硬件可编程能力实现了完美结合,有低功耗和低成本等系统优势,可以实现无与伦比的系统性能、灵活性和可扩展性,同时可以加速产品的上市进程。与传统的SoC处理解决方案不同,ZYNQ-7000器件的灵活可编程逻辑能实现优化与差异化功能,使设计人员可以根据大部分应用的要求添加外设和加速器。

下面我们从最基本的LED流水灯开始ZYNQ的进阶之路,教程使用的开发板使用的是xc7z010这颗芯片,芯片内部包含双核cortex-A9硬核处理器和Aritx-7 FPGA(PS+PL),本节我们先使用PL部分实现流水灯。首先我们要安装vivado 软件,

链接:https://pan.baidu.com/s/16IXGO5ckhFP_ov6kNAT3Jg
提取码:ed5m

这里我们就不费时间去讲解如何安装软件了,安装教程百度比比皆是,我们使用的软件版本是vivado2017.1版。

其次我们要知道如何创建ZYNQ工程,不步骤如下:

1、打开软件,创建新工程

创造verilog文件:


工程建立好以后界面如下所示:


2、编写流水灯verilog代码。

module LED(
 //sys signal
 sys_clk_50m,
 reset_n,
 //led
 led
  );
parameter LED_FREQUENCY = 49999999;
parameter UDLY = 1;
 //sys signal
input         sys_clk_50m;
input         reset_n;
 //led
output   [3:0]     led;

 //sys signal
wire         sys_clk_50m;
wire         reset_n;
 //led
reg    [3:0]     led; 
 
 
reg    [25:0]     led_count;
always @(posedge sys_clk_50m or negedge reset_n)begin
 if(!reset_n)begin
  led <= 4'b0001;
        led_count <= 26'd0;
    end
    else if(led_count == 26'd49_999_999)begin//1s count,50M
        led_count <= #UDLY 26'd0;
        led <= #UDLY {led[2:0],led[3]};
    end
    else begin
        led_count <= #UDLY led_count + 26'd1;
    end
end
    
endmodule

3、时钟与引脚约束

首先跑RTL

然后点击Layout->I/O Planning

约束引脚:


设置完成,保存设置,点击OK


点击Run Synthesis综合工程,可能需要一分钟时间:


约束时钟,点击Constraints Wizard:


点击Next:

开发板时钟为50Mhz,点击Next,然后点击Skip to Finish完成时钟约束:


4、生成bit文件

点击Generate Bitstream生成bit文件

5、将程序下载到开发板中

将开发板上电,连接JTAG

点击Open Hardware Manager连接硬件

显示如下画面表示连接上ZYNQ芯片

点击Program device下载bit文件到设备中

然后我们的流水灯就愉快的跑了起来!

编辑:hfy


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 流水灯
    +关注

    关注

    21

    文章

    432

    浏览量

    59101
  • Zynq
    +关注

    关注

    9

    文章

    598

    浏览量

    46608
收藏 人收藏

    评论

    相关推荐

    51单片机流水灯制作

    流水灯学习51单片机的一个基本项目,是我们对单片机IO口输出认识的基本项目。当然学会了花样流水灯也很好玩。 下面就分享一种51单片机流水灯制作的方法。 一、
    的头像 发表于 02-26 10:06 433次阅读
    51单片机<b class='flag-5'>流水灯</b>制作

    AD9681是否可被zynq-7020的pl端驱动?

    您好: 我想咨询AD9681是否可以被zynq-7020的PL端驱动(zynq7020的性能是否足够)。我们需要做卫星的探测载荷,由于卫星能源控制严格,我们需要低功耗、多通道(至少8个)、高采样率
    发表于 12-04 08:18

    分享花样流水灯源程序

    电子发烧友网站提供《分享花样流水灯源程序.doc》资料免费下载
    发表于 11-18 09:59 3次下载
    分享花样<b class='flag-5'>流水灯</b>源程序

    基于单片机的流水灯电路设计

    前面一课掌握了嵌入式程序源代码级调试,为复杂单片机实验程序的调试做好了准备工作。本次实验完成流水灯电路模型设计和编程,在实验过程中,学习流水灯电路设计、编写延迟函数、循环移位宏定义。
    的头像 发表于 10-31 14:56 1432次阅读
    基于单片机的<b class='flag-5'>流水灯</b>电路设计

    怎么设置让流水灯加速?

    流水灯需要可以加速四段
    发表于 10-30 06:05

    如何使用51单片机制作一个心形流水灯

    使用 51 单片机制作一个心形流水灯 心形流水灯,顾名思义,成品肯定是一个心形。随着程序的改变,通过单片机控制单个灯的亮灭达到不同的流动图案效果。 01 单片机,类似于电脑cpu,处理数据的芯片
    的头像 发表于 09-11 10:27 2468次阅读
    如何使用51单片机制作一个心形<b class='flag-5'>流水灯</b>

    9013三极管流水灯(含电路图 PCB图)

    9013三极管流水灯 含电路图 PCB图
    发表于 08-18 15:13 1次下载

    流水灯单片机解决方案,多种灯光效果可变

    的灯光效果是在控制系统的控制按照设定的顺序和时间来发亮和熄灭。通过单片机引脚输出低电平,LED灯导通发亮,单片机引脚输出高电平,LED灯截止熄灭。 流水灯方案工作原理: 流水灯控制原理为: 三极管 在电路中充当开关的作用,
    的头像 发表于 07-20 17:45 514次阅读

    基于FPGA的流水灯设计

    依次点亮4个LED灯,实现流水灯的效果,两灯之间点亮间隔为0.5s,LED灯一次点亮持续时间0.5s。
    的头像 发表于 06-23 16:54 1282次阅读
    基于FPGA的<b class='flag-5'>流水灯</b>设计

    基于FPGA开发板流水灯的设计实现

    流水灯,有时候也叫跑马灯,是一个简单、有趣又经典的实验,基本所有单片机的玩家们在初期学习的阶段都做过。本次我们也来介绍一下如何通过小脚丫FPGA实现一个流水灯
    发表于 06-20 17:10 914次阅读
    基于FPGA开发板<b class='flag-5'>流水灯</b>的设计实现

    基于51单片机设计的花样流水灯设计

    花样流水灯是一种常见的LED灯效果,被广泛应用于舞台表演、节日庆典、晚会演出等场合。
    的头像 发表于 06-11 10:00 2551次阅读
    基于51单片机设计的花样<b class='flag-5'>流水灯</b>设计

    ARM Cortex-M学习笔记:GPIO流水灯的前世今生

    上一章通过控制GPIO的高低电平实现了流水灯,但只是告诉了大家怎么做,如何实现流水灯,本文将深入剖析的GPIO流水灯的前生今世,深入研究流水灯的调用逻辑和数据结构。
    的头像 发表于 05-15 14:44 1915次阅读
    ARM Cortex-M<b class='flag-5'>学习</b>笔记:GPIO<b class='flag-5'>流水灯</b>的前世今生

    ARM Cortex-M学习笔记:初识GPIO流水灯

    熟悉单片机的朋友都知道,学习的第一个例程就是流水灯,要想实现流水灯,首先必须了解GPIO的工作原理。GPIO的基本结构如图1所示。
    的头像 发表于 05-15 11:31 2213次阅读
    ARM Cortex-M<b class='flag-5'>学习</b>笔记:初识GPIO<b class='flag-5'>流水灯</b>

    GD32开发实战指南(基础篇) 第3章 GPIO流水灯的前世今生

    上一章通过控制GPIO的高低电平实现了流水灯,但只是告诉了大家怎么做,如何实现流水灯,本文将深入剖析的GPIO流水灯的前生今世,深入研究流水灯的调用逻辑和数据结构。
    的头像 发表于 05-10 08:58 4494次阅读
    GD32开发实战指南(基础篇) 第3章 GPIO<b class='flag-5'>流水灯</b>的前世今生

    GD32开发实战指南(基础篇) 第2章 初始GPIO流水灯

    熟悉单片机的朋友都知道,学习的第一个例程就是流水灯,要想实现流水灯,首先必须了解GPIO的工作原理。GPIO的基本结构如下图所示。
    的头像 发表于 05-08 09:03 6438次阅读
    GD32开发实战指南(基础篇) 第2章 初始GPIO<b class='flag-5'>流水灯</b>