不枉初心,砥砺前行

皮皮祥的博客

欢迎留言,评论

导航

11 2022 档案

intptr_t和uintptr_t类型
摘要:看代码看到intptr_t和uintptr_t类型,有些不明白,查找后总结如下参考http://www.cnblogs.com/Anker/p/3438480.html这2个类型定义如下 /* Types for `void *' pointers. */ #if __WORDSIZE == 64 阅读全文

posted @ 2022-11-30 21:28 皮皮祥 阅读(620) 评论(0) 推荐(0) 编辑

常量指针和指针常量区别
摘要:指针常量,本质上一个常量,指针用来说明常量的类型,表示该常量是一个指针类型的常量,常量指针,本质上是一个指针,常量表示指针指向的内容,说明该指针指向一个“常量”。 常量指针,也就是本质是指针,什么样的指针呢,常量类型的指针,什么叫常量类型的指针呢,回忆一下函数指针,指向函数地址的指针,那么常量指针, 阅读全文

posted @ 2022-11-30 21:17 皮皮祥 阅读(93) 评论(0) 推荐(0) 编辑

c语言中的malloc
摘要:在使用malloc函数前,需要调用头文件# include <malloc.h> malloc函数的作用是动态分配内存,以解决静态内存定长、不能手动释放等缺陷。 malloc的使用方法: int *p = (int *)malloc(sizeof(int)); *p = 1; free(p); 还有 阅读全文

posted @ 2022-11-30 21:03 皮皮祥 阅读(1315) 评论(0) 推荐(0) 编辑

Vivado synth 8-439 module““not found问题绝对解决,超简单,想解决问题就看这里。
摘要:在写单片机vivado的时候,我们常常会碰到一些莫名其妙的问题,在英语界面也不知道往哪里找合适,可能一下子一个下午的时间(少说半小时)就耗费进去了,而网上目前没有找到相关的解决办法,而本人已经耗费了这么多时间给找着了解决办法,就想跟UP一样受困惑的UU们分享一下,减轻大家的时间耗费成本,如果看完了解 阅读全文

posted @ 2022-11-30 14:35 皮皮祥 阅读(2922) 评论(0) 推荐(0) 编辑

vivado使用tcl和tcl打开vivado工程的方法
摘要:把vivado工程保存成.tcl文件,有两种方法,分别是: ① 使用tcl命令:在打开的vivado工程中,在tcl命令输入行,输入如下命令,write_project_tcl { d:/work/system.tcl},即可把工程保存成.tcl文件。其中d:/work/是.tcl文件保存的路径,可 阅读全文

posted @ 2022-11-30 11:51 皮皮祥 阅读(2996) 评论(0) 推荐(0) 编辑

