随笔分类 -  2023前的博客 / FPGA

用于学习FPGA的所有实践
摘要:基于ARM联合ZYNQ的设计小结 1、硬件设计 硬件设计就是使用PS的自带硬核,外接其他可以连接AXI的IP核,构成一个自定义的硬件平台。如果简单理解,可以把这些操作统称为底层。这部分的设计还是比较方便的。vivoda中有丰富的可以利用的IP核来使用。在使用官方的IP核时有一种比较轻松的感觉,因为官 阅读全文

posted @ 2020-07-02 21:18 绿叶落秋风 阅读(429) 评论(0) 推荐(0)

摘要:自定义AXI总线IP之补全寄存器配置输入和输出 1、实验目的 在使用默认的AXI4的配置时,不会有寄存器的配置,无法配置端口的输入还是输出。根据前面的AXI总线的理解,这里通过仲裁器判断,将AXI4的从地址0x04对应的寄存器用于端口的配置。通过寄存器的读取后直接输出到顶层。也可以直接将端口的数据加 阅读全文

posted @ 2020-07-01 21:47 绿叶落秋风 阅读(1154) 评论(0) 推荐(0)

摘要:基于vivado中AXI的模型分析 1、底层代码 `timescale 1 ns / 1 ps module myip_v1_0_S00_AXI # ( // Users to add parameters here // User parameters ends // Do not modify 阅读全文

posted @ 2020-06-30 22:23 绿叶落秋风 阅读(1284) 评论(0) 推荐(0)

摘要:自建AXI4的IP核的地址问题 1、问题概述 在AXI4中,对应的操作通过对对应的寄存器设置来完成。其中的寄存器又分为数据寄存器和地址寄存器。其中,如果只是想要操作数据的话,只需要使用数据寄存器即可。在自建AXI4的IP时,会选择数据寄存器的个数。在打开封装文件时也可以看到数据寄存器。一般是slv_ 阅读全文

posted @ 2020-06-29 22:41 绿叶落秋风 阅读(813) 评论(0) 推荐(0)

摘要:PS-AXI-PL流水灯设计(2) 1、实验原理 承接上一次的实验,这里对AXI的总线结构做出分析,将AXI的理论具体对应到设计上去。为后面自己设计AXI的发送和接受器做好准备。 2、实验操作 (1)AXI中的寄存器变量 在不了解具体的AXI协议的条件下,如果想完成基本的AXI4总线的IP核,就必须 阅读全文

posted @ 2020-06-25 23:12 绿叶落秋风 阅读(267) 评论(0) 推荐(0)

摘要:基于AXI4的自定义IP核的设计 1、实验目标 利用vivado中内置的AXI总线初始化的IP核设计工具,将自己设计的流水灯的PL代码打包成IP核外设,挂在PS上,通过PS上的按钮控制流水灯的开始和结束。 2、实验原理 首先准备一个流水灯的代码,打包到AXI为基础的核上。然后利用PS访问这个部分并且 阅读全文

posted @ 2020-06-24 22:49 绿叶落秋风 阅读(499) 评论(0) 推荐(0)

摘要:vivado中的VIO调试工具的使用 1、实验原理 前面一篇介绍了ILA的独立测试,vivado中还有其他的FPGA测试工具。其中VIO就是个比较常用的工具。相对于ILA更多的关注波形,VIO则专注于输入和输出关系的描述。个人理解为VIO就是一个便携测试,可以根据输入测试输出。VIO提供按键仿真和L 阅读全文

posted @ 2020-06-23 20:01 绿叶落秋风 阅读(4201) 评论(0) 推荐(0)

摘要:vivado非嵌入ILA的使用 1、实验原理 前面在vivado中联合vitis设计时接触过ila,那个时候采用的方法是直接调用IP核在原理图中连接。这个方法简单直接,可以将自己所需的测量信号转移到ILA上实现显示。在下载后会自动弹出ILA界面。但是,这个方法在后期需要手动修改设计,将ILA移除。不 阅读全文

posted @ 2020-06-21 22:36 绿叶落秋风 阅读(1082) 评论(0) 推荐(0)

摘要:AXI4自定义FPGA外设理论基础 1、理论目的 在前面的基于AXI4的自定义GPIO的实验中,大概地了解了AXI4的工作模式,即以寄存器为缓冲,实现操作和传输。那个实验只是将自定义的FPGA连接到现成的IP核上,形成一个简单的AXI4核。内容相对简单,也没有过多的探究每个模块的具体作用,只是将引出 阅读全文

posted @ 2020-06-18 23:03 绿叶落秋风 阅读(381) 评论(0) 推荐(0)

摘要:FPGA原语之一位全加器 1、实验原理 一位全加器,三个输入,两个输出。进位输出Cout=AB+BC+CA,本位输出S=A异或B异或C。实验中采用三个与门、一个三输入或门(另外一个是两个或门,功能一致)、一个三输入异或门实现该简单功能。 2、实验操作 实验设计还是比较简单的,直接看代码即可: mod 阅读全文

posted @ 2020-06-17 23:49 绿叶落秋风 阅读(1158) 评论(0) 推荐(0)

摘要:FPGA原语初步实验 1、实验原理 将FPGA的原语基本语法加入到实际的工程中,可以通过实验具体得到相应的数字电路。这里先从与、或、非门开始,准备将数字电路的设计思路引入verilog细节设计。 2、实验操作 and(led[0],key_code[0],key_code[1]);//and log 阅读全文

posted @ 2020-06-16 03:30 绿叶落秋风 阅读(299) 评论(0) 推荐(0)

摘要:PS的流水灯设计分析 1、实验原理 PS设计流水灯就是采用ARM的硬核实现流水灯设计。ARM内核采用的就是一个可以执行软件程序的平台。这里采用C语言设计。基于前面构建的GPIO外设的硬件平台,这里实现基本的流水的操作。 2、实验操作 (1)软件部分 这里采用简单的C代码实验,就使用delay和XGp 阅读全文

posted @ 2020-06-15 21:13 绿叶落秋风 阅读(494) 评论(0) 推荐(0)

摘要:Vivado2019的约束文件 1、 约束文件 vivado的约束文件是以xdc为后缀的。该文件具有时序约束和管脚约束的作用。该文件可以自己创建,也可以通过内置工具创建。 2、基本操作 (1)使用内部工具创建 在RTL ANALYSIS》open Elaborated Design中可以进入xdc的 阅读全文

posted @ 2020-06-15 00:00 绿叶落秋风 阅读(4143) 评论(0) 推荐(0)

摘要:PS-AXI-GPIO-流水灯设计 1、实验目的 在了解了AXI协议的基本内容后,通过已经设计好的AXI的IP核来了解实际设计中AXI的工作原理和设计原理是必要的。这个实验以前实际上按照教程做过,但是没有过多地注意AXI总线的作用和地位,对于AXI协议还是当作黑盒子处理。但是,如果想要将自己的FPG 阅读全文

posted @ 2020-06-12 23:55 绿叶落秋风 阅读(741) 评论(0) 推荐(0)

摘要:verilog的文件流和项目流 1、写在前面 在学习FPGA时,一般都是从项目流入手的。从一个集成的开发环境创建一个工程。通过一个个组件的编写和设置来实现某个项目。这样的操作固然简单,对于设计者来说只需要关注需要修改的部分,而无需知道每个项目文件所对应的作用。这可以用于快速入门,但是不利于长期的结构 阅读全文

posted @ 2020-06-09 22:10 绿叶落秋风 阅读(374) 评论(0) 推荐(0)

摘要:AXI4的收发机制 1、AXI4的译码器 对于多个主机和从机的AXI4总线的互联架构,译码器都是重要的。主机的端口一般有三个译码器,分别是读地址通道、写地址通道和写数据通道的译码器。主要作用是将通道的信息和内部寄存器的信息相互转化。从机的端口就是写响应和读数据通道会有译码器。译码器就是保证一方可以向 阅读全文

posted @ 2020-06-08 21:50 绿叶落秋风 阅读(1223) 评论(0) 推荐(0)

摘要:AXI4的物理传输模型 1、AXI4的组成部分 首先说一下文章是学习《基于AXI4的IP核互联的设计与验证》莫锦辉的学习笔记。文中大部分的知识都是来源于这篇论文,这里学习以便理解AXI4协议。 AXI4是由五个通道构成的:写地址、读地址、写数据、读数据和写数据响应。主机和从机的概念具有区分。每个通道 阅读全文

posted @ 2020-06-07 23:58 绿叶落秋风 阅读(328) 评论(0) 推荐(0)

摘要:Verilog中的数据格式 1、基本概念 verilog中写一个数据的通用格式是 n'b000_000_···_000,表示一个n位的二进制数。基于这个通用式,可以将其分为三个部分:位数、加权数和实际数。改变位数自然可以改变该数的存储宽度。改变加权数则是改变数制。如使用b(二进制),d(十进制),h 阅读全文

posted @ 2020-06-05 23:59 绿叶落秋风 阅读(3347) 评论(0) 推荐(0)

摘要:AXI总线协议的学习 1、AXI总线的初步认识 What is AXI? AXI is part of ARM AMBA, a family of micro controller buses first introduced in 1996. The first version of AXI wa 阅读全文

posted @ 2020-06-03 20:20 绿叶落秋风 阅读(1560) 评论(0) 推荐(0)

摘要:verilog之原语设计 1、原语作用 在一般的verilog设计中,一般采用数字逻辑设计,由软件将数字逻辑转化为特定的数字电路。但是,对于某些特殊的领域,有可能需要用户直接自定义数字电路以达到对指定电路的设计。原语就是执行这个功能的。原语也就是门级语言。这个语言之于verilog就像汇编语言之于C 阅读全文

posted @ 2020-06-02 11:59 绿叶落秋风 阅读(5555) 评论(0) 推荐(1)