自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(62)
  • 资源 (2)
  • 收藏
  • 关注

原创 FPGA外部触发信号毛刺产生及滤波

FPGA外部触发信号毛刺产生分析定位及滤波解决方案

2023-08-09 10:14:47 2139

原创 BIOS,U-BOOT,BootLoader三者的对比

BIOS,U-BOOT,BootLoader三者的对比

2023-03-07 15:42:12 1193 1

原创 Vivado与ISE关于FIFO和BRam的复位信号差异

Vivado与ISE关于FIFO和BRam的复位信号差异总结!

2023-03-03 11:45:10 1444

原创 外设中断产生 + CPU响应中断并返回的控制流程

本文主要讲述:外设中断产生 + CPU响应中断并返回的控制流程。

2022-11-08 17:50:25 1236

原创 C语言 - 二叉树的建立及前序遍历

两种方法实现:二叉树的建立及前序遍历

2022-08-23 16:33:32 633 2

原创 函数指针的定义及使用

函数指针的定义及使用

2022-07-12 16:51:54 7891

原创 XAPP585 - Serdes 1_to_7_sdr 解读

高速串行通信经常需要用到 XILINX FPGA 内部专用的 SERDESE 模块来实现串并转换。 LVDS 配合 SERDESE可以充分发挥 FPGA 的高速接口优势。 SERDESE 分输入和输出,输入采用 ISERDESE, 输出采用 OSERDESE,OSERDESE 的使用要比 ISERDESE 简单。...

2022-07-04 14:24:56 4301 3

原创 Vivado生成及仿真网表文件

Vivado生成及仿真网表文件1- 将子模块设置为顶层模块 - 右键Set as top2-将该顶层模块设置综合属性Options中将-faltten_hierarchy设置为full属性(意思是模块综合后的层级结构全部为展开,只剩下顶层)。在综合时Vivado会自动将顶层的I/O端口插入IO buffer,设置-mode out_of_context属性,表示在该级不插入任何I/O buffer。3- 综合工程并通过TCL命令生成网表文件综合过后,点开“Open Synthes

2022-05-17 13:40:04 8397

原创 ////// 求解阶乘和数

////// 求解阶乘和数#include<stdio.h>#include<math.h>int GCD(int a[],int b);int Fabric(int a[],int b);int main(){ int M,N,i; int a[6]; scanf("%d",&M); for(i=1;i<M;i++){ N = GCD(a,i); // printf("Great divisor is %d\..

2022-04-25 13:54:57 977

原创 ////最大公约数:辗转法

#include<stdio.h>#include<math.h>int GCD(int a,int b);int main(){ int M,N; scanf("%d %d",&M,&N); ////最大公约数:辗转法 printf("Great divisor is %d\n",GCD(M,N));}////最大公约数:辗转法int GCD(int a,int b){ int temp_max = 0; int tem..

2022-04-22 11:56:04 1081

原创 求解素数 C语言

C代码 求解素数程序

2022-04-21 16:19:03 675

原创 PID数字控制调节 - 记录知识点

记录PID数字控制调节 - 涉及到的知识点1、增量式PID,位置式PID; 效果等价,需要根据被控对象进行选择;2、数字PID公式及FPGA实现3、超调、静态误差、稳态、上升时间等参数////// 计算机控制系统 - 东北大学 - B站4、被控对象传递函数参数测试:两点法5、史密斯预估器 - 纯滞后补偿;前提条件:需要已知被控对象(执行机构)的传递函数 存在问题:1、对被控模型变化误差十分敏感;2、系统扰动依然存在...

2022-01-28 10:20:33 583

原创 Zynq - Simple DMA Loopback Test

基于Zynq FPGA Simple DMA环回测试0 概述 DMA技术是指外设与系统内存进行数据交换,而不通过CPU直接参与的接口技术。该技术特别适合大批量数据的收发,可以提高传输速率和传输效率。在整个DMA数据交互过程中,CPU通过配置指定寄存器,只需要提供起始地址和传输长度和传输使能等参数信息给DMA控制器,DMA控制器可以接管总线,并访问内存,等待传输结束,产生一个中断信号告知CPU,并交出总线控制权。1 Xilinx PL端DMA软核介绍Xilinx AXI ...

2021-09-09 17:24:59 882

原创 Zynq DMA与Dcache一致性调试

0. 背景 Zynq FPGA的优势之一就是PS端与PL端基于高带宽的协同设计,以简化系统的硬件架构和提高系统的集成度和整体性能。例如:在某些硬件加速应用场合,PL端需要与DDR3存储芯片进行高速率的数据交互,且通常都采用DMA方式实现的。 PS端集成DMA控制器硬件单元CDMA,PL端有AXI DMA软核可以使用。整个数据交互通信链路的节点包含5个。 CPU <——> Dcache <——> DDR3 <——> ...