C语言中extern?
摘要:C语言中的变量有哪些存储类型,你还记得吗?extern如何使用你都掌握了吗?看了本文你就清楚了。 1、 回顾C语言变量 C语言中变量值的存储位置有两类:CPU的寄存器和内存。变量存储类型关系到其存储位置,除了register型存储在CPU寄存器中,C语言提供的其它三种存储类型(auto型、stati 阅读全文

posted @ 2022-11-29 19:47 皮皮祥 阅读(182) 评论(0) 推荐(0) 编辑

为什么memcpy中要指定const void *
摘要:void copyBytes(char *x, char *y, int howMany) 首先是你的指针char *,这意味着除了char *需要显式转换之外的任何指针类型.您应该使用void *,隐式转换指针类型. uint16_t a, b; copyBytes(&a, &b, sizeof( 阅读全文

posted @ 2022-11-29 09:29 皮皮祥 阅读(91) 评论(0) 推荐(0) 编辑

C语言中 char s[] 和 char* s 的区别
摘要:char s[] 和 char* s 的区别 1、数组本质 2、指针 指针的指向 3、字符数组 4、char * 与 char a[ ] 5、char ** 和char *a[] char *a[] char ** s C语言指针可以代替数组使用 1、数组本质 数组是多个元素的集合,在内存中分布在地 阅读全文

posted @ 2022-11-29 09:11 皮皮祥 阅读(523) 评论(0) 推荐(0) 编辑

memset用法
摘要:功 能: 将s所指向的某一块内存中的每个字节的内容全部设置为ch指定的ASCII值,它是对较大结构体或数组清零的一种最快的方法。 块的大小由第三个参数指定,这个函数通常为新申请的内存做初始化工作 用 法: void *memset(void *s, char ch, unsigned n); 程序例 阅读全文

posted @ 2022-11-29 09:07 皮皮祥 阅读(130) 评论(0) 推荐(0) 编辑

memcpy函数用法2
摘要:头文件 #include <string.h> memcpy() 用来复制内存,其原型为: void * memcpy ( void * dest, const void * src, size_t num ); memcpy() 会复制 src 所指的内存内容的前 num 个字节到 dest 所指 阅读全文

posted @ 2022-11-28 22:14 皮皮祥 阅读(220) 评论(0) 推荐(0) 编辑

memcpy函数用法
摘要:memcpy()函数用于:复制内存块 函数介绍 函数声明:void * memcpy ( void * destination, const void * source, size_t num ); 参数 目的地:指向要在其中复制内容的目标数组的指针,类型转换为 void* 类型的指针。 源:指向要 阅读全文

posted @ 2022-11-28 22:12 皮皮祥 阅读(671) 评论(0) 推荐(0) 编辑

vitis 中怎么更改搜索结果背景颜色?
摘要:转自:https://qa.1r1g.com/sf/ask/764605411/ 我一直在寻找约40分钟,这真是令人沮丧...... 日食中的标准搜索结果背景颜色是白色和黑色.每当我搜索一些东西时,我必须扫描屏幕50秒才能找到Eclipse找到的东西.我不知道哪种方式设置它,但他必须与编程界面配置颜 阅读全文

posted @ 2022-11-28 17:13 皮皮祥 阅读(181) 评论(0) 推荐(0) 编辑

C语言中static
摘要:static表示全局或静态意思;在函数体内,静态变量具有记忆功能,即在函数被调用过程中,一个被声明为静态变量的值维持不变;在模块内,但在函数体外,作用域范围是有限制的,static类型的变量,是本地的全局变量,可以被模块内的所有函数访问,不可以被模块外的函数访问;static类型的函数,与普通类型函 阅读全文

posted @ 2022-11-28 16:24 皮皮祥 阅读(191) 评论(0) 推荐(0) 编辑

关于IIC总线上的毛刺?
摘要:实际工程应用中,我们发现,用示波器测量IIC信号会发现总会有一些毛刺,而且仔细观察还可以发现这个毛刺是周期性的,这是为什么呢? 如图: 我们知道IIC是一种总线协议,如下: 之所以需要上拉电阻,源于IIC设计的开漏输出模式,设计上本身不支持高电平,只有低电平或者高阻态,其实这也跟总线协议相关,具体就 阅读全文

posted @ 2022-11-25 19:59 皮皮祥 阅读(1454) 评论(0) 推荐(0) 编辑

IIC时序图
摘要:IIC概述: IIC(Inter-IntegratedCircuit)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器以及其外围设备,IIC也被成为I2C,其实两者是完全相同的,只是名词不一样而已。它是由数据线SDA和时钟线SCL构成的串行总线,可发送和接收数据。 IIC特点: 阅读全文

posted @ 2022-11-25 09:34 皮皮祥 阅读(4613) 评论(0) 推荐(0) 编辑

硬件知识--IIC协议
摘要:IIC协议 IIC通信只有两条线就可以实现,一条是时钟线SCL,另一条是数据线SDA。是一种半双工通信协议。 关于IIC协议主要记住以下几点: 1、数据线SDA只有在时钟线SCL为低电平的时候才能改变电平状态。起始信号、应答信号、结束信号除外。 2、在传输数据时,每个时钟线SCL的高电平时刻采集数据 阅读全文

posted @ 2022-11-25 09:32 皮皮祥 阅读(379) 评论(0) 推荐(0) 编辑

IIC时序2
摘要:IIC的基本介绍 IIC的简介 IIC(Inter-Integrated Circuit)总线是一种由PHILIPS公司在80年代开发的两线式串行总线,用于连接微控制器及其外围设备。它是半双工通信方式。 IIC总线最主要的优点是其简单性和有效性。由于接口直接在组件之上,因此IIC总线占用的空间非常小 阅读全文

posted @ 2022-11-24 20:08 皮皮祥 阅读(263) 评论(0) 推荐(0) 编辑

debug hub
摘要:在进行 复杂的FPGA系统调试时经常会用到 Xilinx 的Debug Core(Chip scope), 但是烧录程序后, 想通过ILA 查看波形时,经常会遇到以下问题。找不到Debug Core/ILA,怎么办? 1. dbg_hub 没有时钟 如果硬件正常,找不到Debug Core,90%是 阅读全文

posted @ 2022-11-24 17:35 皮皮祥 阅读(2998) 评论(0) 推荐(0) 编辑

ILA使用说明
摘要:集成逻辑分析仪 (Integrated Logic Analyzer :ILA) 功能允许用户在 FPGA 设备上执行系统内调试后实现的设计。当设计中需要监视信号时,应使用此功能。用户还可以使用此功能在硬件事件和以系统速度捕获数据时触发。 添加 ILA 1.使用 IP 添加 添加IP 例化IP,并将 阅读全文

posted @ 2022-11-24 17:06 皮皮祥 阅读(1464) 评论(0) 推荐(0) 编辑

时钟复位
摘要:不知道题主问题解决没,添加ila比较推荐的方式不是直接在rtl里例化,而是先把待测信号设置成mark_debug,综合完成后用setup_debug来添加调试信号,添加完成后需要给这些信号选择对应的时钟,有几类时钟就会自动例化几个ila核,最后设置ila的深度和触发方式,这个时候ila核的时钟会自动 阅读全文

posted @ 2022-11-24 15:58 皮皮祥 阅读(114) 评论(0) 推荐(0) 编辑

AXI iic使用
摘要:本文主要讲述zynq的iic使用,iic作为主站使用,作为从站的本文不适合。 Iic的接口在PL端。(iic的接口在ps端的情况下,不适合本文) 如果iic的接口在ps端,请看:https://blog.csdn.net/weixin_36590806/article/details/1114857 阅读全文

posted @ 2022-11-22 20:53 皮皮祥 阅读(1080) 评论(0) 推荐(0) 编辑

IIC通信协议
摘要:1、IIC简介IIC(Inter-Intergated Circuit,集成电路总线)由飞利浦(Pilliphs)公司发明,是一种串行总线通信。 有两根线: SDA:Serial DAta 串行数据线 数据传输按bit位,属于半双工的协议。先传送最高bit(MSB)。 SCL:Serial CLoc 阅读全文

posted @ 2022-11-21 19:23 皮皮祥 阅读(673) 评论(0) 推荐(0) 编辑

IIC协议master可以和master 通信吗
摘要:协议介绍 I2C(Inter-Integrated Circuit)是一种通用的【总线协议】,一种简单的双向两线制总线协议标准; 实现I2C需要两根信号线完成信息交换,SCL时钟信号线,SDA数据输入/输出线。它属于【同步通信】,由于输入输出数据均使用一根线,支持【双向数据交换】,因此通信方向为【半 阅读全文

posted @ 2022-11-20 22:50 皮皮祥 阅读(518) 评论(0) 推荐(0) 编辑

IIC读时为什么要发送两次设备地址?
摘要:玩单片机的朋友都知道IIC通信这个工具,但好多人只是会用,内部的原理不求甚解,或是想要了解其原理,但却对抽象的时序描述一头雾水。本文将从实测的IIC波形入手,带你看到真实的IIC样子,进而去理解IIC的通信原理。 IIC基础知识 首先复习一下IIC基础知识,这部分看不懂的请先带着疑问,然后我们通过分 阅读全文

posted @ 2022-11-20 16:44 皮皮祥 阅读(3101) 评论(0) 推荐(0) 编辑

IIC总线的仲裁机制
摘要:转:https://blog.csdn.net/lpwsw/article/details/121778724 先说结论: 遵循3个机制 “线与”机制。多主机时,总线具有“线与”的逻辑功能,即只要有一个节点发送低电平时,总线上就表现为低电平。 SDA回读机制。总线被启动后,多个主机在每发送一个数据位 阅读全文

posted @ 2022-11-20 10:26 皮皮祥 阅读(618) 评论(0) 推荐(0) 编辑

IIC协议时序2
摘要:I2C通讯协议及时序图 I2C总线,PHILIPS公司定义的协议,由两条总线组成,数据线和时钟线,作为串行总线的一种,因接口所需要的线较少,所以被广泛利用。 一、速率 最高速率:400Kbps。(如果使用硬件I2C接口,可以通过配置主设备控制器,选择速率模式) 普通速率:100Kbps。 1.1 允 阅读全文

posted @ 2022-11-19 23:11 皮皮祥 阅读(255) 评论(0) 推荐(0) 编辑

IIC总线时序
摘要:IIC标准速率为100Kbit/s,快速模式400Kbit/s,支持多机通信,支持多主控模块,但是同一时刻只允许有一个主控。由数据线SDA和时钟SCL构成串行总线;每个电路模块都有唯一地址。I2C设备的操作可分为写单个字节存储,写多个字节存储,读单个存储字节和读多个存储字节,操作如下: a) 总线空 阅读全文

posted @ 2022-11-19 23:11 皮皮祥 阅读(247) 评论(0) 推荐(0) 编辑

Repeated Start Condition
摘要:Repeated Start Condition A way to claim the busDuring an I2C transfer there is often the need to first send a command and then read back an answer rig 阅读全文

posted @ 2022-11-19 17:16 皮皮祥 阅读(59) 评论(0) 推荐(0) 编辑

IC总线协议基础
摘要:IIC总线协议基础1 IIC总线协议基础1. 1 1. IIC时序基础知识... 2 1.1 信号线... 2 1.2 开始和结束条件... 2 1.3 数据保持时间... 2 1.4 应答ACK和非应答NACK. 3 1.4.1 应答 ACK. 3 1.4.2 非应答 NO ACK. 4 1.4. 阅读全文

posted @ 2022-11-19 16:39 皮皮祥 阅读(136) 评论(0) 推荐(0) 编辑

关于 uintptr_t和intptr_t 类型
摘要:简介 最近在看代码时,发现了两个之前没见过的数据类型:intptr_t,uintptr_t。这两个数据类型是ISO C99定义的,具体代码在linux平台的/usr/include/stdint.h头文件中。 /* Types for `void *' pointers. */ #if __WORD 阅读全文

posted @ 2022-11-18 18:03 皮皮祥 阅读(564) 评论(0) 推荐(0) 编辑

C语言uint8
摘要:一、C语言基本数据类型回顾 在C语言中有6种基本数据类型:short、int、long、float、double、char 1、数值类型 1)整型:short、int、long 2)浮点型:float、double 2、字符类型:char 二、typedef回顾 typedef用来定义关键字或标识符 阅读全文

