自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(242)
  • 资源 (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 2599

原创 在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 7608 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 18728 11

原创 Xilinx FPGA 远程升级时bin和bit文件使用注意

把生成的bit文件和bin文件进行二进制比较,发现bit比bin文件头部多了一些内容(头部信息),剩余部分完全一致。以Spartan-6 ISE开发环境为例。

2024-03-22 15:27:38 608

原创 统计当前文件夹下所有文件的总行数

【代码】统计当前文件夹下所有文件的总行数。

2023-12-01 10:46:37 537

原创 如何做到一套FPGA工程无缝兼容两款不同的板卡?

本文所提出的方式,可以在某些应用场景对板卡实现一定的兼容性,比如用来固件在线升级所使用的Golden镜像工程,不同的板子共用此工程,以后只需要维护一套代码即可。当然这种方式也有一定的局限性,如果需要一个工程完整兼容两款板卡,就需要两款板卡的FPGA芯片型号一致、晶振频率一致,比如同样为XC7K325T,外部输入单端50M时钟。也可以根据需要做到部分兼容,比如公用一套RTL代码,但是因为芯片型号不同,需要创建两个不同的工程,比如XC7K325T和XC7A75T。

2023-11-07 22:01:21 730

原创 Xilinx FPGA SPIx4 配置速度50M约束语句(Vivado开发环境)

【代码】Xilinx FPGA SPIx4 配置速度50M约束语句(Vivado开发环境)

2023-11-07 14:20:55 899 1

原创 C语言实现十六进制字符串转整形

【代码】C语言实现十六进制字符串转整形。

2023-11-01 20:22:12 255

原创 C语言实现从指定位置(偏移地址)截取文件内容

更方便的,可以argc参数,来实现通过指定输入文件路径和指定偏移量。偏移量设定为10,截取后的。

2023-11-01 20:19:08 344

原创 C语言实现获取文件大小、创建时间、修改时间(stat结构体)

【代码】C语言获取文件大小、创建时间、修改时间(stat结构体)

2023-11-01 20:06:29 1230 1

原创 Xilinx MicroBlaze定时器中断无法返回主函数问题解决

最近在使用Xilinx 7系列FPGA XC7A100T时,运行MicroBlaze软核处理器,添加了AXI TIMER IP核,并使能定时器溢出中断,发现定时器触发中断后,无法返回主函数的问题,最后发现修改编译器优化等级就正常了。编译版本选择Release版本,LED状态无变化,中断打印的cnt_1ms变量的值一直在增加,没有清零,说明定时器溢出中断触发之后,没有返回主函数。这种情况不是所有的工程都会出现,只有在一些特定情况下会出现,目前不清楚发生的规律。

2023-10-25 21:20:53 626

原创 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 725

原创 高云FPGA系列教程(11):MultiButton按键驱动模块移植

一个小巧简单易用的事件驱动型按键驱动模块,可无限量扩展按键,按键事件的回调异步处理方式可以简化你的程序结构,去除冗余的按键处理硬编码,让你的按键业务逻辑更清晰。MultiButton 项目遵循MIT开源许可协议,允许使用者自由的分发和修改,许可证条件比较宽松,目前已经收获了1042个Star。MultiButton 采用标准C语言开发,基于面向对象的设计思想,每个按键对象使用一个独立的数据结构进行管理。PRESS_DOWN,按键按下,每次按下都触发PRESS_UP,按键弹起,每次松开都触发。

2023-09-25 20:58:08 472

原创 Verilog 不同编码风格对综合电路的影响

同样的功能,不同的Verilog 编码风格也会对综合过程产生重大影响,在综合的过程中,Verilog 代码被转换为门级电路,不同的代码风格,综合出的电路可能是不同的,对应资源的占用和功耗也会有差异。Verilog是一种硬件描述语言(HDL),用于设计数字电路和系统。统一、良好的代码编写风格,可以提高代码的可维护性和可读性。综合出了两个选择器和一个加法器,相比于前一种写法将会占用更多的资源。下面以一个模3计数器为例,演示3种不同写法对综合后电路的影响。相比于上一个写法,少了一个选择器。

2023-09-23 20:38:07 247

原创 高云FPGA系列教程(10):letter-shell串口终端移植

命令自动补全快捷键功能定义命令权限管理用户管理变量支持代理函数和参数代理解析代码完全开源,并遵循MIT开源协议,Github收获近1K Star。目前还保持更新状态,最近的一次提交是2023.07.25。

2023-09-21 22:44:09 438

原创 高云FPGA系列教程(9):cmd-parser串口命令解析器移植

cmd-parser,是一款非常轻量、高效的命令解析器,作者jiejie,整个项目只有两个文件:cmd.c和cmd.h,采用哈希算法进行匹配,匹配速度非常快,占用资源也很少。cmd-parser遵循开源协议。鼓励代码共享和尊重原作者的著作权,可以自由的使用、修改源代码,也可以将修改后的代码作为开源或闭源软件发布,但必须保留原作者版权声明。国内推荐使用Gitee码云平台访问。

2023-09-20 23:25:12 542

原创 高云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 581

原创 Xilinx SDK编译完成自动生成SREC文件(适用于ISE、Vivado、Vitis)

会在hardware目录下的cache文件夹下生产srec文件。可以通过配置编译后执行命令,在每次编译完成自动生产srec文件。这种方式适用于ISEVivado和Vitis等SDK环境。会在elf文件同级目录下自动生成srec文件。把elf转换成srec格式的常规方式,是打开。界面,选择elf文件,点击。

2023-09-20 17:52:10 495

原创 C语言实现获取文件大小(字节数)

【代码】C语言实现获取文件大小(字节数)

2023-09-20 16:04:08 949

原创 高云FPGA系列教程(7):ARM GPIO外部中断

高云GN1NSR-4C共有16个GPIO,每个GPIO可配置成输入或输出模式,支持中断输入,触发方式可选择:上升沿、下降沿、高电平、低电平触发。中断优先级可通过NVIC进行设置,支持 0-7 级可编程中断优先级。

2023-09-19 22:50:10 479

原创 高云FPGA系列教程(6):ARM定时器使用

GW1NSR-4C ARM处理器部分共有两个定时器,这两个定时器都是32位的,可以产生中断请求,也可以对外部输入信号进行计数,这两个定时器都挂载在APB1总线上,时钟源是PCLK1。

2023-09-18 21:25:02 425

原创 Xilinx FPGA管脚约束语法规则(UCF和XDC文件)

ISE使用UCF文件格式,Vivado使用XDC文件,Vivado中的MIG_DDR管脚也是使用的UCF文件。本文介绍ISE和Vivado管脚约束的语句使用,仅仅是管脚和电平状态指定,不包括时钟约束等其他语法。ISE开发环境可以使用图形化分配界面PlanAhead工具,本文介绍手动编写约束语句的方式。

2023-09-15 21:42:45 1618

原创 Xilinx FPGA未使用管脚上下拉状态配置(ISE和Vivado环境)

这两种配置方式的作用是一样,我更倾向于XDC文件约束的方式,方便在不同工程直接进行导入,设置完成之后,需要重新生成Bit流文件才能生效。可以看到,除了未使用管脚,一些系统管脚,比如JTAG,Program、Done管脚等等都可以配置上下拉模式。和ISE的生成选项配置类似,Vivado同样也可以配置JTAG管脚、Done、Prog等系统管脚的状态。对于Vivado开发环境,共有两种方式可以设置未使用管脚的上下拉状态。,下拉找到系统管脚配置,选择自己所需要的上下拉状态。配置完成之后,重新生成Bit流文件即可。

2023-09-14 21:42:59 2684

原创 强大的JTAG边界扫描(5):FPGA边界扫描应用

Xilinx FPGA XC7K325T边界扫描测试应用,基于JLink调试器配合TopJTAG软件。

2023-09-09 15:52:17 891 2

原创 强大的JTAG边界扫描(4):STM32边界扫描应用

STM32F103单片机边界扫描测试应用,使用JLink调试器配合TopJTAG Probe软件。

2023-09-09 15:51:36 784

原创 强大的JTAG边界扫描(3):常用边界扫描测试软件

常用的边界扫描测试软件介绍,包括收费的X-JTAG套件和免费的TopJTAG。

2023-09-09 15:50:55 668 1

原创 强大的JTAG边界扫描(2):BSDL文件介绍

边界扫描测试所使用的BSDL文件介绍

2023-09-09 15:49:49 1156

原创 强大的JTAG边界扫描(1):基本原理介绍

JTAG边界扫描基本介绍

2023-09-09 15:49:03 1401

原创 FPGA Verilog移位寄存器应用:边沿检测、信号同步、毛刺滤波

首先是信号定义,以下所有功能的实现都是基于此端口定义。灵活运用移位寄存器,可以使我们的设计更简洁、可读性更好,模块化程度更高。

2023-07-16 16:09:24 809

原创 JLink配合OpenOCD实现Xilinx FPGA程序下载

基于Jlink和OpenOCD实现对常见的Xilinx Spartan-6、Kintex-7等系列FPGA进行编程,包括bit文件编程,以及bin文件固化等。

2023-07-09 21:41:06 1061

原创 C语言位域、struct和union的联合使用

【代码】C语言位域、struct和union的联合使用。

2023-07-06 15:06:03 314

原创 MicroBlaze系列教程(10):AXI_HWICAP的使用

AXI_HWICAP,是把ICAP原语封装成了一个AXI接口的IP核,可以通过MicroBlaze来访问ICAP原语,功能非常强大,可以参考UG470和UG380来使用。本文介绍两个典型应用:读取IDCODE和从指定地址重新配置。Xilinx FPGA ICAP原语实现多重配置。

2023-07-02 17:39:34 1217

原创 获取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 1008

原创 Xilinx ZYNQ系列10款型号IDCODE汇总(2023年7月最新版)

可以通过JTAG读取IDCODE来验证是否正确。

2023-07-01 22:22:20 901 1

原创 基于C语言的开源csv解析库:MiniCSV使用示例

C语言解析csv格式文件,本文介绍一个开源简洁的csv解析库的使用:MiniCSV,使用标准C语言设计。一个小型、快速、简单、单文件、BSD许可的C语言CSV解析库。应该能够处理CSV的奇怪之处:多行、转义行、转义列中的转义字符、空行、列数可变的行、Windows或Unix风格的行结尾。不执行任何堆分配。开源地址。

2023-07-01 15:21:18 1505 1

原创 2023开放原子全球开源峰会——一场开发者的盛宴

2023开放原子全球开源峰会,参观有感!

2023-06-27 22:08:39 162

原创 C语言解析csv格式文件

基于C语言实现对CSV格式文件内容的解析。

2023-06-04 14:00:09 751

原创 MicroBlaze系列教程(9):xilisf串行Flash驱动库的使用

xilisf库(Xilinx In-system and Serial Flash Library)是Xilinx 提供的一款串行Flash驱动库,支持常用的 Atmel 、Intel、ST 、Winbond、Numonyx等多款串行接口Flash芯片。

2023-05-24 21:55:11 962

原创 Xilinx FPGA ICAP原语实现多重配置

众所周知,常见的FPGA通常为SRAM结构,固件程序一般存放在外置的串行Flash中,比如SPI Flash,M25P16或N25Q128等。FPGA启动时,一般先从SPI起始地址开始加载数据到内部的SRAM,加载完成、校验通过则会直接运行。那么有没有可能在SPI Flash中存放两个或多个FPGA固件呢?

2023-05-03 12:25:09 2345 4

原创 xqueue:基于C语言实现的循环队列缓冲区

可以理解成一个大的水池,水对应数据,注水速度对应数据输入的频率,放水速度对应数据处理的速度,当注水速度和放水速度相同时,我们不需要使用水池来缓冲,但是当注水速度大于放水速度,或者注水速度突然变大时(突发),为了保证水池不溢出(数据不丢失),就需要水池(缓冲区)来处理这种突发情况,并设置合理大小的水池空间(根据以上FIFO存取逻辑,我们可以使用一维数组来构造一个环形缓冲区,读写地址循环递增,分别实现FIFO初始化、读写操作、判断空满、获取元素个数等函数,并封装成模块。

2023-04-09 20:31:08 944

【高云FPGA系列教程(10):letter-shell移植】配套工程

https://blog.csdn.net/whik1194/article/details/133149031

2023-09-21

【高云FPGA系列教程(9):cmd-parser串口命令解析器移植】配套工程

https://blog.csdn.net/whik1194/article/details/133104751 https://blog.csdn.net/whik1194/article/details/133105194

2023-09-21

【高云FPGA系列教程(7):ARM GPIO外部中断】配套工程

https://blog.csdn.net/whik1194/article/details/133049187

2023-09-19

【高云FPGA系列教程(6):ARM定时器使用】配套工程

https://blog.csdn.net/whik1194/article/details/132995935

2023-09-18

OpenOCD-20230621-0.12.0-my

相关文章: JLink配合OpenOCD实现Xilinx FPGA程序下载 https://blog.csdn.net/whik1194/article/details/131627842

2023-07-09

MicroBlaze AXI-HWICAP Demo

相关文章: MicroBlaze系列教程(10):AXI_HWICAP的使用 https://blog.csdn.net/whik1194/article/details/131503202

2023-07-02

基于C语言的MiniCSV解析库示例:csv文件解析

基于CodeBlocks开发环境,使用标准C语言,相关文章:https://blog.csdn.net/whik1194/article/details/131490767

2023-07-01

MicroBlaze xiliisf Demo

基于Xilinx ISE的xilisf使用示例,介绍xilinx xilisf串行Flash驱动库使用示例。 https://blog.csdn.net/whik1194/article/details/130798265

2023-05-24

Xilinx ICAP原语应用示例(Spartan-6)

Xilinx FPGA ICAP原语实现多重配置,文章地址:https://blog.csdn.net/whik1194/article/details/130471755

2023-05-03

Xilinx ICAP原语应用示例(Kintex-7)

Xilinx FPGA ICAP原语实现多重配置,文章地址:https://blog.csdn.net/whik1194/article/details/130471755

2023-05-03

xqueue:基于C语言实现的循环队列缓冲区

xqueue:基于C语言实现的循环队列缓冲区 https://blog.csdn.net/whik1194/article/details/130047136

2023-04-09

基于Verilog状态机思路实现的按键消抖模块

基于Verilog状态机思路实现的按键消抖模块,包括Modelsim仿真Testbench文件。 相关文章:https://blog.csdn.net/whik1194/article/details/129972793

2023-04-05

基于XC6SLX9,ISE 14.7 开发环境实现的Multiboot和Golden工程

Multiboot和Golden介绍可参考文章: https://blog.csdn.net/whik1194/article/details/129719775

2023-03-26

基于XC7K325T,Vivado 2018.3 开发环境实现的Multiboot和Golden工程

Multiboot和Golden介绍可参考文章: https://blog.csdn.net/whik1194/article/details/129719775

2023-03-26

MicroBlaze AXI-CAN Demo

基于Xilinx ISE的AXI CAN使用示例,介绍AXI CAN硬件配置,软核驱动库函数,波特率和过滤器设置,收发数据等。 https://blog.csdn.net/whik1194/article/details/129392466

2023-03-12

MicroBlaze AXI-SPI Demo

基于Xilinx ISE的AXI SPI使用示例(驱动SPI Flash M25P16)。 https://blog.csdn.net/whik1194/article/details/129346726

2023-03-05

MicroBlaze AXI-IIC Demo

基于Xilinx ISE的AXI IIC使用示例(驱动EEPROM AT24C02)。 https://blog.csdn.net/whik1194/article/details/129111886

2023-02-19

MicroBlaze AXI-uart16550 Demo

基于Xilinx ISE的AXI UART16550使用示例。 https://blog.csdn.net/whik1194/article/details/129000143

2023-02-12

MicroBlaze AXI-UARTLIE Demo

基于Xilinx ISE的AXI UARTLITE使用示例。 https://blog.csdn.net/whik1194/article/details/128999224

2023-02-12

MicroBlaze AXI-TIMER Demo

基于Xilinx ISE的AXI TIMER使用示例。 https://blog.csdn.net/whik1194/article/details/128401570

2022-12-21

MicroBlaze AXI-INTC Demo

基于Xilinx ISE的AXI INTC使用示例。 https://blog.csdn.net/whik1194/article/details/128393786

2022-12-21

MicroBlaze AXI-GPIO Demo

基于Xilinx ISE的AXI GPIO使用示例。https://blog.csdn.net/whik1194/article/details/128390784

2022-12-20

【高云FPGA系列教程(5):ARM点灯工程设计】配套工程

https://blog.csdn.net/whik1194/article/details/127235146

2022-10-09

【高云FPGA系列教程(4):片上逻辑分析仪GAO的使用】配套工程

https://blog.csdn.net/whik1194/article/details/127235085

2022-10-09

【高云FPGA系列教程(3):基本IP原语使用和仿真】配套工程

https://blog.csdn.net/whik1194/article/details/127235037

2022-10-09

【高云FPGA系列教程(2):FPGA点灯工程创建、程序下载和固化】配套工程

https://blog.csdn.net/whik1194/article/details/127234930

2022-10-09

fifo_modelsim_demo

ise modelsim联合仿真示例工程,FIFO写数据,读数据指示到LED上。

2022-08-28

xilinx ise chipscope示例工程

xilinx ise chipscope示例工程

2022-08-22

rdiArgs.rar

ISE Windows 8/10环境下运行PlanAhead图形化管脚分配工具时,闪退问题的解决办法,将资源中的rdiArgs.bat替换安装目下的同名文件。 \Xilinx\14.7\ISE_DS\PlanAhead\bin\rdiArgs.bat

2022-08-14

vivado_test_prj

vivado_test_prj用于测试Vivado 2018.3是否安装成功

2022-08-13

控制台程序添加图标文件工程实例

控制台程序添加图标文件工程实例,使用GCC编译器

2022-08-09

ise_test_prj.rar

用于测试ISE 14.7 Windows 10是否安装成功的工程。

2022-08-07

vivado_18.3_AR71948_patch

vivado_18.3_AR71948_patch

2022-08-07

Microsemi_Firmware.rar

Microsemi SmartFusion系列和APB Core所有的驱动库打包下载。博客文章链接:https://blog.csdn.net/whik1194/article/details/107504645

2020-07-22

sf_cm3_01.rar

基于Microsemi SmartFusion系列A2F200M3F,片上ARM硬核MSS_GPIO的使用例程,包括FPGA和ARM工程,基于Libero V11.8和Keil MDK,博文地址:https://blog.csdn.net/whik1194/article/details/107079627

2020-07-03

identify_demo.rar

identify使用方法:https://blog.csdn.net/whik1194/article/details/107074187

2020-07-02

whik1194-JanssonDemo.rar

基于STM32+Keil的Jansson解析库的使用示例工程,使用串口1作为输出。 文章地址: https://blog.csdn.net/whik1194/article/details/106872260

2020-06-20

灵动eMiniBoard-MB021开发板资料汇总.rar

灵动eMiniBoard-MB021开发板资料汇总,包括原理图,数据手册,参考手册,示例工程代码,Keil支持包等,评测文章: https://blog.csdn.net/whik1194/article/details/106482920

2020-06-01

Qt_iconDemo.rar

Qt图标库使用示例,可以在Label或PushButton上显示图标。 - pixeden官网:https://www.pixeden.com/ - fontawesome官网:http://www.fontawesome.com.cn/ pixeden图标类型会多一些, 而且是分类的,每个类别都是一个文件,推荐。

2020-03-09

Qt小项目之串口助手控制LED

最近刚学了一点Qt开发上位机,尝试着做个小软件练练手。查找了很多资料,做了一个简单的串口助手,可以实现串口基本发送和接收功能,支持中文显示,还可以控制STM32开发板上的两个LED。 对应的博客文章:https://blog.csdn.net/whik1194/article/details/88087289 主要功能: 启动自动搜索本机串口,或者手动点击搜索键扫描串口 自定义波特率 支持中文显示 支持发送新行

2019-03-03

空空如也

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

TA关注的人

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