- 博客(265)
- 资源 (12)
- 收藏
- 关注

原创 Xilinx ISE、MicroBlaze系列教程
这个系列文章是我个人最近两年使用Xilinx MicroBlaze软核的经验和笔记,以Xilinx ISE 14.7和Spartan-6,Vivado 2018.3和Artix-7为例,介绍MicroBlaze软核、AXI总线IP核的软硬件使用,希望能帮助到更多的人,有疑问可以在文章底部留言评论,互相交流学习。
2023-01-30 21:01:46
3712

原创 在FPGA上搭建一个ARM Cortex-M3软核
上一篇文章介绍了ARM DesignStart计划,其中提到了Cortex-M1/M3 DesignStart FPGA版本,支持Xilinx和国产Gowin平台,本篇文章将手把手教你如何基于ARM DesignStart计划,在FPGA上搭建一个**Cortex-M3软核处理器**,以Xilinx Artix-7™系列FPGA为例,介绍如何定制一颗ARM Cortex-M3 SoC软核,并添加GPIO和UART外设,使用Keil MDK环境开发应用程序,Jlink下载、调试ARM程序,最终的实现效果是LE
2022-03-27 23:22:36
9720
16

原创 Microsemi Libero系列教程(全网首发)
关于Libero IDE和Libero SoCLibero分为Libero IDE和Libero SoC,Libero IDE最新版本是v9.2 SP3(2016年4月4日)已经不再更新维护了,而Libero SoC是Libero IDE的升级版,官方推荐的开发工具,文中的Libero指的是Libero SoC。Libero SoCLibero® SoC是Microsemi(美高森美)官方...
2019-11-04 17:44:22
22001
11
原创 vivado HLS仿真时输入参数
当写testbench来验证HLS函数时,和标准C语言一样,Testbench支持本地文件读写,也可以在仿真时指定main函数的输入参数,可以把这些参数传递到HLS函数,这样就不用修改输入值重新编译。双引号这种方式作为参数,会报错。
2025-03-28 15:00:05
257
原创 Vivado 2019.1导出HLS IP报错Failed to generate IP解决办法(安装官方补丁)
重新打开HLS,导出RTL IP正常。
2025-03-28 14:37:35
305
原创 Vivado HLS 优化指令详解
Vivado HLS (High-Level Synthesis) 提供了一系列优化指令(Pragmas)来指导高层次综合过程,帮助开发者优化硬件设计。
2025-03-28 14:22:03
980
原创 个人电脑本地部署DeepSeek来离线使用
最近这段时间,“DeepSeek”(深度求索)人工智能平台非常的火爆,正确的使用可以帮我们做很多很多事情,通常我们是在浏览器网页或手机APP使用,但是有时会受到本地网络或者远程服务器等限制,导致使用卡顿或无回复。本文介绍在个人电脑本地部署DeepSeek-R1模型,部署完成之后,就可以在本地离线使用,而无需网络连接,能够为用户提供更高效的解决方案。
2025-03-08 23:11:58
1097
原创 C语言结构体struct、联合体union和位域操作共同使用示例
在 C 语言中,结构体(struct)、联合体(union)和位域(bit-field)可以共同使用,以实现更复杂的数据组织和内存管理。下面是一个示例程序,展示了如何将它们结合起来使用。
2025-02-17 15:02:26
398
原创 Vivado环境在代码中获取编译时间(USR_ACCESSE2原语方式)
【代码】Vivado环境在代码中获取编译时间(USR_ACCESSE2原语方式)
2025-02-11 09:44:45
373
原创 IRIG-B004时间编码格式解析
IRIG-B224: 即曼彻斯特编码, 最大传输距离<300m, 时钟端口处精度<100ns。IRIG-B004: 即DCLS, 最大传输距离<100m, 时钟端口处精度<100ns。IRIG-B124: 即AM调制, 最大传输距离<300m, 时钟端口处精度<2us。
2025-01-16 11:34:51
317
原创 Verilog系统函数实现单精度float、双精度doble浮点类型和整型之间互相转换
如果需要单精度float类型和32位十六进制互相转换,可以使用SystemVerilog中的。系统函数,SystemVerilog完全兼容verilog,而且增加了很多新的特性。标准verilog支持双精度double类型和十六进制64位数据相互转换,使用。注意:系统函数只可以在仿真时使用,不可综合。
2025-01-15 11:14:35
426
原创 Xilinx Vivado环境下载bit后自动触发ILA采集
为了观察一些信号变化的瞬间,我们通常将它们加入到ILA中,并设置触发条件,比如上升沿下降沿,或指定的某个值。大多数情况下,我们是下载完bit文件,并在FPGA运行过程中,手动点击触发按钮,然后等待触发。但是有时我们要观察的信号通常在复位完成之后极短的时间就会被触发,这个时间通常是若干个clk之后,或us级。那么如何通过先设置触发条件,然后下载完成bit文件之后,自动实现触发呢?本文介绍基于XC7A100T硬件平台和Vivado 2018.3开发环境的ILA自动触发实现。
2025-01-01 22:23:13
1538
1
原创 Microsemi Libero使用技巧11——CoreUARTAPB RX管脚分配时不显示
调用串口IP核CoreUARTAPB,并例化到顶层设计,发现UART_RX管脚在进行管脚分配时没有显示出来,最后发现是CoreAPB3总线IP核配置不对导致,改为如下配置后正常。
2024-12-14 21:46:53
240
原创 使用ZYNQ的全局定时器来获取某段代码的执行时间
在 ZYNQ 嵌入式系统中,定时器的资源是非常丰富的,每个 Cortex-A9 处理器都有各自独立的 32 位私有定时器和 32 位看门狗定时器,这两个 CPU 同时共享一个 64 位的全局定时器(Global Timer)。系统看门狗定时器可以在系统发生灾难性的故障时(如 PS 中的 PLL 工作异常)发出信号,使得系统程序重新启动,保证了系统安全可靠的运行。全局定时器的时钟频率是CPU主频的一半,800M主频,全局定时器一个计数值单位是2.5ns。(2)PWM 输出,可以输出固定频率和占空比的方波;
2024-12-12 16:27:22
535
原创 ZYNQ平台无法读取XADC温度值问题记录(XScuGic 中断控制器绑定不一致)
【代码】ZYNQ平台无法读取XADC温度值问题记录(XScuGic 中断控制器绑定不一致)
2024-12-12 14:43:23
224
原创 Microsemi Libero SoC免费许可证申请指南(Microchip官网2024最新方法)
45分钟之内回收到License.dat文件,在邮箱或者申请页面下载。如果提示登录,请先登录Microchip账号。点击右侧,请求免费的License。选项一年免费的License版本。
2024-12-10 20:13:20
796
原创 ZYNQ芯片PS侧HP和GP接口的区别
总之,GP接口和HP接口在ZYNQ芯片中各司其职,用户可根据实际连接的外设特点以及对数据传输性能的需求等因素,合理选择使用哪种接口来搭建系统。
2024-11-27 10:32:35
897
原创 摩托罗拉大顾问ADVISOR BP机拆解评测
安全专家表示普通的寻呼机不可能被远程遥控引爆,黎巴嫩真主党成员所使用的寻呼机,在同一时间段内被远程大规模引爆,这说明**寻呼机内部被植入了小型爆炸物。**如果在寻呼机内部再安装遥控的小型电子引爆设备,我拿着几年前从某二手平台收来的BP机瑟瑟发抖,为了能睡个好觉,我还是拆开看看里面都有什么高科技!本文要拆解的这款摩托罗拉大顾问寻呼机(Motorola Advisor),是上世纪90年代非常流行的一款个人通讯设备,专为商业和专业用户设计,它代表了那个时代的科技前沿,允许用户在不持有手机的情况下接收短信息。
2024-09-20 13:43:54
3476
原创 基于FPGA的开源项目:FOC/SHA/USB/JPEG等
本库用 FPGA 实现一个通用的 USB 1.1 (Full Speed) device 控制器,可以像 STM32 单片机那样,用非常简单的电路来实现 USB 设备,而不依赖额外的 USB 芯片。(FOC),用于驱动永磁同步电机 (PMSM) 或无刷直流电机 (BLDC),FOC控制算法对传感器采样速率和处理器算力提出了一定的要求,使用 FPGA 实现的 FOC 可以获得更好的实时性,并且更方便进行多路扩展和多路反馈协同。以下是从大佬的GitHub主页按Star排名挑选的一些项目,分享给大家参考学习。
2024-09-06 20:30:43
2862
原创 Xilinx FPGA 远程升级时bin和bit文件使用注意
把生成的bit文件和bin文件进行二进制比较,发现bit比bin文件头部多了一些内容(头部信息),剩余部分完全一致。以Spartan-6 ISE开发环境为例。
2024-03-22 15:27:38
2782
原创 如何做到一套FPGA工程无缝兼容两款不同的板卡?
本文所提出的方式,可以在某些应用场景对板卡实现一定的兼容性,比如用来固件在线升级所使用的Golden镜像工程,不同的板子共用此工程,以后只需要维护一套代码即可。当然这种方式也有一定的局限性,如果需要一个工程完整兼容两款板卡,就需要两款板卡的FPGA芯片型号一致、晶振频率一致,比如同样为XC7K325T,外部输入单端50M时钟。也可以根据需要做到部分兼容,比如公用一套RTL代码,但是因为芯片型号不同,需要创建两个不同的工程,比如XC7K325T和XC7A75T。
2023-11-07 22:01:21
1063
原创 Xilinx FPGA SPIx4 配置速度50M约束语句(Vivado开发环境)
【代码】Xilinx FPGA SPIx4 配置速度50M约束语句(Vivado开发环境)
2023-11-07 14:20:55
2065
1
原创 Xilinx MicroBlaze定时器中断无法返回主函数问题解决
最近在使用Xilinx 7系列FPGA XC7A100T时,运行MicroBlaze软核处理器,添加了AXI TIMER IP核,并使能定时器溢出中断,发现定时器触发中断后,无法返回主函数的问题,最后发现修改编译器优化等级就正常了。编译版本选择Release版本,LED状态无变化,中断打印的cnt_1ms变量的值一直在增加,没有清零,说明定时器溢出中断触发之后,没有返回主函数。这种情况不是所有的工程都会出现,只有在一些特定情况下会出现,目前不清楚发生的规律。
2023-10-25 21:20:53
975
2
原创 Xilinx FPGA芯片内部时钟和复位信号使用(Spartan-6、Artix-7和Kintex-7)
如果FPGA没有外部时钟源输入,可以通过调用STARTUP原语,来使用FPGA芯片内部的时钟和复位信号,Spartan-6系列是50MHz,Artix-7、Kintex-7等7系列FPGA是65MHz。
2023-10-20 18:19:45
1262
原创 高云FPGA系列教程(11):MultiButton按键驱动模块移植
一个小巧简单易用的事件驱动型按键驱动模块,可无限量扩展按键,按键事件的回调异步处理方式可以简化你的程序结构,去除冗余的按键处理硬编码,让你的按键业务逻辑更清晰。MultiButton 项目遵循MIT开源许可协议,允许使用者自由的分发和修改,许可证条件比较宽松,目前已经收获了1042个Star。MultiButton 采用标准C语言开发,基于面向对象的设计思想,每个按键对象使用一个独立的数据结构进行管理。PRESS_DOWN,按键按下,每次按下都触发PRESS_UP,按键弹起,每次松开都触发。
2023-09-25 20:58:08
747
原创 Verilog 不同编码风格对综合电路的影响
同样的功能,不同的Verilog 编码风格也会对综合过程产生重大影响,在综合的过程中,Verilog 代码被转换为门级电路,不同的代码风格,综合出的电路可能是不同的,对应资源的占用和功耗也会有差异。Verilog是一种硬件描述语言(HDL),用于设计数字电路和系统。统一、良好的代码编写风格,可以提高代码的可维护性和可读性。综合出了两个选择器和一个加法器,相比于前一种写法将会占用更多的资源。下面以一个模3计数器为例,演示3种不同写法对综合后电路的影响。相比于上一个写法,少了一个选择器。
2023-09-23 20:38:07
379
原创 高云FPGA系列教程(10):letter-shell串口终端移植
命令自动补全快捷键功能定义命令权限管理用户管理变量支持代理函数和参数代理解析代码完全开源,并遵循MIT开源协议,Github收获近1K Star。目前还保持更新状态,最近的一次提交是2023.07.25。
2023-09-21 22:44:09
795
原创 高云FPGA系列教程(9):cmd-parser串口命令解析器移植
cmd-parser,是一款非常轻量、高效的命令解析器,作者jiejie,整个项目只有两个文件:cmd.c和cmd.h,采用哈希算法进行匹配,匹配速度非常快,占用资源也很少。cmd-parser遵循开源协议。鼓励代码共享和尊重原作者的著作权,可以自由的使用、修改源代码,也可以将修改后的代码作为开源或闭源软件发布,但必须保留原作者版权声明。国内推荐使用Gitee码云平台访问。
2023-09-20 23:25:12
814
原创 高云FPGA系列教程(8):ARM串口数据接收(中断和轮询方式)
GW1NSR-4C ARM部分共有2个串口外设,都挂载在APB1总线上,最高支持波特率921.6Kbit/s,无奇偶校验位,8位数据位,1位停止位,支持高速测试模式 HSTM(High Speed Test Mode),即每个时钟周期输出1位数据,可以在短时间内传输大量数据。官方手册上没有描述发送和接收缓存FIFO的深度,所以不确定是否支持缓存。
2023-09-20 22:37:12
1143
【高云FPGA系列教程(10):letter-shell移植】配套工程
2023-09-21
【高云FPGA系列教程(9):cmd-parser串口命令解析器移植】配套工程
2023-09-21
【高云FPGA系列教程(7):ARM GPIO外部中断】配套工程
2023-09-19
【高云FPGA系列教程(6):ARM定时器使用】配套工程
2023-09-18
OpenOCD-20230621-0.12.0-my
2023-07-09
MicroBlaze AXI-HWICAP Demo
2023-07-02
基于C语言的MiniCSV解析库示例:csv文件解析
2023-07-01
MicroBlaze xiliisf Demo
2023-05-24
Xilinx ICAP原语应用示例(Spartan-6)
2023-05-03
Xilinx ICAP原语应用示例(Kintex-7)
2023-05-03
xqueue:基于C语言实现的循环队列缓冲区
2023-04-09
基于Verilog状态机思路实现的按键消抖模块
2023-04-05
基于XC6SLX9,ISE 14.7 开发环境实现的Multiboot和Golden工程
2023-03-26
基于XC7K325T,Vivado 2018.3 开发环境实现的Multiboot和Golden工程
2023-03-26
MicroBlaze AXI-CAN Demo
2023-03-12
MicroBlaze AXI-SPI Demo
2023-03-05
MicroBlaze AXI-IIC Demo
2023-02-19
MicroBlaze AXI-uart16550 Demo
2023-02-12
MicroBlaze AXI-UARTLIE Demo
2023-02-12
MicroBlaze AXI-TIMER Demo
2022-12-21
MicroBlaze AXI-INTC Demo
2022-12-21
MicroBlaze AXI-GPIO Demo
2022-12-20
【高云FPGA系列教程(5):ARM点灯工程设计】配套工程
2022-10-09
【高云FPGA系列教程(4):片上逻辑分析仪GAO的使用】配套工程
2022-10-09
【高云FPGA系列教程(3):基本IP原语使用和仿真】配套工程
2022-10-09
【高云FPGA系列教程(2):FPGA点灯工程创建、程序下载和固化】配套工程
2022-10-09
rdiArgs.rar
2022-08-14
Microsemi_Firmware.rar
2020-07-22
sf_cm3_01.rar
2020-07-03
identify_demo.rar
2020-07-02
whik1194-JanssonDemo.rar
2020-06-20
灵动eMiniBoard-MB021开发板资料汇总.rar
2020-06-01
Qt_iconDemo.rar
2020-03-09
Qt小项目之串口助手控制LED
2019-03-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人