2021-08-30 15:43:51 3692 1

原创 Shell到底是什么?

摘录自博客链接地址:http://c.biancheng.net/view/706.html1. Shell是什么?答:shell本意是指壳,在计算机术语中,shell是指用户操作接口的意思。操作系统运行起来后都会给用户提供一个操作接口,这个操作接口就叫shell。用户可以通过shell来调用操作系统内部的复杂实现。Shell 是一个应用程序,它连接了用户和 Linux 内核,让用户能够更加高效、安全、低成本地使用 Linux 内核,这就是 Shell 的本质。Shell 本身并不是内核的一

2021-05-25 15:55:12 14624 2

原创 基于ARM的SOC外设编程思路 (初学者心得)

基于ARM的SOC外设编程思路 (初学者心得) 最近在学习arm裸机开发,笔者为一个初学者,看到开发板教程里的一段关于SOC外设编程思路的总结,觉得非常有启发,且该思路可推广至初学者学习其他行业的新知识。下面是基于ARM的SOC外设编程思路详解:(1)SOC外设编程三要素:SOC芯片的datasheet,外设芯片(比如NandFlash)的datasheet,官方或第三方参考源码。(2)初学者SOC外设编程思路:第一步:明确一个重要前提:初学者不要尝试自己完全不作任...

2021-05-14 10:20:37 744

原创 C 宏定义及函数宏定义

C语言宏定义 参考连接:https://blog.csdn.net/u013910522/article/details/22672057https://www.cnblogs.com/bytebee/p/8205707.html宏定义的优点: 1. 便于代码的移植和可读 例如:使用宏定义替一个在程序中经常使用的常量或变量类型,便于全局修改和使用; ...

2021-05-13 15:13:19 3060

转载 Boot loader与Uboot

何为Boot loader与Uboot参考连接:https://www.cnblogs.com/anandexuechengzhangzhilu/p/10719869.html1.Bootloader定义对于计算机系统来说,从开机上电到操作系统启动需要一个引导过程,嵌入式Linux系统同样离不开引导程序,这个引导程序就叫作Bootloader。例如PC计算机的引导程序为BIOS,基于ARM CPU的嵌入式硬件系统的通用引导程序为Uboot。2.Bootloader说明...

2021-04-30 10:42:11 644

原创 基于Xilinx FPGA XDMA的PCIE通信

基于Xilinx FPGA XDMA的PCIE通信0 概述 最近因仪表项目需求,需要上位机PC端通过PCIE接口与FPGA功能子卡进行数据通信,故开始研究基于Xilinx A7 FPGA实现PCIE接口功能。1 准备工作 要实现上位机Host端与FPGA子卡设备端通过pcie接口通信,需要3个必备条件:(1)上位机应用程序;(2)pcie驱动程序;可以从Xilinx官网下载对应系统驱动,然后进行二次开发,添加用户所需的驱动函数(3)FPGA子卡端PCIE逻辑程序;...

2021-04-16 17:54:15 10979 9

原创 Mark一下:首次用make命令,编译得到可执行文件,反汇编文件,烧录镜像文件

首次用make命令,编译得到可执行文件,反汇编文件,烧录镜像文件1 背景 最近在跟随教程,基于s5pv210 SOC芯片,系统性学习Linux嵌入式开发。2 make指令编译前 文件夹主要文件为: led.S - 汇编文件 Makefile文件 mkv210_image.c文件(用于生成SD卡烧录镜像文件)3 make指令编译后4 Debug过程 第1次在命令行,输入make指令,编译结果报错:make 命令出现:...

2021-03-26 14:21:06 1335

原创 C语言常用功能函数集合

C语言常用功能函数集合说明:作者将个人接触到的C语言功能函数记录下来,组成一个集合,便于查阅和加深印象。1. 内存相关malloc()函数 :申请一片连续的堆内存,字节为单位。分配所需的内存空间,并返回一个指向它的指针。用完注意用free函数释放该内存,防止内存泄漏。#include <stdlib.h> void *malloc(size_t size)例如:char *Buf;BufLen = BUFSIZE; //BUFSIZE为整数...

2021-03-25 13:16:10 4403

转载 linux系统文件名各个颜色代表的含义

linux系统文件名各个颜色代表的含义参考链接:https://blog.csdn.net/luobin369/article/details/8566570

2021-03-24 11:24:01 362

原创 linux系统根目录下各个子目录用途说明

