自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(107)
  • 资源 (3)
  • 收藏
  • 关注

原创 FPGA中利用fifo时钟域转换---慢时钟域转快时钟域

FIFO输入端的时钟频率小,输出时钟频率快,为了保证输入FIFO的数据与输出数据速度相等,即FIFO不至于读空,行计数器计数的最大值也必须放大1.5倍,即640*1.5=960,从FIFO中读数据时前640个计数时数据有效,这640个计数期间可以至一个标志rd_en位为1,作为FIFO读使能信号,960中的后320个计时为FIFO读数据消隐期,此时rd_en=0,即不读数据。FIFO的输入数据的时钟是40MHz,FIFO输出数据取60MHz,刚好是40MHz的1.5倍,将慢时钟域转快时钟域。

2025-02-20 17:04:23 705

原创 Xilinx FPGA工程移植步骤---包含软核工程

选择导出的.hdf文件关联上逻辑端代码,工程地址选择.sdk文件夹下:E:\Xilinx\xx\xx\project_1\project_1.sdk。返回vivado,重新生成bit流文件即可,即可将sdk和vivado中的代码关联起来。注意的是:在这页中千万不要滑动鼠标的滚轮,不然很容易改变里面的信息,切记切记!将目录E:\Xilinx\xx\xx\project_1\project_1.sdk。,这里面是源码文件不可以删除,其他文件全部删除。双击进去img IP核的配置界面,至此,工程移植完毕。

2025-02-19 21:21:10 322

原创 Matlab读取RAW图片

为了分析RAW图片,需要读出每一个像素进行分析,采用MATLAB读取。图片大小是640*512。

2024-12-14 20:00:00 364

原创 移植NIOS10.1工程,NIOS10.1路径修改

打开NIOS工程,在*_bsp文件夹上右键->nios II ->Generate BSP;因工程的需要,使用的NIOS10.1,比较老,这个版本的路径是使用的绝对路径,导致移植工程市回报路径的错误,在13.1之后改为了相对路径,不存在这个问题。需要修改三个文件夹内的路径,第2个文件夹是修改生成elf文件名称,里面有个Makefile,在里面修改,不修改也不会报错,只是用于区分备份。建议用替换的方法,这个文件中一共有6个路径需要修改,只列出了三个。

2024-12-04 22:20:10 501

原创 ADC输出码和输入电压转换关系