posted @ 2022-11-18 17:34 皮皮祥 阅读(2151) 评论(0) 推荐(1) 编辑

【嵌入式系统】存储器映射与寄存器映射原理
摘要:【嵌入式系统】存储器映射与寄存器映射原理 一、存储器映射 图1 存储器映射 存储器在产家制作完成后是一片没有任何信息的物理存储器,而CPU要进行访存就涉及到内存地址的概念,因此存储器映射就是为物理内存按一定编码规则分配地址的行为。值得注意,存储器映射一般是由产家规定,用户不能随意更改。 图2 STM 阅读全文

posted @ 2022-11-18 11:44 皮皮祥 阅读(653) 评论(0) 推荐(0) 编辑

ZYNQ使用IIC读写EEPROM实验
摘要:简介 EEPROM是指带电可擦可编程只读取存储器是一种掉电后数据不丢失的存储芯片。EEPROM可以在电脑上或专用设备上擦除已有信息,重新编程。本次实验使用ZYNQ的自带IIC库函数读写EEPROM,笔者也是最近由于某些原因才开始学习ZYNQ,并完成了基础部分的学习开始通信协议的库函数部分。 ZYNQ 阅读全文

posted @ 2022-11-17 22:22 皮皮祥 阅读(1123) 评论(0) 推荐(0) 编辑

ZYNQ PS端IIC接口使用-笔记
摘要:ZYNQ7000系列FPGA的PS自带两个IIC接口,接口PIN IO可扩展为EMIO形式即将IO约束到PL端符合电平标准的IO(BANK12、BANK13、BANK34、BANK35); SDK中需要对IIC接口进行初始化在黑金和米联的例程里为了方便用户使用,对IIC和外设设备分别创建了相应的文件 阅读全文

posted @ 2022-11-17 22:20 皮皮祥 阅读(510) 评论(0) 推荐(0) 编辑

zynq系列之-----PS端iic使用
摘要:本文主要讲述zynq的iic使用。此IIC只能作为主站,作为从站的不适合本文。 Iic的接口在ps端。(iic的接口在pl端的情况下,不适合本文) 使用软件版本:vivado2018.3 pl端设置: 转载:xilinx平台中zynq的PS端iic使用_hhh_fpga的博客-CSDN博客_zynq 阅读全文

posted @ 2022-11-17 21:41 皮皮祥 阅读(595) 评论(0) 推荐(0) 编辑

