自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 问答 (1)
  • 收藏
  • 关注

原创 FPGA + 图像处理(三)生成3x3像素矩阵

生成NxN的像素矩阵是对图像进行各类滤波操作的基本前提,本文介绍一种通过bram生成3x3矩阵的方法。

2024-04-07 20:06:02 682

原创 FPGA + 图像处理 (0)图像与TXT格式的转换,基于python

都是最基础的操作,注意路径正确就好。

2024-04-07 14:07:20 279

原创 FPGA + 图像处理 (二) RGB转YUV色域、转灰度图及仿真

本次实验比较简单,直接拷贝到工程,路径也没有问题应该可以直接运行,不过还是把工程附上,供大家免费下载,共同学习。【免费】RGB图像转YUV及灰度图FPGA实现工程资源-CSDN文库。

2024-04-02 22:14:06 710

原创 testbench中一些常用的系统命令

记录一下自己仿真过程中用到过的一些用于testbench的系统命令,根据自己用到的情况不定时进行补充。

2024-04-02 12:03:13 745

原创 SDK报错(1)undefined reference to `f_mount‘

按文中说法是ff.c文件中用了一个if语句来判断是否启用ff.h头文件,但是却没有地方进行宏定义来满足这个if条件。利用SDK读取sd卡时,添加了xilffs库,而且包含了ff.h头文件,还是对fat库的函数报错。网上有的说在ARM v7 gcc linker中添加xilffs的方法可以解决,但我试了没有用。如下图,我们可以在ff.c中自己添加一个宏定义来实现这个条件。最后在赛灵思论坛找到了一个解决方法,原文连接如下。这时候保存编译之后,报错就消失了。ff.c 文件在bsp工程下。

2024-03-15 15:34:55 419

原创 通过生成mcs、bin文件将程序固化到FPGA

通过将程序固化到FPGA,可以做到断电不丢失程序,上电之后就自动启动程序的作用,整个固化步骤主要分为3步,一是修改约束文件,二是生成mcs或bin文件,三是将程序固化到开发板flash。

2024-01-14 10:55:28 1746

原创 vivado报错(一)vivado与modelsim联合仿真报错

根本原因是混合语言库声明顺序不正确。问题可能发生在布尔信号或std_logic_vector信号上,因为VHDL和Verilog之间不存在1:1映射。2.在modelsim命令行使用如下代码,作用是设置Verilog库的优先级高于VHDL。注意:根据问题描述修改位宽是解决不了问题的,因为问题不是位宽不匹配。常见情况是在仿真时选择了混合语言,导致的端口位宽不匹配。1.将混合语言换成单一的语言仿真。根据自己使用的语言选择。

2023-12-07 10:54:41 718

原创 基于寄存器的开发、存储器映射以及其他相关,以STM32为例

以上,就是我对基于寄存器的开发与基于库函数的开发的一些理解,希望能够对大家的嵌入式学习有所启发。

2023-11-15 13:05:41 296 2

原创 关于zynq引脚编号、bank以及封装的一些理解

学习zynq已经有一段时间了,之前不论是用gpio使用MIO0这样的引脚还是在PL端将引出的端口约束到AB9这样的位置,用的时候也挺正常,但仔细一想又感觉云里雾里,还有bank0、bank1、bank500、bank501这样的分组,一直没有弄明白他们之间具体的关系,今天就来梳理一下。

2023-10-31 20:48:14 2336 2

原创 zynq板zedboard+SDK设计(四)结合自建IP核对axi接口文件进行详解

本文将通过建立一个简易的led灯的IP核,对其中axi相关接口的文件以及每个步骤进行详细分析,以实现从知道怎么做到知道为什么的转变IP核的建立工程参照了正点原子实验需要对AXI总线有一些基本的了解,可以看一看本人主页的AXI学习记录。

2023-09-27 15:00:07 430

原创 zynq板zedboard+SDK设计(三)AXI GPIO软核

AXI GPIO IP 核为 AXI 接口提供了一个通用的输入/输出接口。与 PS 端的 GPIO 不同,AXI GPIO 是一个软核(Soft IP),即 ZYNQ 芯片在出厂时并不存在这样的一个硬件电路,而是由用户通过配置 PL 端的逻辑资源来实现的一个功能模块。而 PS 端的 GPIO 是一个硬核(Hard IP),它是一个生产时在硅片中实现的功能电路。AXI GPIO 可以配置成单通道或者双通道,每个通道的位宽可以单独设置。

2023-09-18 11:13:48 426

原创 AXI总线自学笔记

AXI(Advanced eXtensible Interface)是一种总线协议,该协议是ARM 公司提出的 AMBA(Advanced Microcontroller Bus Architecture)3.0 协议中最重要的部分,是一种面向高性能、高带宽、低延迟的片内总线。它的地址/控制和数据相位是分离的,支持不对齐的数据传输,同时在突发传输中,只需要首地址,同时分离的读写数据通道、并支持显著传输访问和乱序访问,并更加容易就行时序收敛。AXI 是 AMBA 中一个新的高性能协议。

2023-09-08 14:18:17 169

原创 zynq板zedboard+SDK设计(二)HDMI工程解析

bd部分的内容就是这些,整体来看就是先通过vdma从ddr内读取视频数据,然后将rgb格式转换成YCrCb格式,再结合vide timing controller产生的时序将数据流转化成视频输出格式的数据,最后通过HDMI输出IP输出数据。GitHub上原版的工程没有SDK部分需要自己添加,这里放上本次使用的工程以供不便去GitHub上下载的读者使用。【免费】zedboard开发板读取sd卡内图像通过HDMI显示-嵌入式文档类资源-CSDN文库t=N7T8。

2023-09-06 12:32:30 1486 1

原创 FPGA + 图像处理(一)三种向zynq中DDR内导入图像数据的方法

介绍了三种比较基础的将数据存入ddr的方法,也不一定是图像数据,其他的数据也都可以按照这些方法导入ddr内,对于图像数据,通过sdk直接存入ddr内和通过sd卡读取还是比较便捷的,通过将数据初始化到rom内的方法限制较大,在导入图像数据后,因为三种方法的数据格式不同,要注意数据的使用方法。

2023-09-01 10:02:26 1783 1

原创 zedboard基于petalinux移植Linux系统及一些应用

基于petalinux的Linux移植教程,用到的工具有vivado2019.1,安装了petalinux的Ubuntu系统(本人用的是虚拟机)

2023-08-22 16:00:02 524 1

原创 vitis 报错(2)[Common 17-53] User Exception: Unable to get hpfm file from project

在创建工程时,会有一个 "Project is an extensible Vitis platform"可勾选项,如果勾选了此项,Menu->File->Export 会变成 "Export Platform" 而不是 "Export Hardware"。如果直接导出,可能会报错。此时需要在platform setup页面使能M_AXI_GP端口以及FCLK_CLK0端口,并使FCLK_CLK0端口设置成默认。

2023-08-03 10:22:59 631

原创 zynq板zedboard+vitis设计(四)基于bram的ps与pl交互

本文简单介绍通过bram在ps和pl间进行数据的传输以及命令的交互。

2023-07-06 11:49:00 299 1

原创 Verilog语法入门 (一) 数值表示,数据类型及运算符

一些Verilog的基础知识点,下一次开始介绍模块的结构框架和时序结构。

2023-07-06 11:09:54 3309 1

原创 VHDL语法入门 (八) 函数和过程

然而从应用角度来看,process是直接在主代码中使用,而函数和过程主要为建库而使用,他们用于存储常用的代码以达到代码重用和共享的目的。函数经常存放在包集中(目的是为了进行有效的代码分割,代码共享和代码重用),但也可以放在主代码中(既可以放在entity中,也可以放在architecture中)。前面我们介绍过函数内部wait语句,信号声明和元件调用是不可综合的,对于过程来说,如果一个过程在一个process中进行了声明,那么其内部可以声明信号。参数的个数是任意的,可以没有参数。注意,警告,错误和失败。

2023-06-20 09:12:13 2155 1

原创 VHDL语法入门 (七) 包集和元件

component和entity的声明格式一样,必须指出端口名称以及端口模式(in,out,buffer或inout)以及数据类型(std_logic_vector,interger和boolean等)。元件(component),函数(function)以及过程(procedure)等部分的使用往往是为了实现常用代码的共享。一个元件(component)是一段结构完整的常用代码(包括库声明,实体和结构体这些基本组成部分)。package的声明部分包括以下内容:元件,函数,过程,类型和常量说明等。

2023-06-20 09:08:24 1782 2

原创 VHDL语法入门 (六) 状态机

此时,如果是米勒型状态机,那么输出随输入的变化而改变,但是在很多应用中,需要同步的寄存器输出,输出信号只有在时钟边沿出现时才能更新,此时输出必须先用寄存器存储起来。它的优点是需要的寄存器数量最少,有n个寄存器就可以对2^n个状态进行编码。这段代码综合得到的寄存器的数量等于对状态机所有状态进行编码所需要的位数。该风格设计状态机时,将时序逻辑电路和组合逻辑电路进行分开设计,需要先定义一个枚举类型,包含状态机需要的所有状态。状态机的设计比较灵活多样,下面介绍两种相对常见的结构清晰,易于理解的状态机设计风格。

2023-06-19 20:05:21 2422 1

原创 VHDL语法入门 (五) 信号与变量

如果一个变量是在一个信号跳变时被赋予的,并且该值最终又被赋给了另外的信号(信号是全局的,可以进行数值传递),那么综合后就会产生寄存器。VHDL中的信号代表的是逻辑电路中的“硬”连线,既可以用于电路单元的输入输出端口,也可以用电路内各单元之间的连接。变量是局部的,只能用在顺序代码中(包括process,function或procedure的内部),并且他们的值不能直接向外传递。当信号用在顺序描述语句(如process内部)时,其值不是立刻更新的,信号值是在相应的进程,函数或过程完成之后才进行更新。

2023-06-19 20:03:05 2404

原创 VHDL语法入门 (四) 并行与串行

其中,信号可以在package,entity和architecture中声明,而变量只能在一段顺序描述的代码中声明(比如在process内部进行信号声明)。赋予变量的值是立即生效的,在此后的代码中,此变量将使用新的变量值。VHDL本质都是并发执行的代码,但是在PROCESS,FUNCTION和PROCEDURE内部的代码都是顺序执行的。变量只能在顺序代码中使用,相对于信号而言,变量只能时局部的,所以他的值不能传递到process,function和procedure外部。

2023-06-19 09:23:28 1934 1

原创 VHDL语法入门 (三) 运算操作符与属性

首先进行声明,然后进行属性描述,格式如下--属性声明--属性描述...--属性调用,返回值为3对于type state is (idle,forward,backward,stop);前面我们介绍过通常枚举类型的数据会自动进行编码,除非用户进行了特别声明。例如上述state类型中,“00”表示第一个状态(idle),“01”表示第二个状态(forward),“10”表示第三个状态(backward),“11”表示第三个状态(stop)。通过用户自定义属性,可以改变默认的编码次序。

2023-06-18 15:01:33 5382 1

原创 VHDL语法入门 (二) 数据类型

-用户定义整数--用户定义的整数子集--用户定义的自然数--用户定义枚举类型--用户定义的std_logic--用户定义的bit_logic数据类型--range表示取值范围没有约束,natural range表示数据值约束在自然数范围--枚举数据类型,常用于有限状态机通常枚举类型的数据会自动进行编码,除非用户进行了特别声明。

2023-06-18 10:37:01 3856

原创 VHDL语法入门 (一) VHDL结构

本文是本人在自学VHDL时进行的整理,学习教材为《VHDL数字电路设计教程》,若整理有误欢迎指正,若需要相关参考资料,可私信获取。

2023-06-17 11:56:33 1328

原创 zynq板zedboard+SDK设计(一)读取SD中bmp图片存入DDR

本文都是比较基础的应用,如有错误,欢迎指正。

2023-06-04 13:47:33 1044 2

原创 zynq板zedboard+vitis设计(三)状态机及中断,PL与PS部分的状态交互

本期讲的是一个状态机以及中断相结合的应用,展示的试验功能较为简单,主要是实现PL与PS部分的状态交互。

2023-04-01 14:13:42 747

原创 vitis 报错(1)[Common 17-69] Command failed: ERROR

只是简单的配置了zynq并添加了spi接口,bd验证以及bitstream生成都没有问题,包含bitstream导出hardware时出现如图报错。看了Xilinx论坛的帖子,也有包含ila时或者其他情况会出现该报错的,有其他解决办法,但重新打开工程最直接有效。

2023-03-31 19:49:03 2672

原创 zynq板zedboard+vitis设计(二)AXI DMA

本期将AXI DMA的写入与读取的测试,一些工程建立的详细步骤在第一次文章已经详细介绍了,此处不再赘述。

2023-03-30 18:41:17 842 3

原创 zynq板zedboard+vitis设计 (一) hello world实验

基于zedboard开发板与vitis结合的入门实验

2023-03-27 22:49:11 1990 5

RGB图像转YUV及灰度图FPGA实现工程

RGB图像转YUV及灰度图FPGA实现工程,包含仿真文件以及图像数据

2024-04-02

zynq开发板zedboard约束

zynq开发板zedboard原理图

2023-09-27

zedboard开发板读取sd卡内图像通过HDMI显示

zedboard开发板读取sd卡内图像通过HDMI显示,本人在原版基础上进行了些许完善,添加了sdk部分的工程。 原版代码由GitHub作者上传,原版地址https://github.com/GJigar/HDMI-display vivado版本为2019.1,本人主页内有工程详解

2023-09-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除