自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(169)
  • 资源 (23)
  • 收藏
  • 关注

原创 [嵌入式]记录一种“multiple definition of *”问题的查找方法

文章摘要:本文介绍了解决代码编译时出现"multiple definition of"错误的高效方法。通过使用grep -rnw '.' -e '信号名'命令可快速定位所有相关定义位置。针对全局变量在多文件中重复定义的问题,作者建议在.h文件中使用extern声明(如extern char yy_time_flie_dir[100];),并在单个.c文件中进行实际定义。这种方法有效避免了头文件包含导致的重复定义问题,为FPGA开发者提供了实用的调试技巧。

2026-03-16 09:32:52 15

原创 【嵌入式】交叉编译:在在linux中编译arm平台的执行文件

交叉编译的必要性与配置方法 交叉编译原因:x86架构编译的程序无法在ARM架构开发板运行,需通过交叉编译转换程序架构。 配置步骤: 下载arm-linux-gnueabi工具包 解压到/usr/local/arm目录 配置环境变量PATH和LD_LIBRARY_PATH 使配置生效并验证工具链 验证方法: 使用file命令查看文件架构 执行arm-linux-gcc -v检查工具链 该配置实现了从x86到ARM架构的程序转换能力,解决了跨平台运行问题。

2026-03-08 13:33:43 220

原创 【嵌入式】简述常用的PC与嵌入式系统(RAM)文件互传方法:rx,u盘,ssh,tTftpd32,SecureCRT,MobaXterm,winSCP

本文介绍了嵌入式开发中常用的三种文件传输方法:串口Xmodem传输(速度慢)、U盘传输(速度最快)以及网络传输(重点)。网络传输包括TFTP工具和SSH远程登录两种方式,详细说明了使用MobaXterm和WinSCP工具进行文件传输的操作步骤及对比。文章还提供了SSH配置压缩包的获取方式,为嵌入式开发者提供了实用的文件传输解决方案。

2026-03-05 15:05:39 375

原创 【C语言】从小项目[图书管理系统]开发中获得的工程管理感悟与建议(提供源码)

本文分享了开发C语言图书管理系统项目的经验总结。项目涉及学生、管理员和私有账号三类用户,包含账号管理、图书借阅等核心功能。作者详细记录了开发过程中的三个阶段:初期认为功能模块相近可复用;中期面临代码量大导致的命名混乱、编译错误等问题;最终耗时两天完成。文章给出了模块化开发、命名规范、Makefile使用等实用建议,并展示了项目结构、部分界面和源码获取方式。该项目综合运用了链表、结构体等C语言核心技术,对初学者具有参考价值。

2026-02-03 20:17:34 613

原创 【C语言】利用两个顺序队列完成一个栈的逻辑结构-练习代码

本文探讨了如何利用两个顺序队列实现栈的逻辑结构。文章首先分析了队列(先进先出)与栈(先进后出)的特性差异,提出了两种实现思路:1)入栈易出栈难:数据存入非空队列,出栈时转移元素;2)入栈难出栈易:数据存入空队列后重新排序。代码实现了两种方案的核心功能,包括初始化、入栈和出栈操作,并通过测试验证了栈的先进后出特性。完整源码可通过微信公众号获取。该实现展示了数据结构间的灵活转换,对理解队列和栈的本质差异具有实践意义。

2026-02-02 16:32:21 579

原创 【C语言】利用队列和栈的知识实现:球钟实现问题代码示例并显示计时过程(提供源码)

摘要 本文实现了一个模拟球钟计时系统的程序,通过队列和栈的数据结构模拟球钟的工作原理。球钟包含分钟、5分钟和小时三个指示器(栈结构),以及一个存放球的队列。程序实现了球钟运行逻辑、状态显示和初始状态检测功能。关键点包括:1) 使用三个栈分别表示时间单位;2) 通过清屏和延时实现动态显示;3) 采用循环队列检测初始状态恢复;4) 完整模拟了球钟从0:00到11:59的计时循环。该程序不仅解决了27个球恢复初始顺序所需时间的问题,还可扩展显示每分钟各指示器状态。

2026-01-28 19:48:29 558

原创 【C语言】以括号()[]{}匹配检查为例,讲解链式栈的用法:初始化、入栈、出栈、显示

本文介绍了使用链式栈实现括号匹配的方法。通过设计链式栈数据结构,实现了初始化、压栈、弹栈等基本操作。重点讲解了如何利用栈的特性进行括号匹配判断:遇到左括号压栈,遇到右括号弹栈比较类型。测试验证了四种典型括号组合的匹配情况,结果与预期一致。该方案能有效检测括号数量不匹配和类型不匹配的问题,展示了链式栈在解决实际问题中的应用价值。

2026-01-26 19:52:10 842

原创 【C语言】linux内核循环链表练习之创、插,查、删、清、显 示例

本文介绍了Linux内核链表的基本概念及其应用实现。内核链表通过将指针域独立于数据域,解决了传统链表通用性差的问题。文中详细讲解了内核链表的初始化、节点创建、插入、查找、删除、清空和显示等操作的代码实现,并提供了一个示例程序,该程序根据用户输入的整数进行链表操作:插入正整数(不重复)、删除负整数对应的绝对值或遍历显示链表内容后退出。所有操作均基于Linux内核提供的标准链表函数,如list_add、list_del等,确保了高效性和安全性。该实现展示了内核链表在通用数据结构处理中的优势。