4.096V,用万用表测量输入电压0.411v,可以算得:(0.411v / 4.096v)*65536='d6579='h19B0,实际ADC输出码是’h19CF。理论值’h19B0和实际测量’h19CF值相差不大,证明ADC驱动代码正确。举个例子MS5182是一个16bit的ADC(2。是参考电压,n是ADC芯片的位数。ADC输出码和输入电压转换关系。转换公式:ADC输出码=(V。是输入ADC芯片的电压,V。=65536),参考电压V。

2024-11-15 20:30:00 881

原创 STM32编程遇到的问题随笔【一】

首先说明,我在主函数mian()函数中调用了这个Delay_ms()函数,同时在定时中断中也调用Delay_ms()函数,用于进行adc采集。其实问题就出在定时中断中调用了Delay_ms()函数,这个函数在主函数执行时,突然定时中断执行,导致Delay_ms()函数里面的变量的值被改变了,中断执行完毕之后,cpu再回来执行main函数的Delay_ms()时,Delay_ms()里面的变量已经被重新赋值了。三、adc通道的数据错乱,用到了DMA,通道1的跑到了通道2,通道2的跑到了通道1.

2024-11-14 19:30:00 1234

原创 NIOS Eclipse突然报错:No rule to make target `/system.h

今天打开NIOS Eclipse编译昨天完好的工程,发现报错。我就纳闷了,代码没有修改,编译结果报错。

2024-08-21 14:02:16 628 3

原创 温度传感器NST175手册阅读

首先看芯片的输入和输出:主要关注IIC接口,毕竟是要驱动这个芯片读取温度。在编写此博客时还未对改温度传感器进行调试,只是阅读手册,把需要重点关注的地方标记出来。

2024-06-18 10:07:17 2218 8

原创 NOS II - Timer定时器

简单回忆NIOS II中定时器的使用。

2024-06-10 19:36:44 502

原创 2023-2024总结

可以缓解压力,我平时喜欢慢跑和打羽球,喜欢运动时那种放松的奇妙感觉,这时候也是最轻松的时候。武汉是一个美丽、充满活力的城市,在这待了将近一年也逐渐习惯了武汉的生活,来这里第一次见到雪,在我的家乡冬天不会下雪,至少从我记事开始没见过下雪。长江大桥,徒步横跨长江大桥,那一晚和老同学徒步从江汉路->江滩->鹦鹉洲->长江大桥->黄鹤楼的山脚下,运动量也是达标了。武汉大学,很美,氛围也很好,进去就不想离开的学校。

2024-05-02 14:15:16 575 3

原创 Modelsim自动仿真平台的搭建

如果要搭建自动仿真平台脚本那就需要更改下面3个文件。run_simulation.bat、complie.do和wave.do文件。注:前提是安装了modulsim并且配置好了环境变量,这里不过多介绍。只有一条语句,主要是添加想要观测的波形到modulsim中。将testbench_top这个文件中的所有信号,包括wire,reg类型或者其他类型的信号全部添加到波形中。一、下面是run_simulation.bat文件的内容。二、compile.do文件的语法和工作。三、wave.do文件。

2024-04-29 23:33:00 806

原创 FPGA实现图像处理之【直方图均衡-寄存器版】

直方图的全称为灰度直方图,是对图像每一灰度间隔内像素个数的统计。即对一张图片中每隔二灰度值的像素数量做统计,然后以直方图的形式展现出来。图下的亮暗分布在直方图中就可以一目了然,直方图在图像前端和后端处理中都有广泛的应用,比如图像的直方图均衡、图像自动曝光控制和图像特征提取等。

2024-04-28 23:14:28 1268 1

原创 【一】DDR3基础知识与IMG IP

一、DDR3的基本知识与MIG IP核。

2024-03-30 22:47:04 2297 4

原创 镁光的sdram手册阅读--MT48LCC16M16A2

1)芯片位宽:每一片SDRAM缓存芯片本身的位宽,MT48LC16M16A2的芯片位宽就是16bit。一、这个sdram的总容量是256Mb,MT48LC16M16A2对应的参数是:4Meg × 16 × 4banks,也可表示为16M16。2)物理位宽:可以理解为CPU的总线位宽,如电脑的就是64bit的,需要4个16bit的sdram并联在一起组合成64bit的位宽。2)16表示数据位宽,即每一个存储单元存储数据的bit数,4Meg × 16表示单个bank中可以存储的bit数。

2024-03-24 03:00:00 1153

原创 modelsim与quartus联合仿真ROM读不出数据

1、mif文件的格式不对,保证深度、位宽等信息是正确的,地址是从0开始,然后依次递增。我试过地址不是从0开始,ROM初始化会直接报错。原因:hex或者mif文件放的不对,放在与bd放在同一个文件夹下。modelsim在这个目录查找mif文件或hex。modelsim与quartus联合仿真ROM没有数据被读出,很是纳闷。mif文件在quartus中可以直接另存为hex文件转换方便。

2024-03-23 22:08:08 693

原创 MATLAB图像处理之【直方图均衡】

MATLAB图像处理之【直方图均衡】如果图像的对比度较差(灰度级数相差不大),常用的图像增强方法就是灰度直方图均衡化。matlab中有自带的函数histeq().直接上代码.

2024-03-19 10:53:03 1300

原创 Avalon总线学习

avalon总线可以分为:Avalon clock interfaceAvalon reset interfaceAvalon Memory mapped interfaceAvalon iterrupt interfaceAvalon streaming interfaceAvalon tri-state conduit interfaceAvalon conduit interface这是一个时钟接口,所有的avalon接口都是同步的,都需要有一个时钟,在qsys中,我们每添加一个新的IP核,都需要将它

2024-03-18 20:21:51 2050

原创 生成jic文件,固化代码

1)将下面两个选项选上,选上之后重新generating BSP,然后再重新编译工程。2)烧写完之后点击nios ii–>flash programmer。再通过“ls”命令查看生成的文件,我们要用的是.hex文件。确保quartus中能正常下载sof文件。然后切换到quartus ii软件中。注意:路径需要根据自己的情况调整。选择setings.bsp文件。2、打开脚本命令窗口,输入。1、复制文件到工程目录下。

2024-03-12 13:44:51 1933 1

原创 nios ii开发随笔

原先代码是在sdram跑的,然后改到了在片上ram_oc_xzs中跑,出现问题。2、减少代码的大小(当板子的资源不足时)1、在qsys中修改大小。

2024-02-23 22:09:12 551

原创 AXI4的4K边界

主机每一次写突发或者读突发传输,地址偏移量(或叫地址增加量),不能超过4K,也不能跨域4K。4K=4096。举个例子:数据位宽m_axi_wdata=128bit,突发长度为100。可以计算出突发长度的字节数量:128÷8×100=1600。第一次:突发开始的地址是0,结束地址(最后一个字节的地址)是1599。axi总线规定一个字节对应一个地址。第二次:突发开始的地址是1600,结束地址(最后一个字节的地址)是3199。axi总线规定一个字节对应一个地址。

2024-02-22 14:53:02 2671 1

原创 调试ad5245的总结

2、要往SDA数据线上写三个字节才能调节ad5245的电阻值,第三个字节就是用于调节阻值的(范围FF-00);因为我只写两个字节(器件地址+指令字节)导致AD5245调节出来的数值不正确,后面仔细阅读手册才发现需要写入三个字节。3、IIC总线在空闲状态的时候SCL和SDA一定要拉高,注意如果代码上拉高了,但是用逻辑分析仪抓取的时候没有拉高那可能是上拉电阻的问题,看看有没有接上拉电阻,电阻的阻值对不对。1、SCL和SDA端的要有上拉电阻,且上拉电阻能正常工作;

2024-01-15 17:00:05 909 1

原创 JESD204B协议、仿真

JESD204B是一种针对ADC、DAC设计的传输接口协议。包括协议四层,分别为:物理层、链路层、传输层、应用层。物理层:约束接口规范(SEDES CML),串化,线速率等。链路层:并行数据组帧(添加控制位 约束位),8B/10B编码,链路建立传输层:链路建立后,传输ADC的数据,以半字节为单位。应用层:用户解析ADC数据并使用SERDES:串行器/解串器。它是一种主流的时分多路复用(TDM)、点对点(P2P)的串行通信技术。

2023-12-28 07:13:56 11460 3

原创 【一】FPGA实现SPI协议之SPI协议介绍

【一】FPGA实现SPI协议之SPI协议介绍。

2023-12-19 22:14:49 1237

原创 紫光FPGA学习之常见报错

一、4005: [D:/**/rtl/burstORsingle.v(line number: 47)] Logic for ddr_head_addr_rr does not match a standard flip-flop.注意看第8和第9行,少了一个begin end的,修改后的代码。解决方法:test_bench中添加语句。原因:紫光自带的系统复位模块。

2023-12-18 08:34:00 1768

原创 紫光FPGA DDR3 IP使用和注意事项(axi4协议)

使用的芯片型号时PG2L100H-6FBG676,不同的型号IP核接口和axi的握手协议也不一样(一定要注意),这点要注意,这也给我挖了一个很大的坑,一把心酸一把泪啊。下面代码就是握手的过程。3、读ddr时,ddr的位宽在配置ip时设置为32,axi总线的宽度为256,256 /32=8,所以读ddr时每读一个数据地址就要偏移8,否则从ddr3中读出来的数据是不对的。这段代码是用状态机的方式对ddr循环写地址,只有两个状态,状态1写入地址0x0000111,状态2写入地址0x0000311,对应上面图的。

2023-12-17 22:12:54 2306 8

原创 matlab实现单精度、16进制之间的转换函数

matlab16进制转单精度浮点型:typecast(uint32(hex2dec(‘3f000000’)),‘single’)matlab 单精度转16进制:num2hex(single(1.0))

2023-12-17 22:06:42 1793

原创 vscode编写verilog的插件【对齐、自动生成testbench文件】

vscode编写verilog的插件:插件名称:verilog_testbench,用于自动生成激励文件安装教程:基于VS Code的Testbench文件自动生成方法——基于VS Code的Verilog编写环境搭建SP_哔哩哔哩_bilibili优化的方法:https://blog.youkuaiyun.com/qq_39498701/article/details/84668833遇到的问题:https://blog.youkuaiyun.com/m0_71959044/article/details/133764204操

2023-11-18 17:09:43 5060

原创 再次总结nios II 下载程序到板子上时出现 Downloading RLF Process failed的问题

问题:nios II 下载程序到板子上时出现 Downloading RLF Process failed的问题。

2023-10-03 01:00:00 665

原创 altera FPGA 程序固化命令

1)sof文件转为flash文件的命令:qsys_sdram.sof为sof文件名称,hwimage.flash为生成的flash名称,针对不同的工程只需要更改这两个地方就可以2)elf文件转为flash文件qsys_sdram_rw.elf为elf文件的名称,swimage.flash为要输出的flash文件名字,第一个步骤生成的文件hwimage.flash作为参数输入,辅助这次flash文件的生成;3)flash文件转为hex文件。

2023-10-02 21:30:00 904

原创 xilinx的原语的使用

在学习FPGA实现千兆网时需要GMII转RGMII,这就涉及了原语的使用,特此记录!

2023-10-02 14:45:00 1101

原创 错误:F13 is an invalid placement site

加上错误中仅仅提示了BUFIO_inst的错误,没有提示BUFG_inst的错误,原语BUFG和BUFIO的功能是一样的,为何不能让代码中的rgmii_rxc_bufio=rgmii_rxc_bufg呢,按照这个思路,将BUFIO_inst模块注释掉,定位到了u_gmii_to_rgmii模块,这个模块是gmii转rgmii接口的,根据提示出现的提示是BUFIO_inst端口类型不匹配。在u_gmii_to_rgmii模块中,用到了原语:BUFG和BUFIO;通过上面的操作,就可以顺利绑定F13引脚了。

2023-10-02 10:43:25 3325 1

原创 以太网协议介绍(ARP、UDP、ICMP、IP)

IP:internet protocol(网际协议)IP协议是TCP/IP协议簇中的核心协议之一,也是TCP/IP协议的载体,IP协议规定了数据传输时的基本单元和格式。所有的TCP、UDP以及ICMP数据都是以IP数据报格式传输的。IP数据报格式:IP首部是以4(32bit)个字节为单位,版本:IPv4 or IPv6;IPv4的地址是4个字节,即为0100,IPv6是6个字节,即0110;

2023-10-02 10:21:33 13766

原创 rt_gmii2rgmii_interface

【代码】rt_gmii2rgmii_interface。

2023-09-22 08:39:46 155

原创 【二】SPI IP核的使用

从代码中我们可以看出,使用的是altera公司提供的API访问程序alt_avalon_spi_command()对从机进行读/写。​ 该实验主要是利用SPI IP核驱动SD卡来实现读写实验,在这个实验中我们要了解spi使用方法核学习sd卡的读写操作方法。clk c1输出100MHz,相位偏差为-60。将sd卡拔出,插入读卡器中,打开电脑的WinHex软件,打开sd卡。其他没有展示的ip核配置均采用默认的配置。(3)SPI IP核配置。(4)PIO ip核配置。PLL IP核的配置。

2023-08-07 16:05:41 1982

原创 【一】SPI IP核使用

spi ip的使用,sd卡的操作命令

2023-08-07 16:02:33 1411

原创 已经成功安装了usb-blaster驱动,但是在quartus II中没有找到usb-blaster选项,只有no hardware

问题:已经成功安装了usb-blaster驱动,但是在quartus II中没有找到usb-blaster选项,只有no hardware。4、将复制的文件粘贴在 D:\altera\11.0\quartus\bin64。5、重新连接下载器quartus II就可以识别得到usb-blaster了。2、找到USB-Blaster驱动的安装路径,打开 x64 文件。3、复制 x64 文件夹下的所有文件。

2023-07-27 08:52:44 4806 1

原创 在niso ii中读写EPCS时出现“Can‘t open flash device”

在niso ii中读写EPCS时出现“Can’t open flash device”我每次编译前习惯把这个给打勾,为了缩小代码的大小,结果没想到会导致打不开EPCE。

2023-07-26 10:14:16 277

原创 FPGA工程中eclipse软件常见的错误

eclipse中常见的错误和解决方法

2023-07-22 15:44:35 1151

原创 FPGA中RAM的结构理解

FPGA中RAM的结构理解

2023-07-22 15:38:21 1198

原创 对数组的“reg [7:0] a_tmp[32:0]”理解

在verilog中,对数组**reg [7:0] a_tmp[32:0]**进行操作时,分不清楚先对**[32:0]**进行操作还是先对 **[7:0]**进行操作,为此进行下面的实验。进一步加深对数组的理解。

2023-06-12 09:16:42 643

【三】FPGA双目立体视觉之立体匹配

立体匹配就是在左右视图中找到同一场景点所对应的一对对应点。使用matlab实现了立体匹配,采用的是SGM算法。

2022-07-30

【二】FPGA双目立体视觉之matlab实现双目矫正

这个实现了双目立体视觉矫正,采用matlab编程。

2022-07-29

imu_tools-indigo.tar.gz

Imu工具

2021-04-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除