数组指针和指针数组?
摘要:首先,理解一下数组指针和指针数组这两个名词: “数组指针”和“指针数组”,只要在名词中间加上“的”字,就知道中心了—— 数组的指针:是一个指针,什么样的指针呢?指向数组的指针。 指针的数组:是一个数组,什么样的数组呢?装着指针的数组。 然后,需要明确一个优先级顺序:()>[]>*,所以: (*p)[ 阅读全文

posted @ 2022-11-17 19:56 皮皮祥 阅读(72) 评论(0) 推荐(0) 编辑

static inline
摘要: 阅读全文

posted @ 2022-11-17 15:53 皮皮祥 阅读(19) 评论(0) 推荐(0) 编辑

内联函数
摘要:目录 什么是内联函数(Inline Function) 如何将函数编写为内联函数(how to make function inline) 例: 为什么使用内联函数(Why to use inline function) 结论: 特殊规则 1.编译器可能不接受内联提议 2.内联函数的定义和声明不可分 阅读全文

posted @ 2022-11-17 15:38 皮皮祥 阅读(178) 评论(0) 推荐(0) 编辑

基地址和偏移地址
摘要:首先必须明白 cpu和内存的区别 cpu 中央处理器 内存是物理数据存放的地方 cpu不直接存放数据而是通过内存来存放数据 cpu和内存之间通过20条地址总线相连接,地址总线就是cpu通过地址找到对应的内存的物理数据的传递工具 计算机只能处理0,1 二进制数据 每一条线可以处理 0,1 两种类型数据 阅读全文

posted @ 2022-11-17 15:01 皮皮祥 阅读(310) 评论(0) 推荐(0) 编辑

C++:将char*指针强制转换成一个指向结构体的指针
摘要:在使用Socket与雷达进行通信采集数据时,会遇到“打包与解包”的问题,在打包和解包过程中,会涉及到结构体指针与字符指针间的强制转换。如下: 打包就是将包头与信息封装成一定大小的包,作为发送单元进行发送。 1、首先将雷达数据格式进行打包:(把数据格式打包成一种结构体数据类型) typedef str 阅读全文

posted @ 2022-11-16 23:18 皮皮祥 阅读(1298) 评论(0) 推荐(1) 编辑

数组指针强制转换为结构体指针
摘要:前两天在看TI官方提供的BasicRF的源码时,发现一个看不懂的地方,就是将一个数组名强制转换为结构体指针,如下所示。 在上面的图片中,basicRfPktHdr_t是一个结构体,rxMpdu是一个长度为128个字节的数组名,pHdr是一个结构体指针。这让我很是清楚这么写是什么意思,因为以前从没有遇 阅读全文

posted @ 2022-11-16 23:09 皮皮祥 阅读(331) 评论(0) 推荐(0) 编辑

回调函数5简单易懂
摘要:题主把回调函数想的太复杂了,在这里强调一下: 回调函数和普通函数没有本质区别,没有本质区别,没有本质区别。回调函数谁都可以用。 首先让我们来看看普通的函数调用,假设我们在A函数中调用函数func: void A() { ... func(); ... } 想一想,你怎么知道可以调用func呢?哦,原 阅读全文

posted @ 2022-11-16 22:32 皮皮祥 阅读(27) 评论(0) 推荐(0) 编辑

typedef
摘要:再谈 typedef(重点为函数指针) 有种很方便的写法。 typedef int *p; p pointer; 这时直接把pointer带入原式中,取代p然后去掉typedef,得到的结果就是int * pointer;哈哈,这样直接替换就很直观多了。C 语言语法简单,但内涵却博大精深;如果在学习 阅读全文

posted @ 2022-11-16 21:51 皮皮祥 阅读(97) 评论(0) 推荐(0) 编辑

回调函数4
摘要:一、什么是回调函数 回调函数是指 使用者自己定义一个函数,实现这个函数的程序内容,然后把这个函数(入口地址)作为参数传入别人(或系统)的函数中,由别人(或系统)的函数在运行时来调用的函数。函数是你实现的,但由别人(或系统)的函数在运行时通过参数传递的方式调用,这就是所谓的回调函数。简单来说,当发生某 阅读全文

posted @ 2022-11-16 21:39 皮皮祥 阅读(16) 评论(0) 推荐(0) 编辑

assert
摘要:前言 我们在使用代码时,为了节省时间,经常进行代码的复用,那么如何保证别人在使用我们代码时可以达到预想的结果,加注释可能是一种办法,但一般都可以想到在我的函数体部分加入限制条件,但是今天我们我们介绍一种更普遍的方法,用assert断言来实现我们的想法。 在这里我们用一个增加数组元素的函数为例 voi 阅读全文

posted @ 2022-11-16 15:57 皮皮祥 阅读(129) 评论(0) 推荐(0) 编辑

回调函数3
摘要:1、使用typedef声明一个函数指针。 2、使用C语言实现一个和函数指针返回值类型。 函数参数都一样的函数(函数名字任意取)。 3、将实现的C语言函数作为参数传递(实际上就是传递的函数指针)。 4、满足特定的情况下,调用回调函数。 实例 1 2 3 4 5 6 //没有参数的回调函数 typede 阅读全文

posted @ 2022-11-16 14:46 皮皮祥 阅读(17) 评论(0) 推荐(0) 编辑

函数指针和指针函数
摘要:函数指针和指针函数的区别 一、函数指针 本质上是一个指针,它指向的是一个函数的地址。 1.如何定义一个函数指针: void(*p2)(int a,int b); 函数指针是专用的。格式要求很强 返回值,参数类型,个数都必须相同。 2.如何给函数指针赋值: void data(int a,int b) 阅读全文

posted @ 2022-11-16 14:40 皮皮祥 阅读(110) 评论(0) 推荐(0) 编辑

enum
摘要:enum enum是C语言中的一个关键字,enum叫枚举数据类型,枚举数据类型描述的是一组整型值的集合(这句话其实不太妥当),枚举型是预处理指令#define的替代,枚举和宏其实非常类似,宏在预处理阶段将名字替换成对应的值,枚举在编译阶段将名字替换成对应的值, 我们可以将枚举理解为编译阶段的宏,使用 阅读全文

posted @ 2022-11-16 14:09 皮皮祥 阅读(127) 评论(0) 推荐(0) 编辑

回调函数2
摘要:百度百科上的定义:回调函数就是一个被作为参数传递的函数。 回调是英文callback的直译,call是调用,back象征回过来。字面解释是让系统回过来调用我们指定好的函数。我们可以保存一个过程,用于以后在特定时间使用。比如设置一段代码,让操作系统在触发特定事情时调用(如按下键盘,按下鼠标时);又如开 阅读全文

posted @ 2022-11-16 13:19 皮皮祥 阅读(32) 评论(0) 推荐(0) 编辑

回调函数
摘要:一、回调函数的大白话解释 关于回调函数,引用Stack Overflow上面一个比较好的说明: A “callback” function is a function which is: accessible by another function, and is invoked after the 阅读全文

posted @ 2022-11-16 13:15 皮皮祥 阅读(83) 评论(0) 推荐(0) 编辑

#ifdef和#if的区别
摘要:ifdef和if的区别 ifdef 1)#ifdef只是判断后面的标识符有没有定义,而不在乎标识符的值,标识符是0是1对它来说都没有区别,只要预先定义了,执行#ifdef后的代码; 2)#ifdef是和#else搭配使用的,没有#elif搭配之说; 3)#ifdef必须要有#endif配合使用; # 阅读全文

posted @ 2022-11-16 13:05 皮皮祥 阅读(412) 评论(0) 推荐(0) 编辑

c语言函数声明中,static inline和extern inline的区别
摘要:c语言函数声明中,static inline和extern inline的区别 “extern”关键字对于普通函数没有作用 “extern”和“static”能影响编译器对内联函数的处理 “extern”关键字对于普通函数没有作用 extern在修饰变量和函数声明时的作用是表示:这个东西不在当前的编 阅读全文

posted @ 2022-11-15 17:34 皮皮祥 阅读(241) 评论(0) 推荐(0) 编辑