2026-01-22 21:33:05 613

原创 【C语言】双向循环链表练习之增、查、删、改、清、显(扩展排序插入) 示例

本文实现了一个双向循环链表,包含增删查改等基本操作,并扩展了排序插入功能。链表节点包含数据和前后指针,支持头插、尾插两种插入方式。查找节点时可从任意位置开始遍历。删除操作分为单次删除和重复删除两种模式。更新操作也支持单次和批量更新。此外实现了链表清空和双向遍历显示功能。特别扩展了按排序插入的功能,可根据需求选择升序或降序插入节点。所有操作均考虑了边界条件和内存管理,通过函数封装提高了代码复用性。

2026-01-21 20:51:04 946

原创 【C语言】单链表练习之增、查、删、改、清、显(扩展排序插入)示例

本文通过一个单链表操作实例,详细讲解了C语言中单链表的增、查、删、改、清等基本操作。首先定义了链表节点结构体,实现了链表初始化、节点创建功能。重点讲解了头插法和尾插法两种插入方式,并提供了查找节点(返回前驱节点)的实现方法。在删除操作部分,分别实现了无重复数据删除和有重复数据删除两种方案。文章还详细介绍了链表修改、清空和显示功能。最后扩展实现了按排序插入节点的功能,支持从小到大或从大到小的顺序插入。所有操作都配有代码实现和关键点说明,为初学者提供了完整的单链表操作范例。

2026-01-20 17:15:57 775

原创 【C语言】宏定义define与取别名typedef得运用

本文介绍了C语言中宏定义#define和typedef关键字的使用场景与技巧。宏定义主要用于头文件、语义化命名和简化复杂语句,支持普通宏、预定义宏、带参宏及不定参宏。typedef则用于结构体类型定义、数组别名和简化函数指针声明等复杂场景。文章通过示例详细展示了两种语法在代码优化中的实际应用,帮助开发者提升代码可读性和维护性。适合FPGA开发者关注微信公众号"FPGA加速者"获取更多相关内容。

2026-01-16 20:06:44 450

原创 【C语言】结构体struct数组传参示例与说明(学生信息管理系统,自动控制内存大小realloc)之增、删、改、查、显

本文实现了一个学生信息管理系统,通过结构体、联合体和枚举类型定义学生信息。系统支持以下功能: 新增学生信息(学号唯一性检查) 按学号查询学生信息 按学号删除学生记录 按学号修改学生成绩 显示所有学生信息(按学号升序排列) 关键实现要点包括: 使用动态内存管理(malloc/realloc)处理结构体数组 通过二级指针实现子函数对主函数内存的修改 采用冒泡排序实现学号升序排列 利用枚举类型为专业字段赋予有意义的值 系统通过菜单驱动方式提供交互界面,各功能模块独立实现并通过主函数统一调度。

2026-01-14 19:45:21 626

原创 【C语言】结构体struct类型的初始化、传参与做函数返回值祥例

本文总结了C语言结构体变量的常见初始化与传参方式。主要内容包括:1) 结构体定义与取别名写法;2) 多种初始化方式(列表初始化、指定成员初始化等)及其优缺点;3) 结构体成员访问方法(.和->操作符);4) 结构体变量传参示例;5) 实际应用案例-学生成绩排序,展示了冒泡排序算法在结构体数组中的应用。文章通过具体代码示例演示了结构体的各种操作方式,对C语言结构体的使用具有实用参考价值。

2026-01-14 14:15:54 344

原创 【C语言】利用realloc函数,实现一个动态数据的动态分配空间存储与删除示例与说明

本文实现了一个基于realloc函数的动态数组程序。程序通过键盘输入整数:正整数会被添加到数组(不重复),负整数会删除其绝对值对应的元素,输入0则退出并打印数组内容。代码包含三个主要部分:添加元素时检查重复并扩容内存;删除元素时使用memcpy移动数据并缩容内存;主函数循环处理输入并调用相应操作。测试结果显示程序能正确维护动态数组,实现元素的增删查功能。该方案展示了realloc在动态内存管理中的灵活应用,适用于需要频繁调整数组大小的场景。

2026-01-12 16:19:35 277

原创 [c语言]内存控制之malloc、calloc、realloc相关与区别

本文介绍了C语言中三个内存控制函数malloc、calloc和realloc的异同点。它们都需要手动申请堆空间并释放,都需包含<stdlib.h>头文件。malloc只申请空间不初始化;calloc申请空间并初始化为0;realloc可调整内存大小,当传入NULL时会初始化。三者在功能和使用方式上各有特点,适用于不同场景。文章通过表格对比了它们的用法和特性,帮助开发者根据需求选择合适的函数进行内存管理。

2026-01-12 11:26:17 153

原创 【C语言】手撕字符串操作函数之仿写strcpy,strlen,strcat,strcmp,strncmp,strncat,strstr,strchr,strrchr

本文介绍了C语言中常用字符串操作函数的手动实现方法,包括strcpy、strlen、strcat、strcmp等基础函数,以及strncpy、strncmp、strncat等带长度限制的变体函数,还包含strstr、strchr、strrchr等查找功能函数。每个函数都给出了简洁的实现代码和功能说明,部分函数还标注了使用注意事项。这些实现可作为学习参考,帮助理解字符串函数的底层原理和实现细节。文章最后还提供了微信公众号信息,方便FPGA开发者获取更多相关内容。

