🚨前言 搞FPGA不像搞软件,写代码(HDL)的抽象层级不能放得太高。 如果不对FPGA的底层结构有一个清晰的理解,在优化RTL与硬件结构、提高Coding效率和时序收敛方面则会比较困难。📖Part1可配置逻辑块CLB 可配置逻辑块CLB是FPGA底层最基础,同时也是最重要的设计单元。 无论是在组合逻辑设计还是时序逻辑设计,都少不了它的身影。⚡第1篇:从底层结构开始学习FPGA(1)----可配置逻辑块CLB(ConfigurableLogicBlock) 简介:CLB的四个基本组成部分:1、查找表;2、触发器;3、多路选择
🚨前言 搞FPGA不像搞软件,写代码(HDL)的抽象层级不能放得太高。 如果不对FPGA的底层结构有一个清晰的理解,在优化RTL与硬件结构、提高Coding效率和时序收敛方面则会比较困难。📖Part1可配置逻辑块CLB 可配置逻辑块CLB是FPGA底层最基础,同时也是最重要的设计单元。 无论是在组合逻辑设计还是时序逻辑设计,都少不了它的身影。⚡第1篇:从底层结构开始学习FPGA(1)----可配置逻辑块CLB(ConfigurableLogicBlock) 简介:CLB的四个基本组成部分:1、查找表;2、触发器;3、多路选择
目录前言一、先看效果二、硬件选择三、系统框架四、程序模块1、系统顶层模块2、图像处理顶层模块3、LCD驱动顶层模块4、SDRAM控制器顶层模块5、上位机发送模块五、工程及套件获取1、工程获取2、套件前言 最早做了基于FPGA:运动目标检测(VGA显示,原理图+源码+硬件选择),有网友反应,VGA一个大大的屏幕,做起来很不方便,并且功能过于单一。 因此,在上个工程的基础上,修改成了TFT-LCD屏幕检测,并且将检测结果通过串口输出到电脑上位机上,以便大家做扩展开发。一、先看效果 话不多说,先上视频看效果。基于FPGA运动目标检测(LCD显示-串口输出)二、硬件选择开发
基于FPGA进行车牌识别基于FPGA进行车牌识别1.文件说明2.程序移植说明3.小小的编程感想本项目的原理讲解视频已经上传到B站“基于FPGA进行车牌识别”。本项目全部开源,见我本人的Github仓库“License-Plate-Recognition-FPGA”。1.文件说明小技巧:下载整个Github文件夹:http://tool.mkblog.cn/downgit/#/home1.工程及源代码里面包含了大磊FPGA的源代码,以及我自己的源代码。其中,大磊FPGA的源代码包括一些的数字图像处理的模块。我自己的源代码则直接将Vivado2022.1工程“ov5640_fun4_lcd_up3
文章目录系列目录与传送门1、FIFO简介2、XilinxFIFOIP核2.1、接口2.2、实现方式2.3、FIFOIP核性能2.4、写操作2.5、读操作2.6、可编程信号2.6.1、可编程满信号ProgrammableFull 2.6.2、可编程空信号ProgrammableEmpty2.7、数据计数2.8、非对称读写位宽2.9、复位2.10、实际深度3、总结与参考系列目录与传送门 《从底层结构开始学习FPGA》目录与传送门 此文仅仅对xilinxFIFOIP的参数做了详细解读,关于IP核的定制与使用方法请移步:从底层结构开始学习FPGA----FIFOIP的定制与测试1、
文章目录系列目录与传送门1、FIFO简介2、XilinxFIFOIP核2.1、接口2.2、实现方式2.3、FIFOIP核性能2.4、写操作2.5、读操作2.6、可编程信号2.6.1、可编程满信号ProgrammableFull 2.6.2、可编程空信号ProgrammableEmpty2.7、数据计数2.8、非对称读写位宽2.9、复位2.10、实际深度3、总结与参考系列目录与传送门 《从底层结构开始学习FPGA》目录与传送门 此文仅仅对xilinxFIFOIP的参数做了详细解读,关于IP核的定制与使用方法请移步:从底层结构开始学习FPGA----FIFOIP的定制与测试1、
(一)FPGA之串口通信(UART)回到梦开始的地方,如今回过头来看串口协议,确实清晰了很多,但是奈何好记性不如烂笔头,我还是要重新记录一下学习的知识点,方便查找和学习。波特率(BandRate):串口协议中很重要的一点就是波特率,波特率的概念是每秒钟传送码元的个数,就是一秒钟传输了几个二进制的个数,他的单位是Bit/s和bps两种。常见的串口速度有115200bps9600bps等等,串口(RS232)的最大传输速率是115200bps,表示一秒钟传输了115200个二进制。波特率和字节的关系1GB=1024MB1MB=1024KB1KB=1024B(字节)我们需要串口接收的数据数每秒512
(一)FPGA之串口通信(UART)回到梦开始的地方,如今回过头来看串口协议,确实清晰了很多,但是奈何好记性不如烂笔头,我还是要重新记录一下学习的知识点,方便查找和学习。波特率(BandRate):串口协议中很重要的一点就是波特率,波特率的概念是每秒钟传送码元的个数,就是一秒钟传输了几个二进制的个数,他的单位是Bit/s和bps两种。常见的串口速度有115200bps9600bps等等,串口(RS232)的最大传输速率是115200bps,表示一秒钟传输了115200个二进制。波特率和字节的关系1GB=1024MB1MB=1024KB1KB=1024B(字节)我们需要串口接收的数据数每秒512
文章目录一、SPI二、看spi--flash手册找关键1.描述2.flash接口信号3.SPI模式选择4.高字节MSB5.指令6.写使能时序7.读ID时序8.读寄存器时序(我没用到)9.读数据时序10.页编程11.扇区擦除12.重要的时间三、状态机设计1.spi接口状态机2.flash读状态机3.flash写状态机四、代码部分1.==spi_interface.v==2.==spi_read_ctrl.v==3.==spi_write_ctrl.v==4.==spi_control.v==5.==top.v==6.其他模块五、仿真验证六、上板验证七、总结一、SPISPI的通信原理很简单,它以主
文章目录一、SPI二、看spi--flash手册找关键1.描述2.flash接口信号3.SPI模式选择4.高字节MSB5.指令6.写使能时序7.读ID时序8.读寄存器时序(我没用到)9.读数据时序10.页编程11.扇区擦除12.重要的时间三、状态机设计1.spi接口状态机2.flash读状态机3.flash写状态机四、代码部分1.==spi_interface.v==2.==spi_read_ctrl.v==3.==spi_write_ctrl.v==4.==spi_control.v==5.==top.v==6.其他模块五、仿真验证六、上板验证七、总结一、SPISPI的通信原理很简单,它以主