- 博客(248)
- 资源 (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 3360
原创 在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 9072 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 20818 11
原创 使用ZYNQ的全局定时器来获取某段代码的执行时间
在 ZYNQ 嵌入式系统中,定时器的资源是非常丰富的,每个 Cortex-A9 处理器都有各自独立的 32 位私有定时器和 32 位看门狗定时器,这两个 CPU 同时共享一个 64 位的全局定时器(Global Timer)。系统看门狗定时器可以在系统发生灾难性的故障时(如 PS 中的 PLL 工作异常)发出信号,使得系统程序重新启动,保证了系统安全可靠的运行。全局定时器的时钟频率是CPU主频的一半,800M主频,全局定时器一个计数值单位是2.5ns。(2)PWM 输出,可以输出固定频率和占空比的方波;
2024-12-12 16:27:22 213
原创 ZYNQ平台无法读取XADC温度值问题记录(XScuGic 中断控制器绑定不一致)
【代码】ZYNQ平台无法读取XADC温度值问题记录(XScuGic 中断控制器绑定不一致)
2024-12-12 14:43:23 77
原创 Microsemi Libero SoC免费许可证申请指南(Microchip官网2024最新方法)
45分钟之内回收到License.dat文件,在邮箱或者申请页面下载。如果提示登录,请先登录Microchip账号。点击右侧,请求免费的License。选项一年免费的License版本。
2024-12-10 20:13:20 107
原创 ZYNQ芯片PS侧HP和GP接口的区别
总之,GP接口和HP接口在ZYNQ芯片中各司其职,用户可根据实际连接的外设特点以及对数据传输性能的需求等因素,合理选择使用哪种接口来搭建系统。
2024-11-27 10:32:35 343
原创 摩托罗拉大顾问ADVISOR BP机拆解评测
安全专家表示普通的寻呼机不可能被远程遥控引爆,黎巴嫩真主党成员所使用的寻呼机,在同一时间段内被远程大规模引爆,这说明**寻呼机内部被植入了小型爆炸物。**如果在寻呼机内部再安装遥控的小型电子引爆设备,我拿着几年前从某二手平台收来的BP机瑟瑟发抖,为了能睡个好觉,我还是拆开看看里面都有什么高科技!本文要拆解的这款摩托罗拉大顾问寻呼机(Motorola Advisor),是上世纪90年代非常流行的一款个人通讯设备,专为商业和专业用户设计,它代表了那个时代的科技前沿,允许用户在不持有手机的情况下接收短信息。
2024-09-20 13:43:54 1953
原创 基于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 2396
原创 Xilinx FPGA 远程升级时bin和bit文件使用注意
把生成的bit文件和bin文件进行二进制比较,发现bit比bin文件头部多了一些内容(头部信息),剩余部分完全一致。以Spartan-6 ISE开发环境为例。
2024-03-22 15:27:38 2329
原创 如何做到一套FPGA工程无缝兼容两款不同的板卡?
本文所提出的方式,可以在某些应用场景对板卡实现一定的兼容性,比如用来固件在线升级所使用的Golden镜像工程,不同的板子共用此工程,以后只需要维护一套代码即可。当然这种方式也有一定的局限性,如果需要一个工程完整兼容两款板卡,就需要两款板卡的FPGA芯片型号一致、晶振频率一致,比如同样为XC7K325T,外部输入单端50M时钟。也可以根据需要做到部分兼容,比如公用一套RTL代码,但是因为芯片型号不同,需要创建两个不同的工程,比如XC7K325T和XC7A75T。
2023-11-07 22:01:21 986
原创 Xilinx FPGA SPIx4 配置速度50M约束语句(Vivado开发环境)
【代码】Xilinx FPGA SPIx4 配置速度50M约束语句(Vivado开发环境)
2023-11-07 14:20:55 1763 1
原创 Xilinx MicroBlaze定时器中断无法返回主函数问题解决
最近在使用Xilinx 7系列FPGA XC7A100T时,运行MicroBlaze软核处理器,添加了AXI TIMER IP核,并使能定时器溢出中断,发现定时器触发中断后,无法返回主函数的问题,最后发现修改编译器优化等级就正常了。编译版本选择Release版本,LED状态无变化,中断打印的cnt_1ms变量的值一直在增加,没有清零,说明定时器溢出中断触发之后,没有返回主函数。这种情况不是所有的工程都会出现,只有在一些特定情况下会出现,目前不清楚发生的规律。
2023-10-25 21:20:53 878 1
原创 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 1074
原创 高云FPGA系列教程(11):MultiButton按键驱动模块移植
一个小巧简单易用的事件驱动型按键驱动模块,可无限量扩展按键,按键事件的回调异步处理方式可以简化你的程序结构,去除冗余的按键处理硬编码,让你的按键业务逻辑更清晰。MultiButton 项目遵循MIT开源许可协议,允许使用者自由的分发和修改,许可证条件比较宽松,目前已经收获了1042个Star。MultiButton 采用标准C语言开发,基于面向对象的设计思想,每个按键对象使用一个独立的数据结构进行管理。PRESS_DOWN,按键按下,每次按下都触发PRESS_UP,按键弹起,每次松开都触发。
2023-09-25 20:58:08 653
原创 Verilog 不同编码风格对综合电路的影响
同样的功能,不同的Verilog 编码风格也会对综合过程产生重大影响,在综合的过程中,Verilog 代码被转换为门级电路,不同的代码风格,综合出的电路可能是不同的,对应资源的占用和功耗也会有差异。Verilog是一种硬件描述语言(HDL),用于设计数字电路和系统。统一、良好的代码编写风格,可以提高代码的可维护性和可读性。综合出了两个选择器和一个加法器,相比于前一种写法将会占用更多的资源。下面以一个模3计数器为例,演示3种不同写法对综合后电路的影响。相比于上一个写法,少了一个选择器。
2023-09-23 20:38:07 343
原创 高云FPGA系列教程(10):letter-shell串口终端移植
命令自动补全快捷键功能定义命令权限管理用户管理变量支持代理函数和参数代理解析代码完全开源,并遵循MIT开源协议,Github收获近1K Star。目前还保持更新状态,最近的一次提交是2023.07.25。
2023-09-21 22:44:09 663
原创 高云FPGA系列教程(9):cmd-parser串口命令解析器移植
cmd-parser,是一款非常轻量、高效的命令解析器,作者jiejie,整个项目只有两个文件:cmd.c和cmd.h,采用哈希算法进行匹配,匹配速度非常快,占用资源也很少。cmd-parser遵循开源协议。鼓励代码共享和尊重原作者的著作权,可以自由的使用、修改源代码,也可以将修改后的代码作为开源或闭源软件发布,但必须保留原作者版权声明。国内推荐使用Gitee码云平台访问。
2023-09-20 23:25:12 732
原创 高云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 969
原创 Xilinx SDK编译完成自动生成SREC文件(适用于ISE、Vivado、Vitis)
会在hardware目录下的cache文件夹下生产srec文件。可以通过配置编译后执行命令,在每次编译完成自动生产srec文件。这种方式适用于ISEVivado和Vitis等SDK环境。会在elf文件同级目录下自动生成srec文件。把elf转换成srec格式的常规方式,是打开。界面,选择elf文件,点击。
2023-09-20 17:52:10 787
原创 高云FPGA系列教程(7):ARM GPIO外部中断
高云GN1NSR-4C共有16个GPIO,每个GPIO可配置成输入或输出模式,支持中断输入,触发方式可选择:上升沿、下降沿、高电平、低电平触发。中断优先级可通过NVIC进行设置,支持 0-7 级可编程中断优先级。
2023-09-19 22:50:10 816
原创 高云FPGA系列教程(6):ARM定时器使用
GW1NSR-4C ARM处理器部分共有两个定时器,这两个定时器都是32位的,可以产生中断请求,也可以对外部输入信号进行计数,这两个定时器都挂载在APB1总线上,时钟源是PCLK1。
2023-09-18 21:25:02 710
原创 Xilinx FPGA管脚约束语法规则(UCF和XDC文件)
ISE使用UCF文件格式,Vivado使用XDC文件,Vivado中的MIG_DDR管脚也是使用的UCF文件。本文介绍ISE和Vivado管脚约束的语句使用,仅仅是管脚和电平状态指定,不包括时钟约束等其他语法。ISE开发环境可以使用图形化分配界面PlanAhead工具,本文介绍手动编写约束语句的方式。
2023-09-15 21:42:45 3308
原创 Xilinx FPGA未使用管脚上下拉状态配置(ISE和Vivado环境)
这两种配置方式的作用是一样,我更倾向于XDC文件约束的方式,方便在不同工程直接进行导入,设置完成之后,需要重新生成Bit流文件才能生效。可以看到,除了未使用管脚,一些系统管脚,比如JTAG,Program、Done管脚等等都可以配置上下拉模式。和ISE的生成选项配置类似,Vivado同样也可以配置JTAG管脚、Done、Prog等系统管脚的状态。对于Vivado开发环境,共有两种方式可以设置未使用管脚的上下拉状态。,下拉找到系统管脚配置,选择自己所需要的上下拉状态。配置完成之后,重新生成Bit流文件即可。
2023-09-14 21:42:59 5019
原创 强大的JTAG边界扫描(5):FPGA边界扫描应用
Xilinx FPGA XC7K325T边界扫描测试应用,基于JLink调试器配合TopJTAG软件。
2023-09-09 15:52:17 1461 2
原创 强大的JTAG边界扫描(4):STM32边界扫描应用
STM32F103单片机边界扫描测试应用,使用JLink调试器配合TopJTAG Probe软件。
2023-09-09 15:51:36 1330
原创 FPGA Verilog移位寄存器应用:边沿检测、信号同步、毛刺滤波
首先是信号定义,以下所有功能的实现都是基于此端口定义。灵活运用移位寄存器,可以使我们的设计更简洁、可读性更好,模块化程度更高。
2023-07-16 16:09:24 1493
原创 JLink配合OpenOCD实现Xilinx FPGA程序下载
基于Jlink和OpenOCD实现对常见的Xilinx Spartan-6、Kintex-7等系列FPGA进行编程,包括bit文件编程,以及bin文件固化等。
2023-07-09 21:41:06 1600
原创 MicroBlaze系列教程(10):AXI_HWICAP的使用
AXI_HWICAP,是把ICAP原语封装成了一个AXI接口的IP核,可以通过MicroBlaze来访问ICAP原语,功能非常强大,可以参考UG470和UG380来使用。本文介绍两个典型应用:读取IDCODE和从指定地址重新配置。Xilinx FPGA ICAP原语实现多重配置。
2023-07-02 17:39:34 1603
原创 获取Xilinx FPGA芯片IDCODE的4种方法(支持任何FPGA型号)
对于ZYNQ-7000系列,一只没有找到IDCODE相关的说明文档,终极解决办法就是直接从BSDL边界扫描文件中查找,关于边界扫描,这是一个非常有意思的JTAG技巧,我们后面再介绍。对于常用的Spartan-6系列可以在UG380文档中找到对应的IDCODE,Spartan-7、Artix-7、Kinte-7、Virtex-7可以在UG470文档里找到对应的IDCODE。所以,如果想要获取任何FPGA芯片的IDCODE,只需要获取对应的BSDL文件即可。ZYNQ系列没有找到对应的IDCODE说明文档。
2023-07-01 23:11:56 1713
【高云FPGA系列教程(10):letter-shell移植】配套工程
2023-09-21
【高云FPGA系列教程(9):cmd-parser串口命令解析器移植】配套工程
2023-09-21
【高云FPGA系列教程(7):ARM GPIO外部中断】配套工程
2023-09-19
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系列教程(4):片上逻辑分析仪GAO的使用】配套工程
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
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关注的人