2026-01-08 18:54:33 412

原创 [VIVADO]多个版本导致IP手册导航无法打开的问题解决方法(unable to locate the...DocNav/docnav.exe)

在安装多个Vivado版本后,打开IP手册时出现"找不到DocNav/docnav.exe"错误。原因是DocNav仅在首次安装时成功配置。解决方法:1)重新安装所有Vivado版本到同一路径下;2)找到DocNav.exe所在路径,将其添加到系统环境变量中。通过调整安装路径或设置环境变量即可解决该问题。

2026-01-08 17:30:58 251

原创 [c语言]以递归函数思想解析5人分鱼问题

摘要 本文通过递归算法解决经典的分鱼问题:5人依次分鱼,每次将鱼分成5份后丢弃多余1条并取走1份。递归思路分为两步:1) 确定最后一人分鱼时的最小数量条件;2) 推导前序分鱼过程的通用规律。代码实现使用do-while循环确保满足整除条件,static变量保存中间状态,并通过打印过程验证递归调用的正确性。执行结果显示,最终捕鱼数量为3121条,完整呈现了5人分鱼的全过程。该解法展示了递归在处理重复性操作问题时的清晰逻辑优势。

2026-01-04 17:31:06 606

原创 【c语言】快速排序算法理解与带过程打印的代码实现逻辑

本文介绍了C语言中快速排序算法的实现方法。作者通过递归思想实现快速排序,以支点为中心将序列划分为左右两部分,并通过参数控制排序方向(从大到小或从小到大)。代码包含交换函数、打印函数、支点划分函数和递归排序函数。主函数生成随机数并调用排序函数,展示了排序过程和结果。该算法理论上效率较高,但需要更多内存空间。文章通过详细注释和过程打印帮助理解快速排序的执行流程。

2025-12-28 10:23:58 712

原创 【c语言】排序算法的理解与代码实现:冒泡法、插入法、选择法

本文介绍了C语言中三种常见的排序算法实现:冒泡排序、插入排序和选择排序。每种算法都封装成函数,支持通过参数控制升序或降序排列。冒泡排序通过相邻元素比较交换,每轮将最大/小值移至末尾;插入排序将当前元素插入到前面有序序列的合适位置;选择排序每轮选择剩余元素中的最值进行交换。文中提供了完整的代码实现,包括元素交换、数组打印等辅助函数,并通过主函数演示了随机数组的排序效果。三种算法均可正确处理整型数组的升序和降序排列需求。

2025-12-27 17:56:13 296

原创 【C语言】宏定义for循环的方式打印29+种*图形(包括字母金字塔在内),以方便发现循环打印规律

本文通过宏定义实现了29种C语言图形打印,包括金字塔、数字/字母图案等多种形状。使用txp和txpc两个宏分别处理字符串和字符输出,通过循环控制空格与符号的数量关系来构建不同图形。代码展示了从简单三角形到复杂对称图案的实现方法,如tx1-tx5实现基础三角形,tx6-tx10展示倒三角和组合图形,tx11-tx18演示更复杂的对称和菱形图案。每种图形都通过调整循环次数和打印元素数量来实现不同视觉效果,为理解循环打印规律提供了实用范例。

2025-12-24 20:26:35 490

原创 [C语言]整理经常需要查到的三张表-ASCII码表,运算符优先级表,数据类型所占用大小表与记忆方法

本文整理了编程中常用的三个基础表格:ASCII码表、运算符优先级表和数据类型占用大小表。ASCII码表重点标注了字符串结束符(0)、空格(32)、数字(48-57)、大小写字母(65-90,97-122)等关键字符;运算符优先级表从高到低列出了各类运算符的优先级顺序;数据类型表对比了32位和64位系统中各类型的内存占用情况,特别指出long和指针类型在不同系统中的差异。文章还提供了各表格的记忆方法,建议通过sizeof函数验证数据类型大小,为编程基础知识的快速查阅提供了便利。

2025-12-22 21:56:31 469

原创 【C语言】以可自动识别的参数形式控制格式、前景色、背景色等各种颜色的彩色输出

本文介绍了C语言中实现彩色文本输出的灵活方法。通过ANSI转义序列,开发者可以自由组合文本属性(加粗、下划线等)、前景色和背景色。文章详细列出了控制代码表,并展示了一个参数化实现方案,支持可变参数配置颜色组合,同时提供参数自动补全提示。该方案封装为头文件,可通过指定微信公众号获取。这种方法突破了传统固定格式的限制,使终端彩色输出更加灵活可定制。

2025-12-19 20:41:00 1009

原创 C语言中以坐标的方式图解“字母金字塔”的绘制

本文介绍了一种通过坐标图解法实现字母金字塔打印的方法。首先分析输入字符确定金字塔层数,然后将图形分解为空格、字母递增和字母递减三个部分。通过建立i/j坐标图,明确每部分的打印规律:空格数随行数递减,字母先递增后递减。文中提供了完整的C语言实现代码,支持大小写字母和数字输入,并展示了运行验证结果。该方法通过坐标图简化了复杂图形的逻辑分析,建议初学者采用这种分步绘图的方式来解决图形打印问题,能更直观地理解循环结构和打印规律。

2025-12-16 21:38:52 587

原创 c语言中的二维数组做函数参数与做返回值的写法以实例演示