static inline
摘要:我们知道一般的函数调用都会通过call的方式来调用,hacker很容易对一个函数做手脚,如果是以inline的方式编译的,会把该函数的code拷贝到每次调用该函数的地方;而static会让生成的二进制文件中没有清晰的符号表,让逆向的人很难弄清楚逻辑 static int isValidate(int 阅读全文

posted @ 2022-11-15 17:21 皮皮祥 阅读(172) 评论(0) 推荐(0) 编辑

C语言inline关键字
摘要:一、inline关键字的概念 inline关键字是C99标准的型关键字,其作用是将函数展开,把函数的代码复制到每一个调用处。这样调用函数的过程就可以直接执行函数代码,而不发生跳转、压栈等一般性函数操作。可以节省时间,也会提高程序的执行速度。 二、为什么需要内联函数 在C语言中,如果一些函数被频繁的调 阅读全文

posted @ 2022-11-15 17:09 皮皮祥 阅读(231) 评论(0) 推荐(0) 编辑

强制类型转换(int*)
摘要:在vc中int* pt;pt=0xB8000000;为什么不能将0xB8000000直接看作一个地址赋给pt,而int* pt;pt=(int*)0xB8000000;就可以?并且(int*)0xB8000000这句强制类型转换应该怎么理解?为什么他一强制转换就变成地址值了呢0xB8000000本身 阅读全文

posted @ 2022-11-15 16:40 皮皮祥 阅读(356) 评论(0) 推荐(0) 编辑

一文彻底搞懂volatile用法
摘要:一、常见说法 volatile 关键字和const对应,一样是一种类型修饰符,用它修饰的变量表示可以被某些编译器未知的因素更改,比如操作系统、硬件或者其它线程等。遇到这个关键字声明的变量,编译器对访问该变量的代码就不再进行优化,从而可以提供对特殊地址的稳定访问。当要求使用 volatile 声明的变 阅读全文

posted @ 2022-11-15 16:22 皮皮祥 阅读(457) 评论(0) 推荐(0) 编辑

linux省去驱动直接从应用层寄存器操作
摘要:这个外设的功能已经在zynq sdk裸机下验证通过,如果这个外设没有用到中断,我们可以通过linux下映射寄存器的方法,将这个裸机下的程序直接移植到linux下使用,这样就可以省去硬件开发驱动的工作。 一,linux内存映射 二,原理图 三,linux应用层代码解析 1,pl_gpio.h #ifn 阅读全文

posted @ 2022-11-15 15:41 皮皮祥 阅读(510) 评论(0) 推荐(0) 编辑

iic地址
摘要:IIC,两根线,SCL时钟线,SDA数据线。 一个主机master,一个或多个从机slave。 主机通常就是MCU,从机会有一个地址,这个地址通常前4位是器件本身固定的,5-7位可以硬件选择,最后一位通常是WP位,一般此位低电平表示正常读写,此位高电平表示读保护,只能读。如常用的EEPROM 24C 阅读全文

posted @ 2022-11-15 12:00 皮皮祥 阅读(891) 评论(0) 推荐(0) 编辑

iic协议实操
摘要:1. 同一 I2C bus device 之 I2C slaver address 不可一样. 2. 检查 这些 devices , 是否可以变更 I2C slaver address (hardware pin control or software register setting). 3. 若 阅读全文

posted @ 2022-11-15 11:46 皮皮祥 阅读(63) 评论(0) 推荐(0) 编辑

XIicPs_MasterSendPolled和XIicPs_MasterRecvPolled
摘要:Xilinx FPGA的IIC程序中的XIicPs_MasterSendPolled和XIicPs_MasterRecvPolled函数的使用,8位寄存器地址写入24位数据 硬件平台:黑金AX7010开发板vivado版本:Vivado 2017.4SDK平台:SDK 2017.4目的:利用FPGA 阅读全文

posted @ 2022-11-15 11:34 皮皮祥 阅读(468) 评论(0) 推荐(0) 编辑

SDC文件常用时序约束语句
摘要:时钟约束 1. 基本约束 create_clocks -name clk_name -period 10 [get_ports clk_in] 这是最基本的时钟约束语句,为时钟管脚创建一个时钟,综合工具会根据创建的时钟进行布局布线,并给出时序分析报告,若发生时序违例,则需要对设计进行优化修改。 2. 阅读全文

posted @ 2022-11-14 22:55 皮皮祥 阅读(1058) 评论(0) 推荐(0) 编辑

set_clock_groups -async -group {CLK1CLK3}{CLK2}
摘要:本期求职笔试题目来源大疆硬件逻辑岗,共2道题,涉及知识点包含:时序约束中异步时钟的设置、典型时序优化方法。 33、根据约束关系set_clock_groups -async -group {CLK1CLK3}{CLK2},下图哪些路径会进行时序检查( )(多选题) A Path4 B Path2C 阅读全文

posted @ 2022-11-14 22:53 皮皮祥 阅读(1682) 评论(0) 推荐(0) 编辑

数字IC设计基本概念之多时钟设计
摘要:当设计中使用了多个时钟时,这些时钟域之间的关系可能是synchronous、asynchronous或者exclusive的。如下所示: Synchronous: Asynchronous: Exclusive: 需要人为地指定设计中时钟之间的关系,EDA工具才能正确地分析不同时钟域之间的路径。 S 阅读全文

posted @ 2022-11-14 22:52 皮皮祥 阅读(306) 评论(0) 推荐(0) 编辑

ZCU102 HDMI Demo工程修改【PCIE视频传输】
摘要:转自:https://blog.csdn.net/vacajk/article/details/78975590 为了更快速的开发我需要的带缓存的hdmi收发通路,将上一节的demo进行修改来实现。当然,可以从头开始自己进行配置,我就这么做了,但是因为fpga配置的不同,还要修改更多的驱动代码,相当 阅读全文

posted @ 2022-11-14 17:59 皮皮祥 阅读(360) 评论(0) 推荐(0) 编辑

IIC协议简介
摘要:IIC总线介绍 IIC也称I2C,是一个多主从的串行总线,由飞利浦公司发明的通讯总线,属于半双工同步传输类总线,仅由两条线就能完成多机通讯,一条SCL时钟线,另外一条双向数据线SDA,IIC总线要求每个设备SCL/SDA线都是漏极开路模式,因此必须带上拉电阻才能正常工作。I2C协议占用引脚少,硬件实 阅读全文

posted @ 2022-11-14 13:18 皮皮祥 阅读(425) 评论(0) 推荐(0) 编辑

整型常量、无符号整型常量、长整型常量
摘要:A.常量: •定义:固定不变值,例如1,1.9,A,c等 •分类: 1.整型常量: 一般的整型常量:1 2 3 4 无符号整型常量:1u 长整型常量:1l 短整型常量:没有特殊的表示方式 2.实数常量: 单精度:1.1f 双精度:1.3 特殊表示形式:科学计数法:2.32E10 3.字符常量: 字符 阅读全文

posted @ 2022-11-13 21:02 皮皮祥 阅读(2040) 评论(0) 推荐(0) 编辑

AXI接口学习
摘要:AXI4(AXI4-Full):用于存储器映射(主机在对从机进行读写操作时,指定一个目标地址,这个地址对应系统存储空间的地址,表示对该空间进行读写操作),可以传输大量数据到内存当中。 AXI4-Lite:用于低吞吐率的存储器映射的通信,对寄存器读写操作。 AXI4-Stream(ST):用于高速率的 阅读全文

posted @ 2022-11-13 20:47 皮皮祥 阅读(358) 评论(0) 推荐(0) 编辑

IP核之MMCM/PLL实验
摘要:1)实验平台:正点原子达芬奇FPGA开发板 2) 摘自【正点原子】达芬奇之FPGA开发指南 3)购买链接:https://detail.tmall.com/item.htm?id=624335496505 4)全套实验源码+手册+视频下载地址:http://www.openedv.com/docs/ 阅读全文

posted @ 2022-11-13 08:45 皮皮祥 阅读(930) 评论(0) 推荐(0) 编辑

HDMI SCDC处理过程
摘要:SCDC State and Control Data Channel 接收端如果有SCDC,应该在E-EDID中包含一个有效的HF-VSDB,并且把SCDC_Present位设置为1。在访问SCDC之前,源端必须验证接收端E-EDID中,包含一个有效的HF-VSDB并且SCDC_Present位要 阅读全文

posted @ 2022-11-12 17:36 皮皮祥 阅读(332) 评论(0) 推荐(0) 编辑

HDMI协议详细
摘要:本文从软件工程师角度对HDMI spec进行解析,基于的spec版本为1.4,也是设备支持最多最成熟的版本,目前最新版本为2.0。 1 概述 HDMI(High-Definition Multiface Interface)是Hitachi, Panasonic, Philips, SiliconI 阅读全文

posted @ 2022-11-11 22:21 皮皮祥 阅读(1068) 评论(0) 推荐(0) 编辑

HDMI原理详解以及时序流程(视频是三对差分信号,音频Audio是PCM级(无压缩)传输,包含在数据包内,依靠协议规定采样)
摘要:资料来源:HDMI介绍与流程 - TaigaComplex - 博客园 最近要用ZYNQ开发版的HDMI做显示,看着硬件管脚和例程只能发呆,于是决心去弄清楚HDMI的工作原理,查找了很多资料,都是碎片化的,不易懂。于是我加以整理,再以初学者(没有接触过任何视频传输接口)的角度在这篇博客里阐述。 对于 阅读全文

