
FPGA
文章平均质量分 62
主要针对于FPGA方向做一些教学,帮助初学者
兵棒
一键三连,有求必应,佛性更新
展开
-
FPGA Verilog 信号的上升沿、下降沿检测
【代码】FPGA 信号上升沿、下降沿检测。原创 2023-08-10 13:22:54 · 1171 阅读 · 1 评论 -
FPGA verilog语言编写乘法器
也可以利用vivado自带的IP核形成调用乘法器。原创 2023-08-10 13:37:40 · 483 阅读 · 1 评论 -
FPGA VIVADO 实现FLASH固化操作步骤
默认是spi x1,如果在上一步选择了其他的模式,可以直接在xdc文件中直接添加约束语句(举例spi x4如下:选择了其他spi总线只需更改第五句代码中的总线数。或者直接在vivado中选择根据具体情况自行选择选择spi总线和部分spi设置(不知道的就默认)然后点ok如果后面固化失败,可以回来重新跑综合,布线,bit流,因为你的约束改了,之前生成的没有这些约束。原创 2023-08-10 11:59:42 · 11934 阅读 · 9 评论 -
Instance u SYS MMCMinst/clkin1 ibufds/BUFCTRL INST (BUFCTRL)is unplaced after lO placer
如果还不行还是报相同的错误,那么就要检查你的时钟接口是否能够满足时钟分项连接,就比如:在DDR4中的差分时钟只能单独拿来给DDR4,不能连接到任何地方。依此类推你的时钟是否可以连接多个模块实现运行。如果不行,用原语增加一个缓冲器:BUFG或者IBUFDS。原语的意思和使用就不讲解了,自己去搜一下就出来了。当然前面的约束也是需要的。不过约束的就是BUFG或者IBUFDS的引脚端口了。表明你的时钟不是一个标准的时钟接口,可以在约束语句中加入。让编译知道此I/O口不是正常时钟引脚,跳过错误。原创 2023-08-14 14:05:34 · 994 阅读 · 0 评论 -
Utility Buffer IP中的各种缓冲器
vivado中不仅仅是原语含有缓冲器,可以在IP-Utility Buffer中进行选择缓冲器类型,便于PS端的开发使用。原创 2023-12-04 16:08:33 · 2306 阅读 · 0 评论 -
FPGA程序烧录方式:JTAG调试与SPI固化
用JTAG方式烧写后,已经在FPGA中没有存储了,相当于这时候已经对FPGA做了编程,断电后FPGA需要重新烧写才能用。按照严格来讲那个不是程序,可以说是在FPGA上直接编程,可以说存在整个芯片中。在用JTAG烧录的时候下载进去的是二进制文件bit类型的,而在vivado中bit文件可能没有正确格式化,导致无法在其他存储器上去实现固化过程中,从而出现断电丢失问题。这可能导致芯片无法正确识别和读取bin文件的内容,从而无法正常启动。原创 2023-08-25 15:46:41 · 4418 阅读 · 1 评论 -
vivado FPGA烧录报错
在烧录bit流文件时,出现烧录不进去,报以上的错误。原创 2023-09-18 11:56:15 · 16842 阅读 · 0 评论 -
FPGA FX3 USB3.0 flash固化
很多FPGA是支持USB传输的,但在传输的时候FPGA是没有执行程序的,需要手动下载程序到flash当中才能促使FPGA运行。原创 2023-09-28 09:32:01 · 1138 阅读 · 24 评论 -
FPGA vitis实现固化程序到flash
ZYNQ的开发板上一般都是要通过SDK固化的,所以本期讲解一下vitis怎么固化程序。由于ZYNQ有好几种固化方式,我们先讲一下最简单的固化到flash,以后有时间再出一些固化到SD卡和eMMC等储存器上。首先做好一些准备,比如程序等。原创 2023-12-26 17:59:34 · 5388 阅读 · 11 评论 -
FPGA仿真输出波形问题
选择所要查看的数值,右击选择waveform styledigital:数值显示analog:波形显示analog settings:波形设置(一般不去修改,除非你有固定的波形参数需要)原创 2023-10-07 16:15:01 · 1189 阅读 · 1 评论 -
FPGA DEBUG
出现类似的错误表示的是,一个时钟接入了两个锁相环中,这是在fpga中不允许的,如果是你时钟不够用了的话,可以修改一下两个锁相环的位置让其形成串联,通过一个锁相环之后,将输出信号再接入另一个锁相环去生成其他时钟即可!特别注意的一点是:有的IP核(DDR MIG)会自带锁相环,当你把时钟接进去它会先经过锁相环,在操作IP核,所以遇到这种的同上一样的操作就可以避免。原创 2023-08-28 18:06:30 · 1694 阅读 · 0 评论 -
Verilog,自定义原语(UDP)的创建与使用
灵活性和效率:使用用户自定义原语(UDP)可以根据特定应用需求来设计和优化硬件电路,从而在灵活性和效率上具有优势。UDP允许用户在HDL代码中直接使用硬件操作,这使得硬件设计者可以更直接地控制硬件行为,并可以根据需要自由地优化和定制硬件电路。易用性和可维护性:使用FPGA自带的原语(IP核)可以简化开发流程,因为IP核是经过优化和预先测试的,而且通常具有更高的可靠性和稳定性。此外,IP核的使用可以减少开发时间和错误,并且通常具有更好的可维护性。原创 2023-11-27 11:17:32 · 1188 阅读 · 1 评论 -
vivado无法识别Xilinx官方等下载器
一般vidado的驱动下载器文件是在E:\Xilinx2022\Vivado\2022.2\data\xicom\cable_drivers\nt64这个目录下的,然后到达这个目录后根据Windows的版本号选择一个(我这里是Windows10)原创 2023-09-26 16:19:38 · 3329 阅读 · 4 评论 -
OSERDESE2原语-并串转换
一、数据并行-串行转换一、数据并行-串行转换—个OSERDESE2模块中的数据并行到串行转换器接收2〜8位来自FPGA逻辑结构内的并行数据 (如果使用OSERDESE2宽度扩展,则为14位),将数据串行化,并通过OQ输出将其传送到IO B。并行数据的串行化按照从数据输入引脚最低到最高的顺序,即在D1输入引脚上的数据是第一位发送到OQ引脚上的。数据并行 -串行转换器有两种模式,既单数据速率(Single Data RateSDR) 和双数据速率DD ROSERDESE。原创 2023-09-26 13:42:52 · 1169 阅读 · 1 评论 -
FPGA中整数和小数的运算方法
在计算机方向上,其实并不存在日常生活中的十进制说话,也不存在其他进制,只有二进制,因为计算机的储存器都是电平进行驱使运行的,所以不管存的是什么数据都会以电平的方式在储存器里面进行存储。那么就设计到小数部分是如何在电平当中存储的,很多人会觉得小数的存储直接把小数部分当作一个整数来存储不就行了,只要你知道那一部分是小数,其实这种思路是对的,不能算是错误的理解,当有了这种思路之后就会简便很多。小数表示的方法要有数的定标这一概念。原创 2023-09-15 11:51:55 · 1750 阅读 · 0 评论 -
FPGA 娱乐项目,通过仿真显示一张图片
链接:https://pan.baidu.com/s/1BTAbD2-2F9m9MF_dUpV_qw提取码:BB73。原创 2023-10-08 19:02:48 · 357 阅读 · 1 评论