ZYNQ:流水灯实验

news2024/10/22 2:23:42

实验目的

PL_LED0 和 PL_LED1 连接到 ZYNQ 的 PL 端,PL_LED0 和 PL_LED1循环往复产生流水灯的效果,流水间隔时间为 0.5s。

原理图

在这里插入图片描述

程序设计

本次实验是需要实现两个LED的循环熄灭点亮,时间间隔是0.5S,对时间间隔的控制使用计数器来完成。本次实验需要使用系统时钟,并且添加系统复位。所以可以得到下面的模块示意图。

在这里插入图片描述

板载的系统时钟是50MHZ,周期是20ns
我们需要的时间间隔是0.5s
计数器需要的时钟周期数是:0.5S/20ns = 25000000
所以计数器最大计数到25000000-1,就是0.5S

仿真代码tb_flow_led.v

`timescale 1ns / 1ns // 仿真单位 / 仿真时间

module tb_flow_led();//声明了一个名为tb_flow_led的测试平台(Testbench)模块

parameter CLK_PERIOD = 20;//系统时钟是50MHZ  周期是20ns

reg sys_clk;
reg sys_rst_n;

wire [1:0] led;

//信号初始化
initial begin
    sys_clk <= 1'b0;
    sys_rst_n <= 1'b0;
    #200 //表示延迟 200 个时间单位
    sys_rst_n <= 1'b1;
end

//产生时钟
always #(CLK_PERIOD/2) sys_clk = ~sys_clk;

//例化待测设计
flow_led  u_flow_led(
    .sys_clk(sys_clk),
    .sys_rst_n(sys_rst_n),
    .led(led)
);
endmodule

仿真

在这里插入图片描述

新建工程

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
查看RTL原理图

在这里插入图片描述
约束管脚

在这里插入图片描述
ctrl + S 保存
在这里插入图片描述
这个可以看到约束文件
在这里插入图片描述
添加周期约束
将时钟周期设置为 20ns(对应 50MHz 的频率)。

# 创建时钟周期约束
create_clock -period 20.000 -name sys_clk [get_ports sys_clk]

# IO 引脚约束
set_property PACKAGE_PIN U18 [get_ports sys_clk]
set_property IOSTANDARD LVCMOS33 [get_ports sys_clk]
set_property PACKAGE_PIN N16 [get_ports sys_rst_n]
set_property IOSTANDARD LVCMOS33 [get_ports sys_rst_n]
set_property PACKAGE_PIN L15 [get_ports {led[1]}]
set_property PACKAGE_PIN H15 [get_ports {led[0]}]
set_property IOSTANDARD LVCMOS33 [get_ports {led[1]}]
set_property IOSTANDARD LVCMOS33 [get_ports {led[0]}]


生成bit文件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
查看LED初始值
在这里插入图片描述
在这里插入图片描述

下载验证

先连接好线,再上电!!!
在这里插入图片描述
下载后确实可以看到LED交替闪烁

总结

1、主要还是熟悉流程和编写代码!
完成比完美更加重要

学习来源:正点原子

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2220458.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

改变函数调用上下文:apply与call方法详解及实例

目录 改变函数调用上下文&#xff1a;apply与call方法详解及实例 一、什么是 apply 方法&#xff1f; 1、apply 语法 2、apply 示例 二、什么是 call 方法&#xff1f; 1、call 语法 2、call 示例 三、apply 和 call 的共同与差异 1、apply 和 call 的共同点 2、apply…

一文读懂什么是数据即产品(Data as a Product,DaaP)

企业每天都要产生并消费大量数据&#xff0c;但如果这些数据一直保持在原始格式&#xff0c;就很难真正应用起来。因此&#xff0c;为了充分发挥数据的最大潜力&#xff0c;必须改变组织内部处理数据的方式。 “数据即产品”&#xff08;DaaP&#xff09;就是这样一种思维方式…

ERROR [internal] load metadata for docker.io/library/nginx:latest

docker执行错误解决方法 1、执行docker pull nginx2、docker build -t xxx:xx

RISC-V笔记——显式同步

1. 前言 RISC-V的RVWMO模型主要包含了preserved program order、load value axiom、atomicity axiom、progress axiom和I/O Ordering。今天主要记录下preserved program order(保留程序顺序)中的Explicit Synchronization(显示同步)。 2. 显示同步 显示同步指的是&#xff1a…

02篇 机械考研复试简历保姆级教程,考研简历联系导师邮件复试调剂超全攻略 导师喜欢看到的简历(附模板)

考研复试简历怎么写&#xff1f;导师喜欢看到的简历&#xff08;附模板&#xff09; 复试简历&#xff0c;重要程度max&#xff01;绝非小事一桩&#xff01;它就像是你硬核经历的闪亮外衣&#xff0c;条理清晰、逻辑严谨且设计感十足&#xff0c;一定能在导师心中留下深刻印象…

微信小程序-自定义组件

文章目录 微信小程序-自定义组件概述创建和使用数据、方法和属性slot 插槽默认插槽具名插槽 组件样式注意项样式隔离 数据监听组件间通信父传子子传父获取子组件实例 生命周期组件的生命周期组件所在页面的生命周期App、Page与Component生命周期对比冷启动保留当前页面和关闭当…

极氪汽车困局:营销频繁车、产品力不足

“ 极氪汽车的“车上吃火锅”营销活动虽登上热搜&#xff0c;但因频繁忽视老用户和产品力不足的争议&#xff0c;并未赢得消费者好感&#xff0c;反而加剧负面印象。 ” 科技新知 原创 作者丨颜瞾 编辑丨蕨影 近日&#xff0c;背靠吉利集团的极氪…

信息安全工程师(60)计算机病毒分析与防护

计算机病毒分析 介绍 计算机病毒是一种人为制造的程序&#xff0c;它通过不同的途径潜伏或寄生在存储媒体&#xff08;如磁盘、内存&#xff09;或程序里。当某种条件或时机成熟时&#xff0c;它会自生复制并传播&#xff0c;使计算机的资源受到不同程度的破坏。 定义&#xf…

Java【多线程】单例模式

目录 单例模式 饿汉模式 懒汉模式 懒汉模式-多线程版 单例模式 单例模式是一种设计模式 设计模式相当于棋谱 棋谱&#xff0c;大佬把一些对局整个推演过程&#xff0c;写出来 设计模式&#xff0c;是属于程序员的棋谱 单例模式&#xff08;单个实例/对象&#xff09;&…

Views Page 视图页面

下图中显示的 Views 页面允许自定义网格级别及其相应的 View。 Views &#xff08;视图&#xff09; 页面包含两个主要部分&#xff1a; 关卡设计师;请注意&#xff0c;其他设计器页面为在关卡设计器中选择的 View 提供设置;Properties &#xff08;属性&#xff09; 窗口&…

基于SpringBoot网上超市的设计与实现(论文+源码)_kaic

摘 要 网络技术和计算机技术发展至今&#xff0c;已经拥有了深厚的理论基础&#xff0c;并在现实中进行了充分运用&#xff0c;尤其是基于计算机运行的软件更是受到各界的关注。加上现在人们已经步入信息时代&#xff0c;所以对于信息的宣传和管理就很关键。因此超市商品销售信…

【机器学习】任务七:聚类算法 (K-means 算法、层次聚类、密度聚类对鸢尾花(Iris)数据进行聚类)

目录 1.基础知识 1.1 K-Means 算法 1.2 层次聚类&#xff08;Hierarchical Clustering&#xff09; 1.3 密度聚类&#xff08;DBSCAN&#xff09; 1.4 距离和相似度度量方法 1.5 总结&#xff1a; 2.K-means 算法对鸢尾花&#xff08;Iris&#xff09;数据进行聚类 2.1…

dayjs日期格式化,开发uniapp或unicloud前后端进行时间格式转换

一、 为什么要用日期格式化 因为在开发项目过程中&#xff0c;会遇到各种各样的日期格式&#xff0c;有的显示完整的年-月-日 时:分:秒&#xff0c;而有的场景就只显示月-日等格式&#xff0c;还有就是显示当前时间和注册时间的间隔时长等&#xff0c;场景非常多&#xff0c;如…

[python]从零开始的API调用教程

一、API是什么&#xff1f; API即应用程序编程接口&#xff0c;是一组定义了不同软件系统或组件之间如何交互的规则和协议。API为开发者提供了一种简化的方式&#xff0c;通过预定义的函数或方法&#xff0c;来使用某个软件、库、操作系统或硬件的功能&#xff0c;而不需要深入…

图像编辑大一统?多功能图像编辑框架Dedit:可基于图像、文本和掩码进行图像编辑。

今天给大家介绍一个基于图像和文本的编辑的框架D-Edit&#xff0c;它是第一个可以通过掩码编辑实现图像编辑的项目&#xff0c;近期已经在HuggingFace开放使用&#xff0c;并一度冲到了热门项目Top5。 使用 D-Edit 的编辑流程。用户首先上传一张分割成多个项目的图像。微调 DPM…

CTFHUB技能树之文件上传——前端验证

开启靶场&#xff0c;打开链接&#xff1a; 看到提示是js前端验证 直接F12查看前端源代码&#xff1a; 可以看出对上传的文件做了限制&#xff0c;只能上传.jpg、.png、.gif文件 &#xff08;小插曲&#xff1a;本来我想着直接删除onsubmit处的代码的&#xff0c;但是删了之后…

沈阳乐晟睿浩科技有限公司:引领抖音小店迈向新纪元

在当今数字化浪潮汹涌的时代&#xff0c;电子商务以其独特的魅力和无限潜力&#xff0c;正深刻改变着人们的消费习惯与商业模式。在这场变革中&#xff0c;沈阳乐晟睿浩科技有限公司凭借其敏锐的市场洞察力和卓越的技术实力&#xff0c;成为了抖音小店领域的佼佼者&#xff0c;…

功能推荐 | TopOn 智能管家,开发者收益提升好帮手,一键托管自动提升ARPU!

01 什么是智能管家 智能管家&#xff0c;是TopOn SDK基于广告位填充率、广告源预估收益等大数据学习的基础上开发的一项新功能&#xff0c;它能根据当前开发者流量分组瀑布流配置的数据情况&#xff0c;自动判断对应广告源是否需要开启/关闭&#xff0c;以及是否需要增加Biddi…

SpringBoot整合mybatisPlus实现批量插入并获取ID

背景&#xff1a;需要实现批量插入并且得到插入后的ID。 使用for循环进行insert这里就不说了&#xff0c;在海量数据下其性能是最慢的。数据量小的情况下&#xff0c;没什么区别。 【1】saveBatch(一万条数据总耗时&#xff1a;2478ms) mybatisplus扩展包提供的&#xff1a;…

Verilator——最简单、最细节上手教程

目录 前言工具安装Verilator 安装GTKwave 安装 Verilator 基础用法fst格式和vcd格式的wave文件Verilator 的使用 Verilator 的进阶使用与GDB搭配与makefile搭配 Verilator 的高阶用法访问模块内部数据 前言 此教程会以ubuntu22.04为例 从如何安装&#xff0c;到如何使用 全程帮…