posted @ 2022-11-11 18:40 皮皮祥 阅读(3023) 评论(0) 推荐(0) 编辑

HDMI协议
摘要:HDMI协议 概述 物理结构 传输 Control Period(控制数据) Video Data Period(视频数据) Data Island Period(数据包) 三种数据传输注意事项 实体模型 EDID & DDC HPD 概述 HDMI是音视频传输协议,主要用于DVD, 机顶盒等音视频 阅读全文

posted @ 2022-11-11 18:06 皮皮祥 阅读(639) 评论(0) 推荐(0) 编辑

AXI bridge 和AXI interconnect
摘要:AXI bridge 可以转接PCIe总线提供AXI4嵌入式系统和PCIe系统。 ; 它包括内存从AXI4映射到AXI4-Stream桥和AXI4-Stream的PCIe集成块. 从桥作为一个从设备连接AXI4 Interconnect(IP)处理一些AXI4的读或者写请求操作。主桥作为主设备连接A 阅读全文

posted @ 2022-11-11 15:17 皮皮祥 阅读(1608) 评论(0) 推荐(0) 编辑

mio
摘要:1)实验平台:正点原子领航者ZYNQ开发板2)平台购买地址:https://item.taobao.com/item.htm?&id=6061601087613)全套实验源码+手册+视频下载地址:http://www.openedv.com/docs/boards/fpga/zdyz_linhanz 阅读全文

posted @ 2022-11-11 11:53 皮皮祥 阅读(192) 评论(0) 推荐(0) 编辑

MIO、EMIO、AXI_GPIO
摘要:开发板:Zynq7030数据采集板PC平台:Ubuntu-18.04 + MobaXterm开发环境:Xilinx Vivado + SDK -18.3学习目标:PS通过 EMIO、AXI_GPIO 口来控制PL端LED 一、MIO、EMIO、AXI_GPIO GPIO是最常见的一种IO外设。在Zy 阅读全文

posted @ 2022-11-11 11:34 皮皮祥 阅读(1443) 评论(0) 推荐(0) 编辑

ZYNQ PS端MIO的使用——FPGA Vitis篇
摘要:文章目录 1. 前言 2. MIO介绍 3. Vivado工程编写 4. Vitis工程编写 5. 实验小结 A. 附录 B. 工程源码下载 1. 前言 本实验介绍如何使用ZYNQ芯片PS端的MIO。MIO是ZYNQ芯片PS端的基础外设IO,可以连接诸如SPI,I2C,UART,GPIO等,通过Vi 阅读全文

posted @ 2022-11-11 10:58 皮皮祥 阅读(1247) 评论(0) 推荐(0) 编辑

typdefine和define的区别
摘要:1) #define是预处理指令,在编译预处理时进行简单的替换,不作正确性检查,不关含义是否正确照样带入,只有在编译已被展开的源程序时才会发现可能的错误并报错。例如:#define PI 3.1415926程序中的:area=PI*r*r 会替换为3.1415926*r*r如果你把#define语句 阅读全文

posted @ 2022-11-10 17:36 皮皮祥 阅读(59) 评论(0) 推荐(0) 编辑

type define
摘要:typedef为C语言的关键字,作用是为一种数据类型定义一个新名字。这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(struct等)。 用法: 变量别名 例如: 单个变量: typedef int size; size a; 等价于 int a; 数组: typedef ch 阅读全文

posted @ 2022-11-10 17:29 皮皮祥 阅读(59) 评论(0) 推荐(0) 编辑

ZYNQ学习笔记(3)-局部重构Partial Reconfiguration
摘要:动态局部重构Dynamic Partial Reconfiguration(DPR),顾名思义,局部重构是当下载了全部的bit 配置以后,可以通过下载局部分区bit 文件来动态修改对应分区的逻辑功能,同时其余分区的逻辑功能持续运行而不中断。 典型应用 局部重构优化了传统的FPGA 应用,通过这项技术 阅读全文

posted @ 2022-11-10 17:21 皮皮祥 阅读(791) 评论(0) 推荐(0) 编辑

ZYNQ 中FSBL
摘要:1 FSBL介绍 1.1 fsbl涉及的启动流程 zynq内部的BootROM存储有一段在CPU复位后固定执行的代码。称为stage-0启动代码。 这段代码用来配置一个ARM CPU和一些必要外设,从而能从一个启动设备中获取FSBL(first stage boot loader)执行。BootRO 阅读全文

posted @ 2022-11-10 15:46 皮皮祥 阅读(3295) 评论(0) 推荐(1) 编辑

clock jitter 和clock skew
摘要:系统时序设计中对时钟信号的要求是非常严格的,因为我们所有的时序计算都是以恒定的时钟信号为基准。但实际中时钟信号往往不可能总是那么完美,会出现抖动(Jitter)和偏移(Skew)问题。所谓抖动(jitter),就是指两个时钟周期之间存在的差值,这个误差是在时钟发生器内部产生的,和晶振或者PLL内部电 阅读全文

posted @ 2022-11-10 14:42 皮皮祥 阅读(208) 评论(0) 推荐(0) 编辑

硬件debug指南][1] - Vivado调试工具介绍 - 知乎
摘要:本专栏旨在为使用Xilinx FPGA/SoC + Vivado设计硬件的小伙伴们提供一系列教程, 主要以Zedboard为平台介绍Vivado提供的几种硬件调试工具. 文章内容主要源自对官方文档的归纳整理, 读过本教程后应该能更容易读懂官方文档. 推荐之后读一下官方手册来获得更全面的信息. 1. 阅读全文

posted @ 2022-11-09 14:18 皮皮祥 阅读(2641) 评论(0) 推荐(0) 编辑

AXI协议(五)-AXI-STREAM及接入思路解析
摘要:在本文中,你将可能学会: AXI-STREAM协议的梗概(下简称axis) 尝试编写出普通摄像头接入AXIS的思路 本来想讲完怎么接入的,由于篇幅的原因,代码只能留在下一节中讲了,那我们下一节也顺便为这个系列做个简单的收尾吧。 文章目录 AXI协议(五)-AXI-STREAM及接入思路解析 AXIS 阅读全文

posted @ 2022-11-09 14:06 皮皮祥 阅读(2762) 评论(0) 推荐(0) 编辑

AXI-Stream
摘要:一般来说都接口都只支持AXI或AXI-lite,AXI-stream需要去做转接 AXI4-Stream协议是一种用来连接需要交换数据的两个部件的标准接口,它可以用于连接一个产生数据的主机和一个接受数据的从机。当然它也可以用于连接多个主机和从机。该协议支持多种数据流使用相同共享总线集合,允许构建类似 阅读全文

posted @ 2022-11-09 13:53 皮皮祥 阅读(521) 评论(0) 推荐(0) 编辑