本文通过实例演示了C语言中二维数组作为函数参数和返回值的处理方法。在参数传递方面,推荐使用指针形式char (*buf)[er],既灵活又支持参数化维度;对于返回值,需通过typedef定义指针类型别名,并区分静态和动态两种方式:静态方式需将数组声明为static变量,动态方式则使用calloc分配内存并记得free释放。文章还指出了常见错误写法的问题,如直接返回局部数组会导致数据丢失。关键点包括:类型别名的使用、静态变量的注意事项、动态内存的释放时机等。

2025-12-11 21:49:12 314

原创 ubuntu20.04中文显示设置与不能输入中文的解决办法

本文介绍了在Ubuntu系统中设置中文显示及解决无法输入中文问题的方法。首先通过系统设置添加中文语言包并置顶,重启后实现中文显示。若遇到无法输入中文的情况,需在语言设置中双击"汉语",添加"中文(智能拼音)"输入法。最后建议使用Shift键切换中英文输入模式。操作过程配有详细截图指引,帮助用户快速完成中文环境配置。

2025-12-10 20:25:07 768

原创 虚拟机装ubuntu20.04版本共享文件夹设置与出现无法访问共享目录问题记录解决方法

本文介绍了常规情况下虚拟机装ubuntu后共享目录的设置方法;以及出现ubuntu中无法访问共享目录问题记录解决方法

2025-12-10 19:11:25 432

原创 基于ICAPE原语实现Xilinx FPGA程序多版本Multiboot重载的方法与例程

摘要: 本文介绍了FPGA开发中实现Multiboot切换重载的方法,通过将多个bit文件整合到Flash中,实现在线更新与版本切换。详细讲解了Multiboot原理(基于ICAP控制Flash的IPROG过程)、硬件平台(XC7k325TFFG900+MX25L12845G Flash)及操作步骤,包括文件配置、约束修改、MCS文件生成与烧写。通过VIO或硬件开关触发,成功演示了3个工程bit的循环切换,验证了方案的可行性。最后提醒注意ICAP版本、DEVICE_ID匹配及地址间隔设置,并提供了例程获取方

2025-09-10 20:30:00 976

原创 VIVADO中XDC与flash相关的常用Bitstream 设置(包括EMMCLK的配置使用)与调试经验

本文总结了FPGA中与Flash相关的常用Bitstream配置设置及调试经验。主要内容包括:1)介绍了常见的SPI和BPI启动模式选择;2)分享了调试经验,如确认硬件启动模式匹配、Flash速率限制等问题;3)提供了常规SPI模式的XDC约束代码示例,包含位宽、配置速率和压缩设置;4)还包含三种隐藏模式(常规BPI、使用EMMCLK的SPI/BPI模式)的获取方式。文章旨在帮助开发者快速配置Flash相关参数,提高调试效率。

2025-08-08 20:00:00 917

原创 VIVADO中使用DDR IP编译报错与解决思路之[Runs 36-335] *mig_7series_*dcp is not avalid design checkpoint

本文介绍了在Vivado设计中使用MIG IP核时出现的编译错误"[Runs 36-335] mig_7series_*dcp is not a valid design checkpoint"的解决方法。该问题通常发生在BD(Block Design)设计中,主要原因是设计检查点无效。解决方法很简单:只需选中BD设计,右键选择"Reset Output Products"选项进行复位操作,即可继续正常编译。文章提供了操作截图说明,并欢迎读者关注"FPGA加

2025-08-06 16:30:00 550

原创 AXI4- Stream Switch ip常见使用场景及常见问题

本文介绍了AXI4-Stream Switch IP在Vivado中的两种典型应用场景(多选1输出和1主多从分时输出)及常见问题。针对多选1输出模式,文章指出默认配置会导致输入通道循环输出、速率受限等问题,建议通过设置s_req_suppress信号屏蔽非活动通道以提高效率。对于1主多从模式,强调需通过tdest信号选择输出通道ID来控制数据流向。文中配有IP配置截图和信号说明图,为FPGA开发者提供了该IP核的实际使用指导。

2025-07-31 08:30:00 761

原创 VIVADO加载数据文件仿真方法案例与为啥$readmemh比$fopen好用?(Error reading data from file xx.txt at index 0)

本文分享了Vivado仿真中读取数据文件的两种方法:$readmemh和$fopen,并针对$fopen无法读取数据的问题提供了解决方案。通过实验对比发现,当$fopen读取失败时,改用$readmemh方法可以成功加载数据文件。文章详细介绍了两种方法的具体实现步骤,包括文件路径设置和代码示例,并总结了$readmemh方法的三大优势:兼容性更好、代码更简洁、无需额外加载文件操作。最后提供了数据调用示例,帮助读者快速掌握Vivado仿真中的数据文件读取技巧。

2025-07-10 10:00:00 1290

原创 远程桌面使用服务器中的vivado有license陷阱?

摘要 本文讨论了Xilinx Vivado中IP授权在本地与远程服务器使用时出现的差异现象。在相同Vivado版本和相同授权文件条件下,本地可以正常生成bit文件,但通过远程桌面连接服务器使用时却提示缺少IP授权。通过分析发现,可远程使用的IP授权文件末尾标有"TS_OK"标识,而不可远程使用的则没有。这表明Xilinx某些IP授权可能对远程使用有限制,需要特别注意授权文件中是否包含远程使用许可标记。该发现对使用远程服务器进行FPGA开发的工程师具有重要参考价值。

2025-07-04 20:30:00 465

