草庐IT

FPGA-ZCU

全部标签

FPGA中数据延迟方案汇总

一.非阻塞赋值延时打拍always@(posedgeclk)begind1     本质上就是对数据进行多级寄存器缓存,延迟时间以clk的一个周期为单位,消耗的就是寄存器。比较适合延迟固定周期以及延迟周期比较短的情况。    缺点:延迟时间不方便控制,不适合延迟时间比较长的情况。二、移位寄存器延时reg[data_width*delay_width-1:00]data_r=0;always@(posedgeclk)begindata_r    这种方法利用的是移位寄存器的方法,用的是SLICEM资源。SLICEM可以在不使用触发器的条件下配置为32位移位寄存器(注意:只能左移)。这样,每个LU

FPGA设计的指导性原则 (一)

这一部分主要介绍FPGA/CPLD设计的指导性原则,如FPGA设计的基本原则、基本设计思想、基本操作技巧、常用模块等。FPGA/CPLD设计的基本原则、思想、技巧和常用模块是一个非常大的问题,在此不可能面面俱到,只能我们公司项目中常用的一些设计原则与方法提纲携领地加以介绍,希望引起同事们的注意,如果大家能有意识的用这些原则方法指导日后的工作,不断积累和充实自己,将取得事半功倍的效果!本章主要内容如下:基本原则之一:面积和速度的平衡与互换;基本原则之二:硬件原则;基本原则之三:系统原则;基本原则之四:同步设计原则;基本设计思想与技巧之一:乒乓操作;基本设计思想与技巧之二:串并转换;基本设计思想与

(数电)各种触发器汇总——FPGA八股文(1)

眼看着到了秋招,做了一些公司的笔试题,发现基本都考了数电的各种触发器,我忘得一干二净还相互混淆,今天就来把这些触发器一起汇总了!ps:发现软件开发的八股文很多,硬件开发的八股文很少,只能靠自己总结了,FPGA八股文会持续更新,直到我找到工作!目录触发器的输入输出触发器的分类基本RS触发器同步触发器—RS触发器同步D触发器同步JK触发器同步T触发器触发器的输入输出触发器:一种具有记忆功能,能够存储0和1这样的数字信息的电路,是构成时序逻辑电路的基本逻辑器件触发器的输出端状态:0或者1触发器输出端收到有效激励信号的时候:状态可以翻转0→1、1→0若输入激励信号不是有效信号:触发器输出状态保持不变(

详解rbf和sof文件区别——FPGA配置文件

文章目录详解rbf和sof文件区别——FPGA配置文件一、概念介绍二、两者区别三、拓展学习FPGA配置文件格式FPGA配置文件的产生四、总结详解rbf和sof文件区别——FPGA配置文件一、概念介绍在FPGA开发中,后缀为.rbf和.sof的文件分别是用于配置FPGA的文件。.rbf文件是一种RawBinaryFile(原始二进制文件),包含了FPGA的配置信息,可以被FPGA芯片读取并加载到内部存储器中。这种文件通常用于FPGA的In-SystemProgramming(ISP)过程中,可以通过JTAG或者其他接口加载到FPGA中。.sof文件是一种SRAMObjectFile(SRAM对象

FPGA基于AXI 1G/2.5G Ethernet Subsystem实现UDP通信DMA传输 提供工程源码和技术支持

目录1、前言2、我这里已有的UDP方案3、详细设计方案传统UDP网络通信方案本方案详细设计说明DMA和BRAMAXIS-FIFOUDP模块设计UDP模块FIFOAXI1G/2.5GEthernetSubsystem:输出4、vivado工程详解5、上板调试验证并演示注意事项6、福利:工程代码的获取1、前言目前网上的fpga实现udp基本生态如下:1:verilog编写的udp收发器,但不带ping功能,这样的代码功能正常也能用,但不带ping功能基本就是废物,在实际项目中不会用这样的代码,试想,多机互联,出现了问题,你的网卡都不带ping功能,连基本的问题排查机制都不具备,这样的代码谁敢用?2

FPGA 学习笔记:Vivado 工程更改FPGA 型号

前言FPGA不同系列,型号有些区别,并且不同型号FPGA工程生成的bit文件,无法下载当前最好的方式是每个型号都重新创建一个工程,不过这样多少有点繁琐,Vivado可以更改FPGA型号更改方法设置里面,可以查看当前的FPGA型号也可以通过【Window】->【ProjectSummary】,查看当前工程的FPGA型号点击当前项目的【FPGA型号】选择新的FPGA型号跟新建工程时选择FPGA一致型号更改成新的了这里提示是否保留之前的【综合结果】,可以选择是,也可以选择【No】,这样覆盖验证更改FPGA型号后,需要重新【综合】【实现】,引脚IO配置,生成二进制文件小结灵活使用Vivado,如把其他

ZKP加速 GPU/FPGA/ASIC

1.引言参考资料有:[1]FigmentCapital团队2023年4月博客AcceleratingZero-KnowledgeProofs[2]Ulvetanna团队2023年5月博客PoseidonMerkleTreesinHardware[3]supranational2023年1月博客OpenVDF:AcceleratingtheNovaSNARK-basedVDF【采用ASIC加速Nova实现的VDF,开源代码见:https://github.com/supranational/minroot_hardware(Verilog)】[4]Ingonyama团队2023年5月博客Intr

基于FPGA的YOLO加速器设计与实现

    去年空闲之余基于FPGA实现了类YOLO的轻量化的CNN加速器。为了方便,直接基于Ultra96平台进行了验证,整个加速器资源消耗还算客观,帧率基本在200FPS左右。FPGA实现架构硬件资源消耗:       后面打算优化架构设计,实现一种更为轻量级或者资源占用更少的CNN加速器,这样可以在低端的片子,以更少的资源和主频,达到同样的效果。先立个flag。争取这几个月实现tinyyolov3的轻量级加速器,可以在Artix50T或者7020的FPGA上,达到实时性能。

FPGA学习笔记——FIFO读写

【实验任务】向FIFO中以50MHz的频率按顺序写入0~254,再从FIFO中以5Hz的频率按顺序读出0~254,输出到LED中点亮。一、FIFO简介FIFO全称为“First-In-First-Out”,是FPGA内部的存储数据的缓冲器,读写数据具有先入先出的特点,与数据结构中的“队列”有异曲同工之妙。本博客例化紫光同创官方提供的FIFOip核,实现数据的写入读出,烧录到PGL50H开发板,以LED灯指示数据的一次写入读出是否已完成。例化FIFOip核各参数如上。有几个特别重要的选项要注意一下:①FIFOType:可选择是同步FIFO(SYN_FIFO,读写时钟相同、读写复位引脚相同)还是异

FPGA之锁存器(Latch)

latch是指锁存器,是一种对脉冲电平敏感的存储单元电路。锁存器和寄存器都是基本存储单元,锁存器是电平触发的存储器,寄存器是边沿触发的存储器。两者的基本功能是一样的,都可以存储数据。锁存器是组合逻辑产生的,而寄存器是在时序电路中使用,由时钟触发产生的。latch的主要危害是会产生毛刺(glitch),这种毛刺对下一级电路是很危险的。并且其隐蔽性很强,不易查出。因此,在设计中,应尽量避免latch的使用。代码里面出现latch的两个原因是在组合逻辑中,if或者case语句不完整的描述,比如if缺少else分支,case缺少default分支,导致代码在综合过程中出现了latch。解决办法就是if