ZYNQ FPGA自学笔记

news2024/9/26 5:18:01

一 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

    );

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

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.coloradmin.cn/o/2137849.html

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

相关文章

[C++]——vector

&#x1f307;个人主页&#xff1a;_麦麦_ &#x1f4da;今日小句&#xff1a;快乐的方式有很多种&#xff0c;第一种便是见到你。 目录 一、前言 二、vector的介绍及使用 2.1 vector的介绍 2.2 vector的使用 2.2.1 vector的定义&#xff08;构造函数&#xff09; 2.2.2…

【物联网】一篇文章带你认识RFID(射频识别技术)

基本原理 RFID是Radio Frequency Identification的缩写&#xff0c;即射频识别技术&#xff0c;其工作原理基于电磁感应理论&#xff08;射频一般指微波&#xff0c;频段在1-100GHz&#xff0c;适用于短距离通信&#xff09;&#xff0c;是一种非接触式的自动识别技术&#xf…

unity 图片置灰shader

我和chatgpt真强&#xff01; 在 Unity 编辑器中&#xff0c;右键点击 Assets 文件夹&#xff0c;选择 Create -> Shader -> Unlit Shader。shader代码如下&#xff0c;尽管我看的不是很懂&#xff0c;但确实有用 Shader "Custom/GrayScaleShader" {Properti…

沉浸式体验Stability AI最新超强AI图片生成模型Ultra

2024年9月4日&#xff0c;亚马逊云科技在Amazon Bedrock上新了Stability AI最新的的三款文本图像生成模型&#xff1a;他们分别是Stable Image Ultra、Stable Diffusion 3 Large 和 Stable Image Core。全新的模型在处理多主题提示词、图像质量和图片排版上较上一代模型有显著提…

解决win11 使用wsl工具,不能使用systemctl

使用systemctl命令出现报错&#xff1a; System has not been booted with systemd as init system (PID 1). Can‘t operate. 默认情况下并不启用 systemd&#xff0c;而是使用了其他轻量级的初始化系统&#xff08;SysV init初始化系统&#xff09;。这导致一些需要 system…

如何精确统计Pytorch模型推理时间

文章目录 0 背景1 精确统计方法2 手动synchronize和Event适用场景 0 背景 在分析模型性能时需要精确地统计出模型的推理时间&#xff0c;但仅仅通过在模型推理前后打时间戳然后相减得到的时间其实是Host侧向Device侧下发指令的时间。如下图所示&#xff0c;Host侧下发指令与De…

RS-485自收发电路

RS-485自收发电路 RS-485标准在工业控制、电力通讯、智能仪表等领域中使用广泛。 信号自收发电路1&#xff1a;利用74HC14芯片 信号自收发电路我们采用74HC14芯片&#xff0c;利用它的施密特波形翻转性能来控制RE、DE引脚&#xff0c;以实现信号的自收发。其电路连接如下图&am…

C++入门 之 类和对象(上)

目录 一、类的定义 1.类定义格式 2.访问限定符 3.类域 二、实例化 1.实例化概念 2.对象大小 3.this指针 一、类的定义 1.类定义格式 1、class Stack{}&#xff1b;class为定义类的关键字&#xff0c;Stack为类的名字&#xff0c;{}中为类的主体&#xff0c;注意类定义…

C++ tracy性能分析(二)

环境搭建 项目根目录下 git clone https://github.com/wolfpld/tracy cmake 配置 add_definitions("-DTRACY_ENABLE") add_subdirectory(tracy) include_directories(${TRACY_PUBLIC_DIR}) target_link_libraries(project TracyClient) test.cpp //#define TRACY_C…

猫狗识别大模型——基于python语言

目录 1.猫狗识别 2.数据集介绍 3.猫狗识别核心原理 4.程序思路 4.1数据文件框架 4.2 训练模型 4.3 模型使用 4.4 识别结果 5.总结 1.猫狗识别 人可以直接分辨出图片里的动物是猫还是狗&#xff0c;但是电脑不可以&#xff0c;要想让电脑也分辨出图片里的动物是猫还是小…