AXI总线
摘要:AXI总线 AXI总线简介 AXI总线是一种总线协议,是ARM公司提出的AMBA3.0协议(目前已AXI4已发布) 中的最重要的部分,是一种高性能、高带宽、低延时的片内总线。支持不对齐的数据传输和突发传输。在突发传输中只需要首地址,并且支持同时分离的读写数据通道、支持显著传输访问和乱序访问。 AXI 阅读全文

posted @ 2022-11-09 13:40 皮皮祥 阅读(635) 评论(0) 推荐(0) 编辑

AXI总线介绍
摘要:一、AXI总线概述 在Xilinx系列FPGA及其有关IP核中,经常见到AXI总线接口,AXI总线又分为三种: AXI-Lite,AXI-Full以及AXI-Stream,其中AXI-Lite和AXI-Full都是基于memory map的形式实现数据传输(即包括地址总线),而AXI-Stream是 阅读全文

posted @ 2022-11-09 13:38 皮皮祥 阅读(739) 评论(0) 推荐(0) 编辑

基于vivado开发xilinx系列FPGA的冷知识
摘要:第二篇来聊聊FPGA的硬件调试。 理论上来说,ISE中自带的chipscope也是可以用的,只是很多时候第三方开发板用10pin的JTAG连不上这个,所以还是老老实实用自带的ila(Integrated Logic Analyzer)工具吧。 关于ila的使用相关操作直接百度应该都能找到,只是普遍讲 阅读全文

posted @ 2022-11-09 11:57 皮皮祥 阅读(399) 评论(0) 推荐(0) 编辑

AXI
摘要:注:本文转自赛灵思中文社区论坛,源文链接在此。本文原作者为XILINX工程师。 以下为个人译文,仅供参考,如有疏漏之处,还请不吝赐教。 AXI 是赛灵思器件设计中广泛使用的处理器接口。这一全新的博客系列将介绍有关 AXI 接口的一些基础知识。 本篇作为此系列首篇博文,将提供有关 AXI 标准的综述。 阅读全文

posted @ 2022-11-09 11:49 皮皮祥 阅读(385) 评论(0) 推荐(0) 编辑

system ila的使用
摘要:片内逻辑分析仪的使用原理 使用ILA观测AXI总线以及用户逻辑学习内容本课 重点介绍片内逻辑分析仪的使用原理,以及如何使用 ILA 对 AXI 总线进行观测分析,实现对 FPGA 设计的全局规划和细节分析。实现步骤逻辑分析仪主要有以下几个阶段:1,预触发阶段。2,触发并采集阶段。3,采集结束并上传到 阅读全文

posted @ 2022-11-09 11:47 皮皮祥 阅读(1765) 评论(0) 推荐(0) 编辑

Xilinx FPGA平台GTX简易使用教程(一)GTX基础知识
摘要:理解GTX的必备姿势,学起来! 汇总篇: Xilinx FPGA平台GTX简易使用教程(汇总篇)​blog.csdn.net/m0_52840978/article/details/121455025 一、什么是GTX? GT :Gigabit Transceiver千兆比特收发器; GTX :Xi 阅读全文

posted @ 2022-11-09 11:11 皮皮祥 阅读(1127) 评论(0) 推荐(1) 编辑