linux系统根目录下各个子目录用途说明参考链接:https://zhidao.baidu.com/question/1577372121056020580.html1、/ 根目录 --------- 所有目录挂在其下2、/boot --------- 存放Ubuntu内核和系统启动文件。系统启动时这些文件先被装载。3、/etc --------- 系统的配置文件目录。密码文件、设置网卡信息、环境变量的设置等都在此目录中,许多网络配置文件也在其中。4、/lib ---------根..

2021-03-24 10:59:40 1344

原创 双向链表操作:建立,初始化,遍历,清空

双向链表操作:建立,初始化,遍历,清空双向链表常见操作如下:建立链表,初始化链表,遍历链表,清空链表,销毁链表,插入节点,删除节点,查找某节点等。////2021年3月10日17点35分#include <string.h>#include <stdlib.h>#include <stdio.h>typedef struct Node{ int node_data; struct Node *prev; struct Node..

2021-03-10 17:37:02 1854

原创 单向链表反转

单向链表反转单向链表反转实现思路:(1)从头节点开始,此时头节点为当前节点,反转当前节点所指向的下个节点(2)移动当前节点到下一个节点,即下一个相邻节点为新的当前节点(3)循环迭代上述步骤1、2,迭代次数为链表长度参考博文链接:https://www.cnblogs.com/passedbylove/p/11442606.html该思路演示框图如下,以链表长度为4举例说明代码详情如下// Iterative C program to reverse a...

2021-02-26 16:01:37 285

原创 单向链表的创建、遍历及新节点的插入(头部、尾部、任意位置)

新建单向链表、遍历链表及新节点插入(头部、尾部、任意位置)一、单向链表属于叫复杂的数据结构,在C语言编程中应用广泛。本篇文章记录了以下内容:1. 新建单向链表2. 链表的遍历3. 从尾部插入新节点4. 从任意位置插入新节点5. 从头部之前插入新节点二、代码及运行结果如下:// 单向链表插入节点: 3种情形// 1.从链表头部插入节点;// 2.从链表中间插入节点;// 3.从链表尾部插入节点;#include <stdio.h>#incl.

2021-02-26 13:54:52 1596

原创 C语言 - 单向链表建立

单向链表建立:插入头节点,尾部插入节点参考连接:https://www.cnblogs.com/lanhaicode/p/10304567.html #include <stdio.h> #include <stdlib.h>struct link *ListInit(struct link *head);struct link *AppendNode(struct link *head,int din);void DisplayList(struc...

2021-01-29 17:00:42 744

原创 Git常用功能汇总

1. Git删除已关联文件或文件夹git rm --cached 文件名(包含子文件夹路径)Example: $ git rm --cached WaveM_SPI_TOP/WaveM_CCD512_SPI_TOP_summary.htmlgit rm --cached 文件夹名(包含子文件路径)Example: $ git rm -r --cached WaveM_SPI_TOP/iseconfig2. Git忽略已关联文件或文件夹步骤1:...

2021-01-14 14:35:05 181

原创 CRC校验 - 基于FPGA的实现

CRC校验 - 基于FPGA的实现0 背景 CRC即循环冗余校验:常用于数据通信领域中,通常由发送端添加校验码于单帧数据的尾部,并由接受方进行提取和校验该帧数据传输是否正确。循环冗余检查(CRC)是一种数据传输检错功能,对数据进行多项式计算,并将得到的结果附在帧的后面,接收设备也执行类似的算法,以保证数据传输的正确性和完整性。1 FPGA硬件实现CRC校验 CRC计算采用模2除法,本质是对应比特位的异或运算。计算原理我仔细推究,通常硬件实现方式分为...

2021-01-14 11:11:02 6696 4

原创 FPGA TESTBENCH读取文件数据

