ZYNQ FPGA自学笔记~点亮LED

一 ZYNQ FPGA简介

       ZYNQ FPGA主要特点是包含了完整的ARM处理系统,内部包含了内存控制器和大量的外设,且可独立于可编程逻辑单元,下图中的ARM内核为 ARM Cortex™-A9,ZYNQ FPGA包含两大功能块,处理系统Processing System(ps)和可编程逻辑Progarmmable Logic(pl),为了实现 ARM 处理器和FPGA之间的高速通信和数据交互,发挥 ARM 处理器和FPGA的性能优势,需要设计高效的片内高性能处理器与FPGA之间的互联通路。从zynq内部框图看ps与pl端的高速互联接口为Advanced eXtensible Interface(AXI)。

                                                图:zynq fpga xc7z020内部框图

通过pl点亮LED

1 硬件电路

zynq fpga 为xc7z020,电路如下图所示,点亮led1~led4,与PL端连接的为M14,M15,K16,J16,PL_GCLK为50M的时钟源。

                                                                   图:硬件原理图

2 vivado工程

vivado版本为2017.4。

安装包直接在官网下载:https://china.xilinx.com/support/download/index.html/content/xilinx/zh/downloadNav/vivado-design-tools/archive.html

license文件:

链接:https://pan.baidu.com/s/1mlVilCib8T-KzS6U1Ufytw?pwd=4kc3

提取码:4kc3

操作过程主要是:

新建工程→创建led.v文件→生成管脚xdc文件→综合在xdc中增加时序约束→生成bit文件

2.1 点亮ledverilog

代码如下:

module led(

    input sys_clk,

    input rst_n,

    output reg [3:0] led

    );       // 定义wire型1位变量sys_clk、rst_n,4位寄存器变量led

reg[31:0] timer_cnt;    // 定义wire型32位的timer_cnt

//always语句,sys_clk上升沿或rst_n下降沿时为真。

always@(posedge sys_clk or negedge rst_n)

begin   // 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

Instantiate ila in source file

//ila ila_inst(

//  .clk(sys_clk),

//  .probe0(timer_cnt),

//  .probe1(led)

//  );

endmodule

由系统时钟50M,计数到49999999翻转LED,也就以1s的间隔亮灭LED。

IO的配置如下图所示:

                                                                       图:点亮LEDio配置

生成的原理图:

                                                                                           图:点亮LED的逻辑原理图

2.2 vivado仿真

仿真文件:

module vtf_led_test;

// Inputs

reg sys_clk;

reg rst_n ;

// Outputs

wire [3:0] led;

// Instantiate the Unit Under Test (UUT)

led uut (

    .sys_clk(sys_clk),  

    .rst_n(rst_n),

    .led(led)

 );

initial

begin

// Initialize Inputs

    sys_clk = 0;

    rst_n = 0 ;

    #1000 ;

    rst_n = 1;

end

//Create clock

always #10 sys_clk = ~ sys_clk; 

endmodule

仿真结果:

可以看到在1s的位置led1~led4电平有翻转。

                                                            图:仿真的波形

完整的点亮LED工程:

链接:https://pan.baidu.com/s/19WJav9AoM_YqfZWq-V-_Xw?pwd=mwgu

提取码:mwgu

烧录pl程序到flash

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

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

相关文章

路由原理介绍

定义与过程 定义&#xff1a;是指导IP报文发送的路径信息 过程&#xff1a; 检查数据包的目的地确定信息源发现可能的路径选择最佳路径验证和维护路由信息 路由来源 直连路由&#xff1a;不需配置&#xff0c;路由器配置IP后自动生效 静态路由&#xff1a;手动配置 ip r…

Ubantu LLaMA-Factory实战

一、Ubantu LLaMA-Factory实战安装&#xff1a; CUDA 安装 CUDA 是由 NVIDIA 创建的一个并行计算平台和编程模型&#xff0c;它让开发者可以使用 NVIDIA 的 GPU 进行高性能的并行计算。 首先&#xff0c;在 https://developer.nvidia.com/cuda-gpus 查看您的 GPU 是否支持CU…

壹嘉情,中国与世界经济文化交流的新桥梁

壹嘉情正在全球华商领域迅速崛起。作为意大利华商总会的中国分部&#xff0c;壹嘉情承载着推动两岸及全球华商深度合作、实现资源共享和互利共赢的使命。它的成立标志着意大利华商总会在全球战略布局上的重要一步&#xff0c;同时也昭示了全球化浪潮中&#xff0c;华人企业正加…

苹果电脑也可以清除垃圾吗?苹果电脑清理垃圾用什么软件哪个好?

相对于Windows电脑&#xff0c;目前专注于苹果电脑清理的软件不算多&#xff0c;那么&#xff0c;苹果电脑垃圾清理软件哪个好&#xff1f;本文经过对比给大家推荐几款好用的软件。另外&#xff0c;我们还会进行苹果电脑垃圾清理方法盘点&#xff0c;让大家更了解电脑的清理方法…

从零开始讲DDR(0)——DDR的前世今生

一、计算机组成 计算机组成结构&#xff08;Computer Architecture&#xff09;是计算机系统的核心&#xff0c;它定义了计算机的基本工作原理和设计模式。计算机的组成可以分成以下3大类&#xff1a;中央处理器&#xff08;CPU&#xff09;、存储器和输入/输出子系统。 1.1 中…

达梦数据库DM8使用介绍

达梦数据库DM8使用介绍 达梦数据库DM8使用介绍一、安装达梦数据库二、初始化数据库实例三、SQL 分类DML(Data Mannipulation Language)数据操纵语言&#xff1a;DDL(Data Definition Language)数据定义语言&#xff1a;DCL(Data Control Language)数据控制语言&#xff1a;TCL(…