【linux-Day2】linux的基本指令<上>

【linux-Day2】linux的基本指令<上> 一键查看操作系统的重要地位linux下的基本指令&#x1f4e2;ls&#xff1a;显示当前目录下所有的子目录和文件&#x1f4e2;pwd&#xff1a;显示用户当前所在的目录&#xff0c;在windows中&#xff0c;相当于显示当前目录的绝对路径。…

AI工具一键制作爆火的“汉语新解“卡片!

最近出现了一种很火的新玩法“汉语新解”。 AI把一个词汇&#xff0c;以一种特殊的视角&#xff0c;用幽默、讽刺等方式重新定义&#xff0c;然后生成一张精美的卡片。 这个玩法和之前我发的的吐槽工具玩法类似&#xff0c;主打的就是一个新颖、情绪释放。 今天教大家怎么快速…

Python 解析 JSON 数据

1、有如下 JSON 数据&#xff0c;存放在 data.json 文件&#xff1a; [{"id":1, "name": "小王", "gender": "male", "score": 96.8}, {"id":2, "name": "小婷", "gender&qu…

大模型探索式轨迹优化:基于试错的自主智能体学习新方法

人工智能咨询培训老师叶梓 转载标明出处 现有的开源LLMs在构建智能体方面的效果远不如GPT-4。标准的构建开源LLM智能体的方法涉及模仿学习&#xff0c;即基于专家轨迹对LLMs进行微调。然而&#xff0c;这些方法完全依赖于专家演示&#xff0c;由于对目标环境探索不足而可能产生…

windows11+ubuntu20.04.6双系统安装

记录win11和ubuntu20.04.6在单个硬盘上安装的主要流程 系统说明 BIOS模式&#xff1a; UEFI 硬盘&#xff1a; 1TB固态 内存&#xff1a; 32GB 步骤 1、 准备两个不小于16GB的U盘&#xff0c;一个用于装Windows&#xff0c;一个用于装ubuntu&#xff0c;注意8G的U盘虽然能够…

操作系统知识点-进程与线程,一文搞懂!

本文图片均来自王道考研 一、进程的概念、组成和特征 进程&#xff08;Process&#xff09;是计算机中的一个核心概念&#xff0c;它是对正在运行的程序的一个抽象表示。在计算机科学中&#xff0c;一个进程是系统进行资源分配和调度的一个独立单元&#xff0c;是操作系统结构…

Python数据分析 Pandas基本操作

Python数据分析 Pandas基本操作 一、Series基础操作 ​ Series是pandas的基础数据结构&#xff0c;它可以用来创建一个带索引的一维数组&#xff0c;下面开始介绍它的基础操作 1、创建Series 1&#xff09;使用数据创建Series&#xff1a; import pandas as pd pd.Series(1…

学习笔记JVM篇(三)

一、垃圾回收机制 垃圾回收&#xff08;Garbage Collection&#xff09;机制&#xff0c;是自动回收无用对象从而释放内存的一种机制。Java之所以相对简单&#xff0c;很大程度是归功于垃圾回收机制。&#xff08;例如C语言申请内存后要手动的释放&#xff09; 优点&#xff…

基于less和scss 循环生成css

效果 一、less代码 复制代码 item-count: 12; // 生成多少个 .item 类.item-loop(n) when (n > 0) {.icon{n} {background: url(../../assets/images/menu/icon{n}.png) no-repeat;background-size: 100% 100%;}.item-loop(n - 1);}.item-loop(item-count);二、scss代码 f…

在线查看 Android 系统源代码 Android Code Search

在线查看 Android 系统源代码 Android Code Search 1. Android Code Search2. Android2.1. platform/superproject2.2. build/envsetup.sh2.3. build/make/envsetup.sh References 1. Android Code Search https://cs.android.com/ Android https://cs.android.com/android An…