原创 风中月隐自制dds_sweep_fre_ctrl(扫频控制)IP的使用例程讲解

本文介绍了一个自制的DDS扫频控制IP核(dds_sweep_fre),用于快速生成DAC扫频信号。该IP具有灵活设置扫频起始/结束频率、间隔频率和时间等参数的特点,支持扫频和非扫频两种模式。文章展示了IP核结构、DDS配置界面、例程调用方式及仿真结果,验证了其按预期输出1MHz变化的频率控制字和正弦信号。使用时需注意扫频使能、频率反转、间隔时间等参数的合理设置,并提供相关工具和例程的获取方式。该方案适用于工程开发中快速实现DDS信号扫频功能。

2025-06-20 15:55:00 499

原创 一文明白用VIVADO生成与烧写FPGA的bit文件与MCS文件方法步骤

本文详细介绍了使用Vivado生成和烧写FPGA的Bit文件与Mcs文件的全流程方法。主要内容包括:1)通过工程文件确认Vivado版本并生成Bit文件;2)在已有Bit文件基础上配置Flash型号生成Mcs文件;3)通过JTAG连接完成Bit文件的烧写;4)添加Flash器件后烧写Mcs文件。文章配有详细的操作截图,适合FPGA开发者参考执行。最后提供了微信公众号"FPGA加速者"作为交流平台。全文操作步骤清晰,图文并茂,是FPGA开发者的实用技术指南。

2025-06-13 16:28:20 4680

原创 [opt 31-67] vivado编译出错 Implementation error 问题定位与解决

Vivado编译出现Implementation error时,通过原理图检查发现xx_VLD信号方向错误。该信号本应作为xx_sub模块的输入(input),但代码中误设为输出(output)。将端口方向改为input后,问题得到解决。解决方法:1)通过原理图定位未连接信号;2)检查代码端口定义;3)修正信号方向为正确方向。

2025-06-06 14:28:07 630

原创 在FPGA中如何用可配频率DDS信号测试高速DAC接口功能是否正常?

在FPGA开发中,由于主频限制(通常低于300MHz),直接使用单个DDS(直接数字频率合成器)无法满足高速DAC(≥1GSPS采样率)的需求。为解决这一问题,可以采用多路并行低速DDS合成1路高速DDS的技术。该技术通过在FPGA中生成多路相位不同但频率相同的DDS信号,并将它们按顺序排列,从而合成高速DAC所需的高数据率信号。文章详细介绍了该技术的理论基础、工程搭建、代码实现及仿真验证,展示了如何通过多路DDS合成应对高速DAC的数据需求。此外,文章还提供了相关例程和DDS频率控制字计算工具的获取方式,

2025-05-24 10:30:00 899

原创 XILINX 的7系列与UltraScale+系列FPGA的Device DNA获取方法与区别及代码仿真与上板案例

本文介绍了在FPGA开发中如何获取FPGA的DNA(唯一标识符),并对比了Xilinx 7系列与UltraScale系列FPGA的DNA差异。FPGA的DNA具有唯一性,常用于硬件加密。获取DNA的方法包括JTAG查询和通过原语+代码获取。7系列FPGA的DNA为57位,输出顺序为大端;UltraScale系列为96位,输出顺序为小端。文中提供了兼容Xilinx和复旦微FPGA的代码案例,并通过仿真和上板验证了代码的准确性。最后,作者提供了获取例程的方式,并鼓励读者关注其公众号获取更多FPGA相关内容。

2025-05-17 18:00:00 2191

原创 如何查看XILINX FPGA系列中兼容型号有哪些?

在XILINX FPGA系列中查找兼容型号,可以通过官方提供的选型指南中的《xx Migration Table》进行查询。该表通过连线表示兼容的FPGA型号。本文以Zynq®7000系列(Z7)、Zynq® UltraScale+™MPSoC系列(ZU)和UltraScale Architecture系列(KU,VU)为例,展示了如何查找兼容型号。通过这种方法,开发者可以快速找到与当前使用的FPGA兼容的型号,从而在项目开发中做出更合适的选择。

2025-05-10 10:30:00 494

原创 XIlinx FPGA 的vivado中cordic ip的(定点数小数)输入与输出参数值讲解

虽然很多FPGA工程师都知道Xilinx FPGA种的vivado cordic IP可以计算三角函数,但在实际使用时会遇到各种各样的问题,比如:- 输入参数代表什么意思?- 输出参数怎么分类?- 哪些数据是sin值,哪些是cos值?本文以cordic ip求解sin与cos值为例,破解这些疑问,讲解cordic IP的使用。

2025-04-22 18:00:00 1662

时钟芯片HMC7044中文版手册

HMC7044中文版手册,主要讲述HMC7044的功能以及配置寄存器

2025-03-13

xapp497-usr-access即xilinx的USR-ACCESS2源语使用讲解pdf文档

xapp497_usr_access xilinx的USR_ACCESS2源语使用讲解pdf文档, 主要讲解的事vivado怎么自动获取bit的编译时间作为版本管理信息

2025-01-21

FPGA中基于USR-ACCESSE2源语的vivado编译自动更新版本时间的verilog hdl代码

FPGA中vivado编译自动更新版本时间的verilog hdl代码 并且将版本时间以十六进制表示,比如: versions_number 版本号0x100,表示V1.0.0 versions_date 版本日期:年:月:日 如0x20241230表示2024年12月30日 versions_time 版本时间:00:时:分:秒 如0x00171422表示17:14:22