ZYNQ & AXI总线 & PS与PL内部通信(用户自定义IP)
摘要:ZYNQ 、AXI协议、PS与PL内部通信 三种AXI总线分别为: AXI4:(For high-performance memory-mapped requirements.)主要面向高性能地址映射通信的需求,是面向地址映射的接口,允许最大256轮的数据突发传输; AXI4-Lite:(For s 阅读全文

posted @ 2022-11-05 18:36 皮皮祥 阅读(769) 评论(0) 推荐(0) 编辑

ZYNQ7000系列 PS、PL、AXI 、启动流程基本概念篇
摘要:FPGA系统性学习笔记连载_Day4 Xilinx ZYNQ7000系列 PS、PL、AXI 、启动流程基本概念篇 本系列为FPGA系统性学习学员学习笔记整理分享,如有学习或者购买开发板意向,可加交流群联系群主。 连载《叁芯智能fpga设计与研发-第4天》 【xilinx ZYNQ7000系列 PS 阅读全文

posted @ 2022-11-05 18:23 皮皮祥 阅读(1868) 评论(0) 推荐(1) 编辑

ZYNQ 中PS与PL交互的硬件接口
摘要:一、ZYNQ整体框图 二、细节图 三、PL与PS交互接口 1、接口介绍 在 ZYNQ 芯片内部用硬件实现了 AXI 总线协议,包括 12 个物理接口,分别为 S_AXI_HP{0:3}_FPD > (PL为master,PS为slave),S_AXI_LPD > (PL为master,PS为slav 阅读全文

posted @ 2022-11-05 17:16 皮皮祥 阅读(999) 评论(0) 推荐(0) 编辑

Vivado使用指南之:三、如何设置VIVADO压缩BIT文件
摘要:在调试VIVADO 过程中,由于生成的BIT文件过大,而我使用的FLASH又是32MBIT的,出现了FLASH过小,无法烧录的情况。网上搜索到的方法都是说“generate progamming file下会有一个属性,进去了在-g compress后面打勾”,但是我使用的是VIVADO2017.2 阅读全文

posted @ 2022-11-03 22:00 皮皮祥 阅读(1610) 评论(0) 推荐(0) 编辑

Zynq UltraScale+系列之“电源”
摘要:最近一个项目开始使用Xilinx的ZU+系列MPSoC,于是对其官网上的相关文档进行了学习梳理,包括电源、时钟、复位、配置和外围接口等。 本篇就电源部分进行梳理,其他部分会在后续的文章进行梳理,如有不妥之处,敬请留言指正为谢! 1、电源概述 引用UG1085中的一张图可以看出ZU+的电源还是相当复杂 阅读全文

posted @ 2022-11-03 17:31 皮皮祥 阅读(2010) 评论(0) 推荐(1) 编辑

ZYNQ接口分析
摘要:PS整体互连框图 (1)S_AXI_HPC[0:1]_FPD和S_AXI_HP[0:3]_FPD:可以被PL端AXI主口访问的高性能AXI从口(2)M_AXI_HPM0/1_FPD:低延迟的可以访问PL端AXI从口的AXI主口(3)S_AXI_ACE_FPD:可以被PL端AXI主口访问的双向AXI一 阅读全文

posted @ 2022-11-03 17:30 皮皮祥 阅读(1280) 评论(0) 推荐(0) 编辑

QSPI
摘要:QSPI概述 QSPI接口,是Queued SPI的缩写。和之前谈到的SPI一样都是出自Motorola。QSPI在SPI基础上做了一些增强,且向下兼容SPI。QSPI相对SPI最显著的差异就是增加了发送接收数据队列,Queued的称呼就是这么来的。这样做的好处就是,无需每次数据传输都需要CPU参与 阅读全文

posted @ 2022-11-03 16:38 皮皮祥 阅读(4471) 评论(0) 推荐(2) 编辑

ZYNQ:从SDK到Vitis(二):工程开发中的一些差异
摘要:一、官方示例代码的导入 在SDK中,开发人员导出硬件平台,启动SDK,创建相应的应用工程后,在project explorer会产生一个板级支持包文件夹,双击里面的system.mss文件可以看到里面提供了一些外设驱动的文档和示例,包括了所有你在硬件设计时用到了的外设。 而在Vitis当中,情况将有 阅读全文

posted @ 2022-11-03 16:12 皮皮祥 阅读(1022) 评论(0) 推荐(1) 编辑

你知道PMU与PMU的区别吗?
摘要:在半导体芯片行业中,有一个词是我们经常能看到的,那就是PMU。可是你知道PMU与PMU也是有区别的吗?通常,在半导体行业中,PMU会有两个含义,一个是PMU(Power Management Unit),另一个是PMU(Precision Measurement Unit)。这两个外表长得很像的PM 阅读全文

posted @ 2022-11-03 13:07 皮皮祥 阅读(1393) 评论(0) 推荐(0) 编辑

creat clock
摘要:在FPGA编程中,在XDC(或UCF)文件中使用create_clock命令有什么意义?假设我有一个时钟端口CLK,它被分配给XDC(或UCF)文件中的物理引脚(我的时钟).为什么我不能继续在我的顶级HDL中使用这个CLK引脚?为什么我需要添加这样的东西: create_clock -name sy 阅读全文

posted @ 2022-11-03 10:48 皮皮祥 阅读(234) 评论(0) 推荐(0) 编辑

create_clock你用对了吗
摘要:毋庸置疑,create_clock是最基本、最简单的时序约束命令,而且在FPGA设计中必然会用到。但看似简单的命令,却也常常被用错。这里我们就来回答一些常见的问题。 问题1:什么样的时钟需要用create_clock约束? 有三类时钟时钟需要用create_clock进行约束,分别是: 从全局时钟管 阅读全文

posted @ 2022-11-03 10:46 皮皮祥 阅读(4085) 评论(0) 推荐(0) 编辑

create_clock
摘要:不知各位刚刚开始接触FPGA的童鞋有没发现,自己的工程综合,编译贼长时间了。 “废话,FPGA设计本来就很耗时间啊” 话是这么说,但如果编译理论上一两个小时就应该能结束,实际上却花了十几个小时,而且在生成比特文件的时候直接挂了。经常在完成implementaion 后,显示timing failed 阅读全文

posted @ 2022-11-03 10:43 皮皮祥 阅读(353) 评论(0) 推荐(1) 编辑

zynq器件时钟
摘要:目录 前言 1.系统PLL介绍 2.时钟使用模式 (1)正常操作情况: (2)bypass旁路模式: ​3.时钟分支(Clock Branches) 4.系统时钟域 5.CPU CLOCK 附录 前言 Zynq器件的时钟子系统是PS(ARMCortex-A9)系统的一个集成部分,本文就ZYNQ器件的 阅读全文

posted @ 2022-11-02 17:23 皮皮祥 阅读(763) 评论(0) 推荐(0) 编辑

vivado进行仿真
摘要:文章目录 前言 一、Vivado Simulato介绍 二、功能仿真需要的文件 三、具体步骤 文章目录 前言 一、Vivado Simulato介绍 二、功能仿真需要的文件 三、具体步骤 前言 本章关于vivado仿真软件的使用介绍 提示:以下是本篇文章正文内容,下面案例可供参考 一、Vivado 阅读全文

posted @ 2022-11-02 16:35 皮皮祥 阅读(5706) 评论(0) 推荐(1) 编辑

GT基础知识
摘要:1、GT基础知识 SATA 接口只有几根线为什么那么快?连上网线显示的10Gbps(万兆网)是不是很令人兴奋!没错,他们都用了高速GTX技术、GTX全称Gigabit transceiver,是为了满足高速、实时传输而生的技术。传统的并行传输技术存在抗干扰能力低,同步能力差,传输速度低和信号质量差等 阅读全文

posted @ 2022-11-02 13:38 皮皮祥 阅读(704) 评论(0) 推荐(0) 编辑

HDMI音视频传输协议
摘要:文章目录 HDMI音视频传输协议 一、HDMI的硬件图示 二、TMDS 三、DDC 四、CEC 五、HPD 一、HDMI的硬件图示 1、HDMI通信协议示意图 信号源(source device)< >TV(sink device) 1、TMDS Channel 0~2::三组差分信号,TMDS C 阅读全文

posted @ 2022-11-02 10:58 皮皮祥 阅读(1056) 评论(0) 推荐(0) 编辑

AMBA
摘要:什么是AMBA? ARM官方给出的应用定义如下: ARM AMBA (Advanced Microcontroller Bus Architecture)协议是一种公开标准,主要用于片上系统(SoC)中功能模块连接和管理的互联规范。它有助于一次性正确开发具有大量控制器和外设的多处理器设计。AMBA通 阅读全文

posted @ 2022-11-01 15:59 皮皮祥 阅读(312) 评论(0) 推荐(0) 编辑

AXI4协议(一)AXI4_lite 上
摘要:先附上AXI协议 v2-0 版 AMBA-AXI-v2-0-protocol-spec.pdf 871.3K · 百度网盘 AXI(advanced extensible interface)总线是AMBA总线家族中的一员,是由AHB发展而来,用于在SOC中的各个ip之间互联。AXI适用于高带宽,低 阅读全文

posted @ 2022-11-01 15:34 皮皮祥 阅读(1486) 评论(0) 推荐(0) 编辑

AXI4_Lite
摘要:写在前面 AXI4-Lite总线可以说是AXI4-Full总线的简化版,仅支持突发长度为1的事务传输。在学习AXI4-Lite总线时,建议先了解AXI4-Full总线,本文也注重介绍两者的差异。 AXI 表示 Advanced eXtensible Interface(高级可扩展接口),它是由 Ar 阅读全文

posted @ 2022-11-01 15:26 皮皮祥 阅读(272) 评论(0) 推荐(0) 编辑

VIVADO IP核:GT高速收发器(概述和IP example)
摘要:这里给出一些我看过的参考文档,相信这些博主的内容已经让您对GT高速收发器有了初步了解 https://blog.csdn.net/lum250/article/details/119952822(特别详细的CSDN教程,分析了英文文档,并且把每一个勾选的内容都陈述了)主讲IP https://zhu 阅读全文

posted @ 2022-11-01 11:49 皮皮祥 阅读(2047) 评论(0) 推荐(0) 编辑

GT Transceiver中的重要时钟及其关系(2)单个外部参考时钟使用模型
摘要:前言 ​ 已经讲到,每个QUAD中的GT Transceiver通道有6个可用的参考时钟输入: 两个外部参考时钟输入对,GTREFCLK0和GTREFCLK1 来自于QUAD上部的两个参考时钟引脚对,GTSOUTHREFCLK0和GTSOUTHREFCLK1 来自于QUAD下部的两个参考时钟引脚对, 阅读全文

posted @ 2022-11-01 11:35 皮皮祥 阅读(387) 评论(0) 推荐(0) 编辑