FPGA TESTBENCH读取文件数据`timescale 1ns / 1ps////////////////////////////////////////////////////////////////////////////////// Company:// Engineer://// Create Date: 13:44:03 12/09/2020// Design Name: Fir_Filt_top// Module Name: E:/Aligei_W...

2020-12-09 14:42:30 1169

原创 单精度浮点数转换器

单精度浮点数转换器实测功能OK链接地址:http://www.styb.cn/cms/ieee_754.php

2020-12-08 10:42:14 13079

原创 ISE14与win10系统不兼容问题解决

ISE14与win10系统不兼容问题解决ISE Error: Incorrect number of bits in bitstream (18) for FDRI write.解决方法:参考链接https://forums.xilinx.com/t5/General-Technical-Discussion/Fatal-Error-in-bitgen-after-upgrading-project-to-ISE-14-7-from/m-p/456738#M18562解决...

2020-07-01 14:05:29 1726 2

原创 Xilinx S6 CLB: FF, Latch, LUT, Slice, SRL,Multiplexer, Carry Logic, Interconnect Arry

In Spartan-6 devices, there are four additional storage elements that can only be configured as edge-triggered D-type flip-flops. The D input can be driven by the O5 output of the LUT.When the original 4 storage elements are configured as latches, thes..

2020-06-24 15:17:54 813

原创 FPGA高速收发器GTX/GTH关于外部参考时钟MGTREFCLK的设计

FPGA高速收发器GTX/GTH关于外部参考时钟MGTREFCLK的设计0 背景 最近在调试多片FPGA基于GTX高速收发器的芯片间接口通信,FPGA型号为Kintex7-325T。硬件板卡是直接购买第三方厂家的产品。遇到了1个重要问题:“GTX外部参考时钟MGTREFCLK的设计对通信链路的影响”。详见下文。1 问题描述 & 解决...

2019-12-26 09:37:26 17342 6

原创 多片FPGA级联通信 —— 数据流缓冲FIFO的深度如何选择

多片FPGA级联通信 —— 数据流缓冲FIFO的深度如何选择0 背景 最近接触的项目中,涉及到多片FPGA级联模式下,数据流的收发如何进行合理的缓存是需要重点考虑的。由于多片FPGA之间的通信接口均采用相同的传输速率1.25Gbps,故理论上在接收端采用缓冲FIFO即可将数据流完整的接收,并保存在本地SDRAM中。 ...

2019-12-17 17:27:48 2867

原创 DDR3芯片读写控制及调试总结 — Xilinx FPGA(MIS)

目录 DDR3芯片读写控制及调试总结1. 器件选型及原理图设计 (1) 由于是直接购买现成的开发板作为项目前期开发调试使用,故DDR3芯片已板载,其型号为MT41J256M16HA-125,美光公司生产的4Gb容量DDR3芯片。采...

2019-09-30 11:10:32 10033 7

原创 篇1:如何为FPGA选择合适的电源管理方案

如何为FPGA选择合适的电源管理方案0 背景 当项目中FPGA选型已确定,开始设计电路原理图时,硬件工程师面临的首要问题就是:如何为项目所使用的的FPGA芯片,选择合适的电源管理方案。此时,通常会考虑到以下几个因素:FPGA片内不同功能模块,不同BANK,不同硬核模块,不同外设接口所需的供电电...

2019-08-14 08:33:11 5312 2

原创 Matlab子函数如何进行单步调试

《Matlab子函数如何进行单步调试》前言: 个人是Matlab小白,运用Matlab时,需要什么功能就去查度娘的那种。今天同事提供了一份Matlab写的算法程序,需要转换为FPGA硬件实现。于是遇到Matlab主程序调用的子函数,如何进行单步调试问题。上述问题主要有两种情况:第一种:主...

2019-08-07 17:45:09 4900

原创 FPGA基于Verilog语言的有符号乘法运算及时钟工作频率的优化

FPGA基于Verilog语言的有符号乘法运算及时钟工作频率的优化0 背景 最近程序涉及到有符号数的乘法运算,且乘法因子的位宽超过单个DSP48E支持的位宽(25*18),当然如果采用多个DSP48E级联的模式,则可以进行位宽拓展。 程序中两个有符号的乘法因子的位宽分别为A【38:0】,B【9:0】,程序中直接采用二者相乘的方...

2019-07-02 17:14:30 2637

原创 由程序调试引发的思考

由程序调试引发的思考 今天下午开始调试某个项目程序,遇到了2个简单的细节问题,造成时间和精力的浪费。问题1: 抓取4路应答信号波形,只有其中两路返回了应答信号,对应信号被置为高电平,另外两路始终没有返回应答信号,即对应信号始终为低电平。原因: 在前期进行程序调试时,我把另外两路应答...

2019-06-13 16:15:37 471

SPI通信,全双工模式,SPI时钟30M

本工程为SPI通信接口程序,全双工模式,支持两块板卡之间的SPI写操作和读操作。 采用Verilog语言编写,适用于FPGA项目开发。 本工程已经过板级24个小时可靠性测试,SPI时钟30M,速率快且易扩展到SPI4。

2022-10-20

JESD204B协议读书笔记.docx

本文档是作者通过阅读JESD204B官方协议说明书后,总结的详细的中文笔记,共计35页Word文档。 该笔记有助于初学者快速了解和掌握JESD204B协议,加快开发速度。

2020-03-27

JESD204B_JESD204C协议说明书两份合集.rar

本压缩包是JEDEC全球固态技术协会官网下载的JESD204B和JESD204C协议两份说明书。 JESD204B协议说明书现在在官网上搜索不到,需要用旧链接才能找到下载地址。

2020-03-05

空空如也

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

TA关注的人

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