2025-01-21

pg156-ultrascale-pcie-gen3-en-us-4.4

ultrascale系列的pcie gen3手册

2024-07-03

基于xilinx FPGA的QSFP调试逻辑代码

基于xilinx FPGA的xczu48dr-ffvg1517-2-i芯片开发测试QSFP(100G光模块)是否正常的测试工程

2024-06-14

AMQ28-SR4-M1-V1.0

QSFP 100G光模块手册

2024-06-14

xilinx FFT IP核使用例程(有仿真与源码)

本examples 是风中月隐编写的针对xilinx FFT IP 的使用demo,通过仿真验证了以下功能: 1) 可动态配置FFT得点数; 2) 可出算出输入信号得频率; 3) 可计算出FFT得幅度峰值; 4) 验证了输入I/Q顺序对FFT输出结果得影响; 5) 验证了动态配置FFT点数得IP设置限制; 6) 验证了是否可连续输入数据; 7) 可看到FFT输出每个点的频率; 8) 推算了FFT IP输出结果与dB值的关系; 例程的平台: 1) 仿真硬件平台:XC7Z030-ffg676-2 2) FPGA开发平台:vivado2018.2

2024-05-23

具于xilinx FPGA的可动态配置DDS频率控制字的DDS IP examples (使用例程)

具于xilinx FPGA的可动态配置DDS频率控制字的DDS IP核使用例程(examples ) 本examples 是月隐编写的针对DDS的使用demo,实现通过vio控制频率控制字来调整DDS的输出频率,为大家演示一个可动态配置DDS频率的例程。 例程的平台: 1) 硬件平台:XC7Z020CLG484-2 2) FPGA开发平台:vivado2017.4 3) 可仿真

2024-01-14

Xilinx DDS IP频率控制字计算工具

在使用xilinx的dds ip产生信号时,当使用可灵活配置输出频率的时,就需要采用控制频率控制字,而本工具就是帮助使用人员更快的得到频率控制字的值。 其只需要根据名称对应项输入参数即可,得到的结果有十进制与十六进制两种,操作方便,简洁易懂。

2024-01-12

AD9516-cfg-demo(verilog hdl编写的FPGA驱动AD9516时钟芯片的案例代码)

verilog hdl编写的FPGA驱动AD9516时钟芯片的案例代码,包含SPI的驱动代码 实现AD9516时钟芯片的配置,可根据使用例程修改项目需要的时钟配置,可直接使用。

2023-11-13

reg-ad9516(AD9516的寄存器配置示例)

AD9516的寄存器配置示例 用于给AD9516时钟配置芯片进行成功寄存器配置的案例,可以拿来直接使用

2023-11-13

AD9739-DEMO FPGA逻辑例程代码(包括SPI配置以及oserdes接口输出代码)

这资源是FPGA开发中用纯逻辑(VHDL)编写的关于AD9739的驱动例程代码。风格与xilinx一样,包括spi的配置以及AD9739的接口oserdes输出

2023-09-22

xilinx FPGA的约束文件UCF转XDC的工具 (更新版)

本文用于讲解FPGA中的约束文件UCF转XDC格式工具的使用方法,方便使用人员的操作。 UCF格式是ISE工具的约束使用文件,XDC格式是VIVADO工具的约束使用文件。而硬件在设计时一般是使用cadence设计的,cadence能直接导出UCF格式的管脚约束,不能导出XDC格式,这个时候ucf转XDC工具就很有用了。

2023-07-12

CL1680/GAD7980/AD7980 cfg (verilog hdl)

本资源是使用verilog hdl语言编写的CL1680/GAD7980/AD7980的控制时序的配置代码,实现器件的采集功能,可灵活设置sck速率,精简采集时序,读写接口时序简单。并且输出数据接口兼容AXIS接口时序。

2023-07-04

FPGA纯逻辑端的串口自编译代码IP:yueyin-uart-ip

FPGA纯逻辑端的串口自编译代码IP:yueyin_uart_ip yueyin_uart_ip是月隐编写的串口IP,实现串口的底层收发时序,可灵活设置奇偶校验位,数据位的位宽等参数,收发指示信号明显好用。 串口的协议为:1bit起始位,data W(8) bit 数据位,1bit停止位。 具体的串口协议时序这里不做详细介绍,若需了解请自行查找资料。

2023-06-19

UG-180(adv7611寄存器说明文档)

UG-180(adv7611寄存器说明文档), 主要是讲解HDMI输入芯片ADV7611的寄存器配置与含义

2022-06-15

IIC_Register_hdmi_cs_mz7045fa(ZYNQ配置IIC寄存器例程代码)

本例程以ZYNQ-7000系列 xc7z045ffg676为例讲解IIC。 使用开发平台:米联客MZ7035FA开发板 使用开发工具:vivado 2017.4 ,SDK。 本例程简介:用ZYNQ的IIC配置ADV7611器件的寄存器配置。IIC用PS侧的资源,走EMIO即可引到PL端外接ADV7611芯片。然后使ZYNQ能接收外部输入的HDMI信号,分辨率为1920*1080*60HZ。 PL侧功能:接收HDMI的信号,并解析分辨率参数;此外并将输入的HDMI再输出作为回环验证。 PS侧功能:IIC配置,GPIO输出作为配置完成提示done信号。 备注:ADV7611是一个单输入HDMI接收器件,内置HDMI兼容型接收器,支持HDMI 1.4a规定的所有强制性3D电视格式,和最高UXGA 60 Hz、 8位的分辨率。

