- 博客(36)
- 收藏
- 关注
原创 petalinux安装成功后登录Linux出现密码账号不正确
其实这个时候不需要这样做,这个问题在于版本的不同,如果大家使用的petalinux是2022.1之后的版本,那大家的账号就是petalinux,不再是所谓的“root”,然后登陆上去就会让你重新设密码再登陆成功。安装完Linux系统后发现登陆开发板上的Linux系统登陆一直错误,但你输入的账号和密码确确实实是“root”,但仍然一直在重复登陆。这个时候就会怀疑自己是不是把密码改了,导致错误,然后又重新创建petalinux工程。
2024-08-05 18:47:00
242
原创 FPGA-ARM架构与分类
ARM架构,曾称进阶精简指令集机器(Advanced RISC Machine)更早称作Acorn RISC Machine,是一个32位精简指令集(RISC)处理器架构。
2024-05-28 16:40:17
510
转载 vivado面板上的Incremental
Vivado增量编译是一种非常重要的设计流程,它能够大幅度缩短编译时间,提高开发效率,降低设计开发成本和周期。在设计中,有时只是对某一部分进行了小的修改,但是由于需要进行完全重新编译,再次生成比特流的时间就会非常长。Vivado增量编译是指针对设计中已经完成的部分,仅编译修改的部分,并在这些部分重新生成比特流,以加速设计实现的过程。因此,在进行增量编译时,请务必注意时序问题,并进行必要的时序分析和优化。当设计出现问题时,只需要对修改的部分进行重新编译,而不是对整个设计进行重新编译。
2024-04-08 18:05:01
99
原创 Vitis报错:fatal error: xxx.h: No such file or directory.
在跑vitis工程文件时出现fatal error: xxx.h: No such file or directory.的错误,出现这种情况的主要是出现在大家用了自定义IP。
2024-03-26 18:11:55
771
2
原创 UDP协议(二)
补充一下上一期写到的IP协议中的首部校验值的计算,直接举栗子吧注意一下,计算的时候是16位计算的不是我们想象的8位计算的!16'h4500+16'h0032+16'h0000+16'h4000(这里注意计算,标志是高三位,不是高四位)+16'h1011+16'h0000(首部校验和在计算的时候是置零计算的)+16'hc0a8+16'h017b+16'hc0a8+16'h0166=16'h24974由于是16进制计算所以需要把高位再拿回来进行一次计算,如此重复,直至只有16位。
2024-02-04 09:42:21
848
原创 modelsim仿真使用到vivado的IP,该如何使用!
modelsim仿真时,如果使用到了vivado的IP就会报错,本次就告诉大家如何将vivado的IP添加到modelsim中直接仿真。
2024-02-02 15:49:26
1235
原创 MATLAB曲线拟合工具箱-curve fitting tool
在Matlab中有一个功能强大的曲线拟合工具箱 cftool ,使用方便,能实现多种类型的线性、非线性曲线拟合。能够帮助大家在一大堆数据中找到数据之间的关系。下面结合 Matlab R2020a 来简单介绍如何使用这个工具箱。
2024-01-29 10:03:48
6575
原创 FPGA vitis实现固化程序到flash
ZYNQ的开发板上一般都是要通过SDK固化的,所以本期讲解一下vitis怎么固化程序。由于ZYNQ有好几种固化方式,我们先讲一下最简单的固化到flash,以后有时间再出一些固化到SD卡和eMMC等储存器上。首先做好一些准备,比如程序等。
2023-12-26 17:59:34
2458
9
原创 UDP协议
以太网隔离变压器是以太网收发芯片与连接器之间的磁性组件,在其两者之间起着信号传输、阻抗匹配、波形修复、信号杂波抑制和高电压隔离作用。以太网具有广播功能,便于系统的扩展和逐渐演变,同时提高了系统的可靠性、可用性、生存性。而交换式以太网正是广泛应用的以太网,可运行在100、1000和10000Mbps那样的高速率。UDP(User Datagram Protocol,用户数据报协议)是计算机网络中的一种传输层协议,与TCP(Transmission Control Protocol,传输控制协议)相对应。
2023-12-08 10:14:28
200
原创 Verilog编写UDP协议-发送端TX
本文主要是根据接口GMII进行编写的代码,如有需要的可以根据此代码进行更改成其他接口即可,大致都是一样的,因为写的都是些一部分的东西,只需要改变引脚。一键三连,不迷路,后期补充一些解释 ,先存着。废话不多说,直接上代码。
2023-12-07 16:44:16
317
原创 Utility Buffer IP中的各种缓冲器
vivado中不仅仅是原语含有缓冲器,可以在IP-Utility Buffer中进行选择缓冲器类型,便于PS端的开发使用。
2023-12-04 16:08:33
1219
原创 Verilog,自定义原语(UDP)的创建与使用
灵活性和效率:使用用户自定义原语(UDP)可以根据特定应用需求来设计和优化硬件电路,从而在灵活性和效率上具有优势。UDP允许用户在HDL代码中直接使用硬件操作,这使得硬件设计者可以更直接地控制硬件行为,并可以根据需要自由地优化和定制硬件电路。易用性和可维护性:使用FPGA自带的原语(IP核)可以简化开发流程,因为IP核是经过优化和预先测试的,而且通常具有更高的可靠性和稳定性。此外,IP核的使用可以减少开发时间和错误,并且通常具有更好的可维护性。
2023-11-27 11:17:32
786
1
原创 FPGA 娱乐项目,通过仿真显示一张图片
链接:https://pan.baidu.com/s/1BTAbD2-2F9m9MF_dUpV_qw提取码:BB73。
2023-10-08 19:02:48
210
1
原创 FPGA仿真输出波形问题
选择所要查看的数值,右击选择waveform styledigital:数值显示analog:波形显示analog settings:波形设置(一般不去修改,除非你有固定的波形参数需要)
2023-10-07 16:15:01
681
1
原创 FPGA FX3 USB3.0 flash固化
很多FPGA是支持USB传输的,但在传输的时候FPGA是没有执行程序的,需要手动下载程序到flash当中才能促使FPGA运行。
2023-09-28 09:32:01
524
10
原创 vivado无法识别Xilinx官方等下载器
一般vidado的驱动下载器文件是在E:\Xilinx2022\Vivado\2022.2\data\xicom\cable_drivers\nt64这个目录下的,然后到达这个目录后根据Windows的版本号选择一个(我这里是Windows10)
2023-09-26 16:19:38
1855
4
原创 OSERDESE2原语-并串转换
一、数据并行-串行转换一、数据并行-串行转换—个OSERDESE2模块中的数据并行到串行转换器接收2〜8位来自FPGA逻辑结构内的并行数据 (如果使用OSERDESE2宽度扩展,则为14位),将数据串行化,并通过OQ输出将其传送到IO B。并行数据的串行化按照从数据输入引脚最低到最高的顺序,即在D1输入引脚上的数据是第一位发送到OQ引脚上的。数据并行 -串行转换器有两种模式,既单数据速率(Single Data RateSDR) 和双数据速率DD ROSERDESE。
2023-09-26 13:42:52
945
1
原创 FPGA中整数和小数的运算方法
在计算机方向上,其实并不存在日常生活中的十进制说话,也不存在其他进制,只有二进制,因为计算机的储存器都是电平进行驱使运行的,所以不管存的是什么数据都会以电平的方式在储存器里面进行存储。那么就设计到小数部分是如何在电平当中存储的,很多人会觉得小数的存储直接把小数部分当作一个整数来存储不就行了,只要你知道那一部分是小数,其实这种思路是对的,不能算是错误的理解,当有了这种思路之后就会简便很多。小数表示的方法要有数的定标这一概念。
2023-09-15 11:51:55
1068
原创 FPGA DEBUG
出现类似的错误表示的是,一个时钟接入了两个锁相环中,这是在fpga中不允许的,如果是你时钟不够用了的话,可以修改一下两个锁相环的位置让其形成串联,通过一个锁相环之后,将输出信号再接入另一个锁相环去生成其他时钟即可!特别注意的一点是:有的IP核(DDR MIG)会自带锁相环,当你把时钟接进去它会先经过锁相环,在操作IP核,所以遇到这种的同上一样的操作就可以避免。
2023-08-28 18:06:30
1247
原创 FPGA程序烧录方式:JTAG调试与SPI固化
用JTAG方式烧写后,已经在FPGA中没有存储了,相当于这时候已经对FPGA做了编程,断电后FPGA需要重新烧写才能用。按照严格来讲那个不是程序,可以说是在FPGA上直接编程,可以说存在整个芯片中。在用JTAG烧录的时候下载进去的是二进制文件bit类型的,而在vivado中bit文件可能没有正确格式化,导致无法在其他存储器上去实现固化过程中,从而出现断电丢失问题。这可能导致芯片无法正确识别和读取bin文件的内容,从而无法正常启动。
2023-08-25 15:46:41
3055
1
原创 FPGA DDR4学习(三)
这次学习ddr4的读写时序和仿真操作。在学习这节知识的时候,最好是要有ram,rom,FIFO等存储器编写仿真的基础,还有ddr4的基础内容的学习,详情可以去看一下上两期的讲解博客。
2023-08-23 15:55:46
1938
原创 FPGA DDR4 学习(二)
上一期我们学习了DDR4的基础知识(没有学习的可以点击下面连接进去学习一下,还话是有必要知道基础知识才能进行下面的过程)
2023-08-22 10:52:42
1597
1
原创 FPGA DDR4 学习(一)
首先将一个ddr4存储片拿来,将其分为多个存储组(Bank Group),再将一个 Bank Group分为多个bank,bank内再分行和列,在每一列中有16个Cell单元并联,有因为DDR4的数据有16跟数据线,所以依次对应每一个Cell单元,每个单元可以存8bit数据也就是1个字节。A[17:0]地址,不是所有都是18个地址引脚,有的只有17个,有的只有16个,因DDR4型号而定。其中A14是写选通信号,A15是列选通信号,A16是行选通信号,值得注意的是选通信号是低电平选中,高电平无意义。
2023-08-21 11:23:34
2056
4
原创 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
522
原创 git如何上传代码等文件
3.1创建一个文件夹,不创建也是可以的,只要你能知道下载路径到哪里了。然后打开下载的文件夹,就会找到一个.git文件夹,找不到就点上方查看,选中隐藏文件,就找到了。在安装界面中只需要注意如图所示的一个安装界面就行,选择git模式,其他的直接点next。项目地址去你网页git上找,有脑子的一看就知道在哪,(没脑子的只能问问你周边的人)3.2点开文件夹,右键鼠标,选择git bash打开方式,就会进入到一下界面。4.将你所需要上传的文件代码等,复制到该文件夹之下,在打开git bash。
2023-08-14 13:47:12
108
原创 vivado如何连接到其他编程软件,比如:notepad++,VS Code等
然后按顺序点ok,apply,ok就完成了,双击vivado中的文件就可以直接在其他编程软件里面打开进行编写,同时vivado内的文件也会随着你的编写而自动更改。例如:E:/vscode/Microsoft VS Code/Code.exe [file name](前方为地址,地址后面必须接[file name]才可以)3.滑倒最低部,自行添加编辑器位置,如果直接选择的话,需要版本一致,才能直接连接,目前很少有版本能够直接连接的。还要注意的是你所复制的地址符号是\,需要改成/
2023-08-10 13:58:41
1282
1
原创 FPGA VIVADO 实现FLASH固化操作步骤
默认是spi x1,如果在上一步选择了其他的模式,可以直接在xdc文件中直接添加约束语句(举例spi x4如下:选择了其他spi总线只需更改第五句代码中的总线数。或者直接在vivado中选择根据具体情况自行选择选择spi总线和部分spi设置(不知道的就默认)然后点ok如果后面固化失败,可以回来重新跑综合,布线,bit流,因为你的约束改了,之前生成的没有这些约束。
2023-08-10 11:59:42
6724
9
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人