springboot实训学习笔记(5)(用户登录接口的主逻辑)

接着上篇博客学习。上篇博客是已经基本完成用户模块的注册接口的开发以及注册时的参数合法性校验。具体往回看了解的链接如下。 springboot实训学习笔记&#xff08;4&#xff09;(Spring Validation参数校验框架、全局异常处理器)-CSDN博客文章浏览阅读576次&#xff0c;点赞7…

城市级河流三维处理及展示的一些技术

本文是一些算法技术的初探分析&#xff0c;会陆续修订。 1、问题 河流是一种非常复杂的多边形。在二维地图可以采用多边形填充算法(DDA)对任意复杂的多边形进行绘制与填充。但是三维引擎只能采纳三角面进行渲染。但在如此复杂的多边形面前&#xff0c;简单的三角化算法不能解…

Java 回顾方法的定义

一、方法的定义 1&#xff0e;修饰符&#xff08;public static…&#xff09;详见博客【Java 方法的定义】 2&#xff0e;返回值&#xff08;int, double, char[],…., void&#xff09;详见博客【Java 方法的定义】 3. break&#xff1a;跳出switch 结束循环&#xff0c;详…

2024年09月18日《每日一练》

1、 智慧城市建设参考模型包括有依赖关系的5层结构和对建设有约束关系的3个支撑体系&#xff0c;5层结构包括物联感知层、通信网络层、计算与存储层、数据及服务支撑层、智慧应用层;3个支撑体系除了建设和运营管理体系、安全保障体系之外还包括&#xff08;&#xff09;。 A 人…

使用arduino玩基于esp8266的nodemcu开发板

一、简介 中秋节到图书馆看书&#xff0c;看到了arduino方面的书籍&#xff0c;里面有提到ESP8266模块。让我想起我抽屉里吃灰很久了的基于esp8266的nodemcu开发板。于是把书借回家研究了一下。这里做个记录。 二、我目前在使用的云服务器推荐 学Linux不搞个云服务器始终感觉…

进行直流充电桩测试仪的步骤和规范

直流充电桩测试仪是一种用于检测和评估直流充电桩性能的设备。它能够测量充电桩的输出电压、电流、功率等参数&#xff0c;并能够模拟各种负载条件&#xff0c;以测试充电桩的稳定性和可靠性。下面是进行直流充电桩测试仪的步骤和规范&#xff1a; 确保测试环境安全&#xff0…

2024.9.18 作业+思维导图

练习&#xff1a;提示并输入一个字符串&#xff0c;统计该字符串中字母、数字、空格、其他字符的个数并输出 #include <iostream>using namespace std;int main() {cout << "请输入一个字符串:" << endl;string str;int shuzi 0,zimu0,space 0,q…

MAGDA:多智能体指南驱动的诊断助手

MAGDA&#xff1a;多智能体指南驱动的诊断助手 秒懂大纲提出背景精细拆解输入输出全流程创意视角中文意译 论文&#xff1a;MAGDA: Multi-agent guideline-driven diagnostic assistance 秒懂大纲 ├── MAGDA: Multi-agent guideline-driven diagnostic assistance【研究主…

安全运维教程(非常详细)从零基础入门到精通,看完这一篇就够了

一、安全运维-网络 1、IP地址相关 IP地址属于网络层地址&#xff0c;用于标识网络中的节点设备。 IP地址由32bit构成&#xff0c;每8bit一组&#xff0c;共占用4个字节。 IP地址由两部分组成&#xff0c;网络位和主机位。 IP地址分类&#xff1a; 类别网络位子网掩码私有地…

嵌入式基本知识梳理

一、CPU的组成 CPU&#xff1a;中央处理器-----》soc(片上系统)&#xff08;描述的是一种芯片&#xff0c;这个芯片具有运算程序的能力&#xff09;、 UART: Universal Asynchronous Receiver/Transmitter&#xff0c;通用异步收发传输器&#xff09;是一种广泛使用的串行通信协…

达梦数据库导入xml迁移到达梦数据库大文件导致中断问题解决方案记录?

问题&#xff1a;我将同事给我的xml文件迁移到盗梦数据库&#xff0c;xml文件大约2G&#xff0c;在导入过程中&#xff0c;总是导入一半都不到就失败了。 原因&#xff1a;我的原因是我的电脑的系统的运行内存是16G的&#xff0c;后来我发现在没导入之前&#xff0c;其他进程已…

MODIS/Landsat/Sentinel下载教程详解【常用网站及方法枚举】

⛄前言 在当今快速发展的地球观测时代&#xff0c;遥感技术作为获取地球表面及其环境信息的重要手段&#xff0c;正以前所未有的广度和深度改变着我们对自然界的认知与管理方式。MODIS&#xff08;Moderate-resolution Imaging Spectroradiometer&#xff0c;中分辨率成像光谱…

Cloud Removal in Remote Sensing Using Sequential-BasedDiffusion Models论文翻译

MDPI 2023 论文名称:基于序列扩散模型的遥感云去除 摘要&#xff1a; 通过太空光学卫星收集的光学观测数据大多受到云层或雾霾的干扰&#xff0c;这限制了地球观测的进一步应用&#xff1b;因此&#xff0c;探索一种理想的去云方法至关重要。在本文中&#xff0c;我们提出了一…

电脑监控如何多画面显示?3个妙招分享,第一个你学会了吗?

电脑监控实现多画面显示&#xff0c;可以通过多种方法实现&#xff0c;以下是三个妙招的分享&#xff1a; 1. 使用专业监控软件 方法概述&#xff1a; 专业监控软件如安企神等&#xff0c;提供了强大的多画面显示功能。 这些软件通常支持自定义画面布局&#xff0c;如4分屏、…