2022-06-15

ug585-Zynq-7000-TRM

本资源为zynq7000系列的软件部分资源说明

2022-06-09

ZYNQ_EMIO_demo

本资源是以ZYNQ-7000系列 xc7z045ffg676为基准,编写的EMIO的工程,包含PL侧的vivado工程以及SDK部分的软件代码。 本例程使用的开发工具为vivado2017.4. 本例程的功能说明为: 设置两个EMIO,第一个作为输出,点亮LED,让其每秒闪烁一次。 第二个作为输入,打印出输入KEY的高低电平的数值。

2022-06-09

FDMA(DDR3 控制器)

xilinx FPGA开发中使用VIVADO来对DDR3内存进行控制器的DMA。主要是用于A7,K7,V7系列的FPGA,块控制DDR3时使用

2022-05-05

SSH-config.tar.bz

用于linux系统的远程连接工具的资源包 SSH_config.tar.bz

2026-03-05

C语言图书管理系统源码(包含各种链表与结构体的运用)

【C语言】图书管理系统源码(包含各种链表与结构体的运用) 实现了以下功能: 1、程序运行,随机显示一篇文章,任意的文章都行 2、操作人员分为学生,管理员,私有账号(私有账号唯一),每个人员操作系统都需要用账号跟密码做登陆 管理员结构体数据成员包括姓名,性别,年龄,家庭住址,电话号码,账号(唯一),密码,管理员用内核链表 3、私有账号登陆系统可以自己修改自己的密码,别人无法修改,要是忘记,通过跟账号绑定的手机号跟验证码重置,可以对管理员进行增加,删除,查找,可以修改管理员所有信息,遍历显示管理员信息 私有账号就账号跟密码,电话号码 4、管理员登陆系统可以对图书馆书籍进行管理,增加书籍,删除书籍,查找书籍,修改书籍,修改自己的账号密码,遍历显示,可以查看书籍借阅记录 书籍结构体数据成员包括书架,书名,发行日期,作者,类别,简介,书籍数量,任一链表即可 5、学生登陆系统可以对图书馆书籍进行遍历显示,查找(根据书名跟类别查找),借阅,归还 借阅信息结构体数据成员包括,借书学生的姓名,班级,学号,书名,借阅时间,归还时间,任一链表即可 学生结构体数据成员包括,专业,班级,学号,姓名,电话号码,账号(唯一),密码,学生用双向循环链表

2026-02-03

C语言利用两个顺序队列完成一个栈的逻辑结构源码

这是笔者在【C语言】学习完顺序队列与栈的概念后,为了弄明白两者的异同点,而做的代码练习题: > **如何利用两个顺序队列完成一个栈的逻辑结构?** 写的源码,其中包含: 1)题本身的思路与源码; 2)顺序栈部分的练习源码; 3)顺序队列部分的联系源码;

2026-02-02

C语言利用队列和栈的知识实现:球钟问题源代码

