- 博客(244)
- 资源 (12)
- 收藏
- 关注
原创 Xilinx FPGA ICAP原语实现多重配置
众所周知,常见的FPGA通常为SRAM结构,固件程序一般存放在外置的串行Flash中,比如SPI Flash,M25P16或N25Q128等。FPGA启动时,一般先从SPI起始地址开始加载数据到内部的SRAM,加载完成、校验通过则会直接运行。那么有没有可能在SPI Flash中存放两个或多个FPGA固件呢?
2023-05-03 12:25:09 2943 4
原创 xqueue:基于C语言实现的循环队列缓冲区
可以理解成一个大的水池,水对应数据,注水速度对应数据输入的频率,放水速度对应数据处理的速度,当注水速度和放水速度相同时,我们不需要使用水池来缓冲,但是当注水速度大于放水速度,或者注水速度突然变大时(突发),为了保证水池不溢出(数据不丢失),就需要水池(缓冲区)来处理这种突发情况,并设置合理大小的水池空间(根据以上FIFO存取逻辑,我们可以使用一维数组来构造一个环形缓冲区,读写地址循环递增,分别实现FIFO初始化、读写操作、判断空满、获取元素个数等函数,并封装成模块。
2023-04-09 20:31:08 1061
原创 Verilog实现按键消抖(状态机方法)
输出的逻辑电平也会发生快速翻转,按键按下和释放的过程中,都会产生抖动,虽然时间非常短暂,但是对于单片机、FPGA这种实时性非常高的系统来说是不可接受的,为了保证系统能正确识别按键的开关,必须对按下和释放的过程进行滤波处理。下面是基于Verilog状态机思路,使用两个计数器分别对按下和释放进行滤波处理,理论上按下和释放不会同时出现,所以使用一个计数器也可以实现的,为了便于理解,我们使用两个计数器分别对高低电平进行计时。常用的轻触按键内部结构为金属弹片,在手按下、松开的过程中往往会发生细微抖动。
2023-04-05 16:53:11 3237 1
原创 Xilinx FPGA Multiboot设计与实现(Spartan-6和Kintex-7为例)
Multiboot镜像是用户应用程序,Golden镜像是用来保证升级过程中出现错误,设备不会变砖。那么这两个镜像是如何启动的呢?首先Golden镜像的最前面是Header部分,为了方便介绍,还是分为三个部分来介绍:Header、Golden和Multiboot,我们先来看看它们在SPI Flash中的存储顺序,以SPI Flash M25P16为例,存储空间大小是16Mbit(2MByte),地址范围是:0x0-0x1FFFFF。
2023-03-27 20:39:07 1029
原创 Xilinx ISE系列教程(9):LabTools下载、安装、使用教程(独立的下载工具)
Xilinx LabTools工具是Xilinx FPGA单独的编程和调试工具,是从ISE或Vivado中独立出来的实验室工具,只能用来下载FPGA程序和进行ILA调试,支持所有的FPGA系列,无需许可证即可免费使用,安装包体积和所需要的存储空间,相比于完整的ISE和Vivado开发环境大大减小,非常适合只用来下载程序的工厂量产环境。
2023-03-26 15:57:13 1595
原创 MicroBlaze系列教程(8):AXI_CAN的使用
Xilinx AXI CAN IP的初始化配置,主要包括波特率、过滤器、回调函数设置等等。
2023-03-12 16:53:11 2879
原创 MicroBlaze系列教程(7):AXI_SPI的使用(M25P16)
Xilinx AXI-SPI IP共有两个:一个是标准的AXI_SPI,即4线制SPI,CS、SCLK、MOSI和MISO,另一个是AXI_Quad SPI,支持配置成标准SPI、2位数据线Dual SPI和4位数据线Quad SPI模式,在Xilinx ISE开发环境下有两个IP核是分开的,而在Vivado开发环境下,只有AXI_Quad SPI,可以配置成标准、Dual或Quad模式。
2023-03-05 15:51:56 3565
原创 MicroBlaze系列教程(6):AXI_IIC的使用(24C04 EEPROM)
AXI IIC IP核使用实例,基于MicroBlaze软核处理器,以驱动EEPROM AT24C04为例,实现数据的读写。
2023-02-19 16:46:34 2635 5
原创 MicroBlaze系列教程(5):AXI_UART16550的使用
axi-uart16550是Xilinx的一款串口IP核,支持配置成16450或16550模式,16550和16450是指的早期电脑主板上的串口芯片型号,16550相比于16450多了FIFO,现在已经很少使用。相比于,16550支持1或2位停止位,包括uartlite所有的功能,而且支持在SDK中灵活对波特率、数据、校验方式进行配置。与uartlite不同的是,不能单独指定发送中断和接收中断函数,只有一个中断函数,通过event参数来区分当前是发送或接收中断。
2023-02-12 21:35:49 3340 1
原创 开源、低成本的 Xilinx FPGA 下载器(高速30MHz)
板子做回来之后,需要烧录指定的固件,它才能被识别为Xilinx下载器,所需的固件和软件等全套资料在文末获取。今天分享一款低成本、开源的Xilinx下载器方案,和JTAG-HS一样,基于FT2232方案。JTAG-HS系列最大支持30MHz下载速度,基于FTDI的FT2232方案。实在懒得自己画板子,也可以TB直接买通用的FT2232板子,然后更新固件即可。目前主流的Xilinx下载器主要有两种:一种是Xilinx官方出品的。,包括AD版本的原理图和PCB,FT2232固件烧录工具和固件程序。
2023-02-12 20:35:52 12816
原创 MicroBlaze系列教程(4):AXI_UARTLITE的使用
是Xilinx提供axi-lite接口的通用串口IP核,用AXI-Lite总线接口和用户进行交互,速度可以根据不同的芯片调整,总的来说使用比较简单,收发数据也比自己写的串口驱动程序要稳定,内部有16个字节的收发FIFO,数据位支持5-8位,可配置奇偶校验,可配置波特率。可以自己写AXI-LITE的逻辑代码来驱动,也可以挂载在MicroBlaze处理器总线上,使用C代码来驱动。axi-uartlite支持ISE、Vivado开发环境,支持Xilinx所有的FPGA芯片。本文以串口控制LED。
2023-02-12 20:26:15 1672
原创 MicroBlaze系列教程(3):AXI_TIMER的使用
AXI_TIMER支持两路可编程32位计数器,可以配置为中断、捕获、PWM模式,两个32位计数器可以级联为一个64位计数器。
2023-01-30 21:03:01 924
原创 MicroBlaze系列教程(2):AXI_INTC的使用
AXI_INTC中断控制器用于将多路中断信号按照优先级输出一路给处理器,支持AXI4-Lite总线,最多支持32个中断输入,中断输入可配置为边沿触发或电平触发,中断输出可配置为边沿或电平输出,支持级联模式。本篇文章介绍如何基于AXI_INTC来实现GPIO中断触发。
2023-01-30 21:02:55 1398
原创 MicroBlaze系列教程(1):AXI_GPIO的使用
AXI GPIO是基于AXI-lite总线的一个通用输入输出IP核,可配置为一个或两个通道,每个通道32位,每一位可以通过SDK动态配置成输入或输出方向,支持中断请求,配合中断控制器IP可实现外部中断触发。
2023-01-30 21:02:34 1749
原创 高云FPGA系列教程(5):ARM点灯工程设计
官方的参考设计基于DK-START开发板,包括FPGA工程和ARM工程(Keil+GMD),涵盖了所有外设的实例,包括固件库,参考设计,AHB2,APB2,I2C,SPI,UART,TIMER,INTC,WDOG,RTC,FreeRTOS,UCOS_II等等。主函数的功能为,当按键未按下时,板载LED 500ms翻转一次,同时串口输出Release字符串,按键按下时,板载LED 100ms翻转一次,同时输出press字符串。官方提供了非常不错的参考设计,包括FPGA工程,GMD工程,Keil工程,
2022-10-23 22:16:49 2607
原创 高云FPGA系列教程(4):片上逻辑分析仪GAO的使用
STM32等单片机,使用J-Link或ST-Link等调试器,可以进行在线调试,由于C代码是顺序执行的,我们可以插入断点,让程序停在我们需要的位置,或者是实时查看一些变量的数值,大大提高了我们Debug的速度,提高产品的开发效率。,连接到FPGA芯片的外部管脚上,如果想查看内部信号,还需要把这些信号定义成Output引出到外部管脚进行了测量,如果是多位数据,这样就会占用大量的管脚,但是此类工具有个优点就是支持多种协议解析,可以非常方便的查看协议的报文数据。当所有的仿真没问题了,才能进行最后一步:板级调试。
2022-10-23 22:16:32 3924
原创 高云FPGA系列教程(3):基本IP原语使用和仿真
总的来说,GW1NSR-4C这颗FPGA可以使用的IP核不算太多,但基本的PLL,FIFO,RAM,DSP都有,还有一些非常实用的协议IP,如I2C,SPI,UART主机从机,以及之间的相互转换都有相应的IP,还有一些多媒体相关的IP,可以满足大多数的需求。联合ModelSim仿真也比较简单,只需要添加一个仿真库文件即可完成所有IP的仿真,还是非常方便的。
2022-10-23 22:16:16 2669
原创 高云FPGA系列教程(2):FPGA点灯工程创建、程序下载和固化
相比于国外FPGA厂商EDA开发环境,几个G到几十个G的大小,高云云源软件安装包也很小巧,界面也很简洁,综合速度非常快,是我没想到的,好像在使用单片机一样,点一下就编译完成了,以本文简单的LED示例工程为例,比特流文件几乎在几秒钟内生成;无论是下载比特流文件到RAM还是Flash中,速度都很快,而且只有一种fs程序文件格式,不用再进行bit/mcs转换;云源软件自带的编辑器也很好用,和Notepad++界面差不多,而且快捷键很方便,具有基本的自动补全功能。
2022-10-23 22:15:51 4182
原创 高云FPGA系列教程(1):FPGA和ARM开发环境搭建
至此,高云FPGA和MCU开发环境就搭建完成了,整体还是比较简单的,几乎是一键完成,下一篇文章我们进行实际的FPGA和MCU开发。本文是高云FPGA系列教程的第1篇文章。
2022-10-23 22:15:31 4488
原创 国产FPGA高云GW1NSR-4C,集成ARM Cortex-M3硬核
从板子整体角度来看,这是一款国产化程度很高的板子,从主控FPGA,到JTAG芯片,存储芯片、电源芯片等,都是使用的国产半导体公司的产品。板子整体尺寸也比较迷你,属于小而美类型的,可以认为是一款FPGA核心板,当然也预留了排针接口,给用户足够的扩展空间。对于想了解高云小蜜蜂SoC软硬件开发,以及对云源软件、MCU开发环境做个深度评测来说足够了。JTAG调试器固件可以增加虚拟串口功能,对于板子本来来说面积不会有改动,只需要添加两根信号线即可。
2022-10-23 22:15:08 4878
原创 Xilinx ISE系列教程(基于ISE 14.7)
Xilinx FPGA开发环境ISE Design Suite使用系列教程,包括安装、注册,仿真、下载,工程建立、调试等。
2022-09-12 22:24:22 2153
原创 Xilinx ISE系列教程(7):QSPI编程文件的生成和烧录
Xilinx FPGA外置的SPI Flash,支持SPIx1/x2/x4模式,可以通过MODE管脚进行配置。配置成QSPI模式可以大大提高启动速度,ISE建立工程默认为SPIx1模式,生成的bit也是SPIx1的数据文件,那么如何配置生成QSPI程序文件、QSPI文件如何固化呢?加载时钟速度可根据所使用的QSPI芯片的最大读取速度来设置,改为更高频率,可以提高FPGA程序的启动速度。和烧录SPIx1的bit文件,并没有太大的区别,在选择完bit文件后,执行执行烧写即可。上右键,在弹出的窗口中选择。
2022-09-04 22:40:36 2885
原创 Xilinx ISE系列教程(6):ModelSim联合仿真
Xilinx ISE开发环境集成有iSim仿真工具,我们通常使用另一款专业的仿真工具——ModelSim,它支持Windows和Linux系统,支持Verilog和VHDL混合仿真,编译、仿真速度业界最快,而且还有非常优秀的图形界面,是FPGA和ASIC设计的常用工具软件。当完成ModelSim安装后,就可以使用ModelSim来仿真Verilog或VHDL了,但如果要仿真Xilinx官方的IP核,比如PLL、RAM、FIFO等等,还需要编译出一份Xilinx的IP核仿真库。...
2022-08-29 21:43:25 2163 1
原创 Xilinx ISE系列教程(5):查看模块级资源占用率和综合报告
Xilinx ISE FPGA开发环境提供了完整的综合报告查看,包括总的资源占用率、子模块级资源占用率、时序报告、时钟报告、管脚约束等等。ISE默认是不生成子模块资源占用报告的,如果点击。可以查看一些不满足建立时间、保持时间要求的信号。,可以查看设计中的时钟扇出、偏移和延时情况。可以查看管脚约束,应该是和UCF中保持一致。就可以查看详细的子模块资源占用报告了。需要我们手动设置一下,才能查看。可以查看每个端口的方向和电平标准。,可以查看总的资源占用情况。等待综合完成后,再点击。
2022-08-22 23:11:06 5365
原创 Xilinx ISE系列教程(4):ChipScope逻辑分析仪ICON、ILA、VIO使用
Xilinx的FPGA片内逻辑分析仪被称为ChipScope,通过插入IP核的方式实现,主要包括3大IP核。ICONICON(integrated controller),主要负责与JTAG口的通讯,最大支持连接15个Core,这里的Core可以是ILA或VIO。ILAILA(integrated logic analyzer),嵌入式逻辑分析仪,可以抓取内部的任何信号,通过设置触发条件的方式,抓取一段时间的波形,时间长度取决于FPGA RAM资源大小。VIO。...
2022-08-22 22:34:23 3272
原创 Xilinx ISE系列教程(3):关联第三方编辑器Notepad++/VS Code/UltraEdit/Sublime Text/Emacs/Vim
做编程相关开发工作的朋友可能有这样一种体会:程序的架构、实现方法和思路要比编码本身更重要,不夸张的说,一个完整的代码工程,70%的时间都在进行前期设计和后期的调试,而真正的编码过程可能只占用不到30%的时间,我们要把有限的时间放在代码结构设计,代码的可复用性,代码的可维护性设计上,而要尽量缩短编码的时间。另外,使用Notepad++配合Finger Text插件,还可以添加一些常用的代码片段,可以极大的提高Verilog编码效率。还支持自定义语法高亮规则,对于ucf/xdc等约束文件的高亮支持也不错。
2022-08-21 23:40:31 1327 2
原创 Xilinx ISE系列教程(2):LED点灯工程、仿真、bit下载和mcs固化
bit流生成配置选项很多,支持生成bit/bin/ascii格式的bin文件,是否压缩,配置速度,配置管脚的上下拉,用户ID,数据加载速度,SPI总线宽度,是否支持Readback,程序加密等等。,在之后的文章,我们会以Xilinx Spartan-6系列FPGA XC6SLX16为例,不涉及FPGA开发知识,仅仅是工具的使用,介绍Xilinx ISE开发环境的使用教程和使用技巧。bit文件下载之后,可以看到LED按照我们设计的1s周期闪烁起来了,但是此时如果断电,重新上电程序就丢失了。...
2022-08-17 22:52:17 1767
原创 Xilinx ISE系列教程(1):ISE开发环境下载、安装、注册(Windows 10 64位系统)
开发环境(以下简称ISE)是Xilinx官方发布的FPGA、SoC和CPLD开发环境,主要支持Xilinx 6系列及其以下的器件,如Spartan-6、Virtex-6、XC95系列的CPLD等等,可也支持7系列的部分产品型号,如果你使用的是Xilinx比较新的7系列器件,如Spartan-7、Artix-7、Kintex-7、Virtex-7以及Zynq-7000系列,建议使用Xilinx最新一代的开发环境,新的开发工具兼容性、易用性会更好!...
2022-08-17 22:51:13 10757 9
原创 Xilinx ISE、iMPACT、PlanAhead在Windows 10 64位系统下闪退的解决办法
Xilinx ISE、iMPACT、PlanAhead在Windows 10 64位系统下闪退的解决办法
2022-07-17 13:06:38 4827 5
原创 《Verilog HDL与FPGA数字系统设计》书籍试读体验
最近参加一个面包板社区的图书试读活动:《Verilog HDL与FPGA数字系统设计》书籍试读,有幸从众多申请者中得到这次试用机会,非常感谢面包板社区和机械工业出版社的支持。收到这本书的过程,中间还有一些小插曲。这本书是由面包板社区官方通过京东快递从深圳发出,为到付方式。6月10日,在手机上看到有一个京东快递正在派送,那天正好周末,在家收到了一个京东快递,是一个文件袋,很薄,感觉不像是图书,像是几张纸,打开一看果然不是,是几张发往西安的发票。我赶紧联系了面包板社区的小编,幸好之前加过小编的微信,很快就联系上
2022-07-11 22:58:03 2104 1
原创 FPGA入门必备学习网站和工具
推荐几个非常不错的学习网站,包括基础语法学习、IP核下载、基本语法联系等OpenCores:非常丰富的IP核资源,主要有通讯协议编解码、数学运算、处理器、DSP、存储器、测试验证、音视频等asic-world:全套Verilog学习资料,包括入门指南、学习示例、问题解答、工具、书籍等。chipverify:非常齐全的Verilog/SystemVerilog教程,但是有广告。HDLBits:非常有名的Verilog练习网站,Verilog基本语法,组合逻辑,时序逻辑,仿真Testbench等。HDL在线综合
2022-07-08 21:07:45 1809
原创 读取Xilinx FPGA芯片的唯一ID号DNA
用过单片机的朋友都知道,单片机芯片内部都有一串序列号,比如STM32,称之为Unique device ID,是一个96Bit的只读数据。和单片机一样,FPGA芯片内部同样也有ID,以常用的Xilinx和Altera为例,Altera称之为Chip ID,Xilinx FPGA称之为Device DNA,上位机通过编程器先读取出芯片的ID,经过加密算法后生成密钥,下载程序的同时,向Flash中某个地址写入密钥。芯片上电之后,先读取芯片的ID,经过加密算法后,生成本地密钥,和Flash中的密钥相对比,若相同执
2022-06-10 22:47:14 4037 2
原创 国产FPGA芯片替代选型需要注意的几点
最近公司在进行FPGA国产化方案的准备工作,正在做市场的调研,也约了国内几家FPGA厂商的市场工程师来交流。关于FPGA,我算是半路出家,毕业后做了一年左右的MCU开发,后来由于项目需要接触到FPGA开发,然后学习了FPGA,之后就一直做FPGA相关的工作,其实我真正使用FPGA的时间也不过短短4年。电子电路开发学习精通STM32、FPGA实现流水灯,程序下载与擦除,IDE安装与卸载。 分享开源项目、板卡评测、学习笔记相关文章。 可能不会经常更新,但每一篇都是精心编写。170篇原创内容公众号本文来聊聊目前国
2022-06-10 22:43:57 2894
原创 ARM DesignStart计划——私人定制一颗ARM处理器
文章目录什么是ARM DesignStart计划?1.DesignStart Eval版本2.DesignStart FPGA版本3.DesignStart Pro版本4.DesignStart Physical&University版本Cortex-M3 Xilinx FPGA 软核下载什么是ARM DesignStart计划?2010年,ARM推出了ARM DesignStart计划,开放了1000+IP的物理版图,2015年开源Cortex-M0 IP评估版本,2017年开源Cortex.
2022-03-18 22:01:12 1981
【高云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关注的人