这个题目考验的是顺序队列与与顺序栈的综合运用,与结合运用,通过这个题可以知道怎么用队列与栈的逻辑来解决生活中的现象问题。 资源里面也包含了: 1)队列源码 2)栈的源码 3)球钟实现源码 题目如下: **问题描述**:球钟是一个利用球的移动来记录时间的简单装置。它有三个可以容纳若干个球的指示器:分钟指示器,五分钟指示器,小时指示器。 若分钟指示器中有3个球,五分钟指示器中有6个球,小时指示器中有5个球,则时间为5:33。 **工作原理**:每过一分钟,球钟就会从球队列的队首取出一个球放入分钟指示器,分钟指示器最多可容纳4个球。当放入第五个球时,在分钟指示器的4个球就会按照他们被放入时的相反顺序加入球队列的队尾。而第五个球就会进入五分钟指示器。按此类推,五分钟指示器最多可放11个球,小时指示器最多可放11个球。当小时指示器放入第12个球时,原来的11个球按照他们被放入时的相反顺序加入球队列的队尾,然后第12个球也回到队尾。这时,三个指示器均为空,回到初始状态,从而形成一个循环。因此,该球钟表示时间的范围是从0:00到11:59。 (思考:至少多少个球,能表示0:00到11:59) ![](https://i-blog.csdnimg.cn/direct/7ed8b79726f44c5d868783e74cc0b375.png) 现设初始时球队列的球数为27个,球钟的三个指示器初态均为空。 **问**:**(假设每个球都有编号1~27)要经过多久,球队列才能恢复到原来的顺序。** **拓展**:显示计时过程中每分钟各个指示器的状态和球队状态,以及当前时间。

2026-01-28

C语言经过整理得linux内核链表得头文件list.h

[C语言]linux内核链表得头文件。 内核中的源码文件 list.h 实际上包含了两部分内容,一是内核链表,二是哈希链表。 这里提供得是经过整理的、仅包含内核链表的文件

2026-01-22

C语言双向循环链表练习之增、查、删、改、清、显(扩展排序插入) 示例

【C语言】双向循环链表练习之增、查、删、改、清、显(扩展排序插入) 示例 如下是部分的函数: db_list *init_cycle_double_list(void); db_list *create_cycle_double_list_node(Datatype data); void insert_cycle_double_list_node_head(db_list *head, db_list *node); void insert_cycle_double_list_node_tail(db_list *head, db_list *node); void insert_cycle_double_list_node_order(db_list *head, db_list *node,int order); void show_cycle_double_list_next(db_list *head);//适用于头不带数据的情况 void show_cycle_double_list_prev(db_list *head); void show_cycle_double_list_data_next(db_list *head);//适用于头带数据的情况 void show_cycle_double_list_data_prev(db_list *head); db_list *find_cycle_double_list_node(db_list *head, Datatype data); db_list * delete_cycle_double_list_node_d(db_list *dele); db_list * delete_cycle_double_list_node(db_list *head, Datatype data);

2026-01-21

C语言排序算法代码与理解说明(包括:冒泡法、插入法、选择法、快速排序)

【C语言】排序算法代码与理解说明(包括:冒泡法、插入法、选择法、快速排序) 并且本人将每种排序都写成了函数实现,并通过传参的模式控制函数是从大到小排序还是从小到大排序。

2025-12-27

C语言用宏定义for循环的方法实现的30+中图像代码

本文通过宏定义实现了29种C语言图形打印,包括金字塔、数字/字母图案等多种形状。使用txp和txpc两个宏分别处理字符串和字符输出,通过循环控制空格与符号的数量关系来构建不同图形。代码展示了从简单三角形到复杂对称图案的实现方法,如tx1-tx5实现基础三角形,tx6-tx10展示倒三角和组合图形,tx11-tx18演示更复杂的对称和菱形图案。每种图形都通过调整循环次数和打印元素数量来实现不同视觉效果,为理解循环打印规律提供了实用范例。

2025-12-24

C语言中可变参数灵活配置颜色输出头文件yycolor.h

C语言中可变参数灵活配置颜色输出头文件yycolor.h 主要是给一些写C语言时需要灵活配置颜色的同学使用; 写的工作不难,主要是为大家打开思路。 参数可配,可1个参数,2个参数,3个参数。 可配置格式/属性,前景色,背景色;颜色几乎全覆盖包括: 30 黑色 90 暗灰色 31 红色 91 亮红色 32 绿色 92 亮绿色 33 黄色 93 亮黄色 34 蓝色 94 亮蓝色 35 品红/紫色 95 亮紫色 36 青色/深绿 96 亮青色 37 白色 97 亮白色

2025-12-19

基于ICAPE原语实现Xilinx FPGA程序多版本Multiboot重载的例程

基于ICAPE原语实现Xilinx FPGA程序多版本Multiboot重载的例程 使用一个上板案例进行演示Multiboot重载的实现方法,案例设置了3个工程的bit整合到flash中循环切换,通过LED灯的变化来查看是否切换成功。

2025-09-09

FPGA中DDS扫频控制IP使用例程

为了在工程开发时,能快速用DDS给DAC提供扫频信号,本人自制了本例程中的dds_sweep_fre IP,并编写本例程演示与加快使用者快速上手。 本DDS扫频控制ip有如下特点: 1. 灵活定义扫频起始点; 2. 灵活定义扫频结束点; 3. 灵活定义扫频间隔频率; 4. 灵活定义扫频间隔时间; 5. 兼容不扫频的使用场景;

2025-06-20

FPGA中用verilog编写的多路可配频率并行dds合并为1路高速dds可供给高速dac接口使用的demo

FPGA中用verilog编写的多路可配频率并行dds合并为1路高速dds可供给高速dac接口使用的demo 例程中包含仿真与上板案例,模拟了4路50MHZ主频dds合并成1路200MHZ的DDS过程。 并且该例程的dds并行路数可灵活配置; 该例程的dds的频率可以灵活配置

2025-05-23

XILINX/复旦微 FPGA- DNA获取例程

XILINX/复旦微 FPGA- DNA获取例程 兼容XILINX的FPGA与国产复旦微的FPGA 兼容7系列FPGA以及UltraScale/UltraScale+系列FPGA

2025-05-16

vivado中的cordic IP使用仿真例程

vivado中的cordic IP使用仿真例程 主要用于讲解输入输出参数讲解与仿真查看讲解

2025-04-18

ds926-zynq-ultrascale-plus-rfsoc性能指标说明

ds926-zynq-ultrascale-plus-rfsoc Zynq UltraScale+ RFSoC Data Sheet: DC and AC Switching Characteristics 主要讲解RFSOC的各个部分的速率,电压,电流分布情况,以及性能指标情况

2025-03-29

pg269-rf-data-converter-en-us-2.6

pg269-rf-data-converter-en-us-2.6 主要讲解RFSOC的rf-data-converter ip配置方式

2025-03-29

ds889-zynq-usp-rfsoc-overview

主要讲述RFSOC的主要资源信息,比如各个系列的资源情况

2025-03-29

在线更新之slave selectMAP的FPGA例程仿真代码(HDL)

在线更新之slave selectMAP的FPGA例程仿真代码(HDL) 主要用于一个fpga在线更新另一个fpga

2025-03-26

udp_ip_1g_sfp FPGA中光口传输UDP协议的tri mode ethernet mac ip使用例程

udp_ip_1g_sfp 光纤传输UDP光口协议的FPGA代码例程,其中使用到了tri mode ethernet mac ip

2025-03-19

ug470_7Series_Config_标注版

这是xilinx的ug470_7Series_Config文件,但加了个人看文档时的一些重点位置高亮标注

2025-03-18

空空如也

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

TA关注的人

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