自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

随喜读书会的博客

嵌入式软件

  • 博客(38)
  • 收藏
  • 关注

原创 QUARTUS II修改IP核代码步骤

直接在QUARTUS编译器中修改ip核的代码,编译后会出现代码重置到修改前状态的情况。可以使用如下步骤:一,到文件中修改代码,而后保存;比如要修改i2c_slavetop这个IP核,想把下图红框中位宽修改为8bit,则先修改后保存;二、在Qsys中找到IP核,右键选择edit,在弹出的窗口中选中IP核并点击Analyze Sythesis Files,如下图所示三、点击Generate再重启Qsys,可以看到IP核中对应的地址位宽被改为8bit四、备注调用IP核时可以..

2021-09-08 10:05:41 2290

原创 BSP调试之解串芯片lock信号输出不为高

车载摄像头往往先将DVP信号通过串行芯片编码,经过同轴线传输,再通过解串芯片解码为DVP或者mipi接口到中控处理单元。 调试时,一般首先检查解串芯片的lock管脚输出是否为高电平,假如不是稳定的高电平,则需要排查电路异常。 如何排查呢?一般先检查电源干扰,把同轴线的供电断开。例如max96705/max96706芯片对,发现706的lock信号为低电平,于是先在96705端将同轴线供电断开,如图所示卸掉L1,再飞线供电给后端Main_Power的位置。 如上操作后,...

2021-08-13 17:04:12 1077

原创 quartus 18.1生成jic文件方法之二

step 1:生成镜像文件编译quartus工程得到sof文件,build nios工程得到elf文件;step 2:利用镜像文件生成hex文件原理为,将sof文件转为hw.flash文件,将elf文件转为sw.flash文件;将sw.flash文件粘贴到hw.flash后,合成一个hw_sw.flash文件;将hw_sw.flash文件转换为hw_sw.hex文件;辅以小工具的操作方法为, 打开工具,点击“文件”,分别选择sof和elf文件,然后点击“开始转换”;此...

2021-07-20 16:32:17 862

原创 Quartus 18.1生成*.jic文件的方法之一

*.jic文件是quartus工程的比特流文件,用以烧写到FPGA的flash中。其生成的步骤如下:step1:将nios程序生成hex文件:右键SW工程,选择“Make_targets”后的“Build...”,在弹出的窗口中选择“mem_init_generate”此时在nios工程目录下的mem_init文件夹中会生成hex文件step 2:利用quartus编译器生成jic文件:在quartus编译器中选择“File”下的“Convert Programming Fil.

2021-07-20 15:50:56 1969 3

原创 No Nios II target connection paths were located. Check connections and that a Nios II .sof is

1. phenomenon: Try to download firmware to flash by Flash Programmer in Nios II, add .sof and .elf file and start . It cannot work when next timepowered on. .sof file can be downloaded by quartus programmer, but the target connection in nios ca...

2021-07-17 11:56:40 1591

原创 Libero的奇葩报错之The width and depth settings are invalid

一、 Libero版本11.8,报错如图:从图中可以看到,位宽与深度的设置并无问题,此报错内容纯属编译器bug。二、 原因:那么编译器为什么会报错呢?其实是因为工程有其他的异常,本示例中的异常如下图:可用的cluster个数为2308,工程需要用到的个数为2320,因此编译器无法布局布线。在这个前提下,再去修改或者新建FIFO,编译器就会报错。就好比有一件事让对象不开心你不哄好,再做其他对的事情也会被找茬。三、应对:查找工程中是否有无效的模块并将之删除。或者更换资源更大.

2021-04-21 09:33:45 406

原创 How to set a virtual I2C address for camera serialized by MAX96705

If we want to change the I2C address of MAX96705 by software, what we need to do is just writing a new address in register 0x00 of MAX96705(not 0x00 register of MAX96706).Then what if we need to change the I2Caddress of camera linked with MAX96705?T.

2021-04-02 12:22:11 280

原创 基于microsemi的时域约束

当机芯在低温下输出图像异常,且判断原因为FPGA布局布线局限性时,区域约束并不总是奏效,因此考虑时序约束。双击“timing constraints”,在新窗口中发现有警告项目,双击它,则右边显示出所有风险项目。逐个添加约束。注意这些时钟的参考时钟也需要被约束,约束成功之后如下:通过区域约束可以使得模块尽可能与管脚靠近,时域约束可以是时钟尽可能准确。但实际效果并不总是如意。...

2021-03-24 10:59:07 220

原创 win10关闭系统自动更新

部分电脑win10系统自动更新时会遇到问题:这个问题本身不会影响电脑使用,但会给强迫症造成巨大的困扰。可以考虑关闭系统自动更新:step 1:win + R,调出运行窗口,然后输入 services.msc ,点击“确定”step 2:在弹出的服务窗口中找到 “Windows update” 字样的内容,双击step 3:在弹出的窗口中的“常规”标签页下将“启动类型”更改为“手动”或者“禁用”,然后点击“应用”step 4:在“恢复”标签页下面将失败后的操

2021-03-01 18:53:08 112

原创 Net GND_tri (in view: work.flash(verilog)) has multiple drivers

问题:使用Libero时,每个模块单独检查语法结果都是successful,但是综合过程总是报错:Net GND_tri (in view: work.flash(verilog)) has multiple drivers。原因:关键词是multiple drivers。同一个变量,在不同的always 或者assign中被赋值,造成冲突。这在Verilog语言中是不被允许的。尤其是在复制一段代码之后,漏掉要修改的变量名,很容易导致这个问题。解决方法:检查代码,将重复赋值的变量都修正即

2020-11-12 09:32:17 2256

原创 Port ‘*‘ not found in the connected module(9th connection)

问题:在进行modelsim仿真某单个文件时,出现报错:从图像来看,原因是寻址的路径不对。testbench中实例化的对象模块在E盘中,但寻址路径却在F盘。如果跳过报错仿真,会发现实例化的对象模块中的参数,与目标模块的参数不同。解决办法:第一步:关闭工程;第二步:在工程目录中,删除simulation和stimulus两个文件夹;第三部:重新打开工程,新建testbench并仿真;...

2020-11-05 16:31:29 2880

原创 GoWin无法选择烧写程序:*.fs Invalid。

新建一个高云的FPGA工程,烧写程序时出现以下报错:原因:在新建工程时选择的器件与实际使用器件不一致。解决方法:单纯修改器件并不能解决问题,在调用的IP核(比如PLL)中也有器件信息,需要全部修改。...

2020-09-23 19:21:42 750

原创 eclipse 打开工程为空

问题:使用eclipse选择工程路径并打开,结果内容为空:原因:工程的 .metadata不完整处理方式:先打开eclipse,再导入该工程即可:

2020-06-17 19:48:30 1573 1

原创 modelsim : module is not defined

问题:在使用modelsim对基于GW FPGA项目的仿真时,报错:module is not defined。提到的模块往往是调用的IP核中定义的模块。原因:未添加prim_sim库。解决:将preim_sim.v文件添加到仿真工程中,并编译,再仿真即可。...

2020-06-17 19:44:16 7006

原创 GoWin使用Gao仿真无法抓取IO口信号

原因:IO口信号不是register,GW的芯片暂不支持在使用GAO仿真的时候抓取到IO口信号。应对方法:综合右键 》布局布线 》 not place register to IOB 后面的值改为true。仿真之后需要将其值改回为false。...

2020-06-17 19:38:20 428

原创 can not be placed according to constraint,because the constraint location is a dedicated pin

waring/error:INS_OBUF can't be placed according to constraint,because the constraint location is a dedicated pin.why it happens:use mspi pin as gpio pin, other configuration is needed.how to deal with it:

2020-06-17 19:36:01 1240

原创 notes for IS66WVC4M16EALL-7010BLI

存储器型号: IS66WVC4M16EALL-7010BLIBCR寄存器 输入时钟频率不同,需要设置不同的BCR寄存器的值:逻辑代码思路1. 用计数器将地址分段,比如每个通道占据两段或者三段,合起来为一行数据;2. 用fifo将输入信号转变为适配计数器频率的信号。当计数器到相应通道起始位置前时,如果是写通道将对应的读使能置1,如果是读通道将对...

2020-06-10 15:45:19 199

原创 ModelSim: Module is not defined

问题:在使用modelsim仿真的时候,编译相关文件,再仿真tb文件时报错。报错一般发生在调用了IP核的情况下,如下图所示:原因:未添加仿真库文件,即下图中的prim_sim.v文件解决方法:在project窗口,右键 添加 “存在的文件”,找到prim_sim.v文件,并编译。之后再仿真即可。...

2020-06-10 15:44:08 6920 3

原创 Port could not connect other instance except via a buf which should connect PAD.

背景:GW FPGA,想测试某信号,但该信号管脚不便飞线,且该信号不能被约束到其他管脚。因此考虑将该信号赋值给其他信号,通过其他信号的管脚飞线来测试信号。但报错:Port'I2C_SDA'couldnotconnectotherinstanceexceptviaabufwhichshouldconnectPAD.原因:目标信号为调用IP核的输出信号,该信号实例化时已经经过了buffer,直接到了PAD,因此无法将该信号赋值给其他变量;解决办法:暂未找到,...

2020-05-18 14:49:51 533 6

原创 attempting to use alternate WLF file

问题:modelsim运行*.do文件时出现警告,不能打开vsim.wlf文件,或者说vsim.wlf文件被占用,使用替代文件:原因:vsim.wlf文件被其他进程占用解决:删除vsim.wlf文件,重新编译生成vsim.wlf文件。更多细节,可扫码交流...

2020-05-11 15:03:02 218

原创 failed to find 'GSR' in hierarchical name '/GSR/GSR0'.

问题:modelsim 仿真时,报错failed to find 'GSR' in hierarchical name '/GSR/GSR0'.如下图:原因:对于GW的工程,需要在仿真文件中加入一行语句:GSR GSR(.GSRI(1'b1));如下图:有了此句之后,再运行 *.do文件,即可出仿真波形。更多细节,可扫码交流:...

2020-05-09 18:13:27 2664 1

原创 Missing instance name in instantiation of '*'.

modelsim仿真时报错,如下:原因:对着提示进入tb.v文件查看,发现语法错误:对策:添加上图中红色框的内容,即可。至于为何报错在line 96,实际修改的地方在line 69呢?因为这个模块调用,在line 96结束,该模块内的错误,都会在line 96有报错。更多详情,可扫码交流:...

2020-05-09 18:04:10 3953

原创 GoWin的ModelSim仿真

一、安装独立的modelsim 之前用MicroSemi中的modelsim,理论上可行,但未能实现。在新的路径下单独安装modelsim,操作可以大大简化。二、编写testbench MicroSemi中可以指定文件编写testbench,平台会初始化testbench的框架。GoWin的平台需要新建一个*.v文件作为testbench。具体操作为...

2020-05-06 19:52:40 3321 2

原创 leedcode两数相加C语言

题目描述给出两个非空的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0开头。例:输入[2,4,5] [1,6,2] 输出[3,0,8],即542+261=803 。输入[5] [5]输出[0,1...

2020-03-04 20:39:33 101

原创 MATLAB:错误使用 fread,文件标识符无效。使用fopen生成有效的文件标识符。

MATLAB报错现象:原因:虽然报错是在第七行,但原因是第六行 fopen函数中,路径或者文件名称不对。方法:此案例中原因是未给出文件后缀,加上后再运行,命令行窗口不再报错。...

2019-12-18 10:02:20 37549

原创 port name doesn't exist in the netlist or is not connected to an IoCell macro at PDC Line

问题描述:在io.pdc文件中约束了这些管脚,并且引入到模块中,管脚名称都能用上,但编译时Libero报错。原因分析:输入的信号,如果最终未能生成有效数据输出,或者未参与生成有效数据,那么该信号在综合时会被编译器自动优化(删除),因此编译时报错。尤其是输入的时钟信号,仅仅作为fifo的写时钟,也会导致该错误发生,需要将其直接或者间接输出;解决方法:检查逻辑代码,...

2019-12-07 09:59:23 1698 1

原创 the logic for * does not match the standard of flip-flop

问题描述:Libero综合时报错,如下原因分析:尽管报错提到的是row_cnt这个变量,但原因在于另一个变量 rst_n :在该always块中,设置了rst_n信号的下降沿触发,但并没有用到该信号。原本用在“counts_rst”的位置,调试过程中被“counts_rst”替换掉。解决方法:既然没有用到rst_n触发,此always块中将“or neg...

2019-12-06 19:50:52 3268

原创 modelsim报错:Modelsim/win32acoem/vlog failed

现象:报错在Libero平台使用modelsim仿真时,对目标文件和仿真文件分别进行“check HDL file”都显示无语法错误,但运行仿真文件时报错: Error:D/Microsemi/Libero_SoC_v11.8/Modelsim/win32acoem/vlog failed.分析:乍一看红色字体似乎没有详细说错误原因,但在其上文中(红色框中)有详细说明:...

2019-12-06 09:54:14 12152 1

原创 ERROR: Could not find a device which is programmed with an instrumented design:

identify debug过程中报错:ERROR: Could not find a device which is programmed with an instrumented design:Device is not instrumented or hardware communication failure解决过程:为了可以使得仿真的深度更深(想要将FPGA memory...

2019-11-30 10:19:03 590

原创 基于Libero的FPGA后仿真步骤

step 1. right click "synthesize", click "open interactively";step 2. after the "synplify pro L" window appeared, right click "synthesis" under "project files" ,click "new identify implementat...

2019-10-12 18:35:47 2683 3

原创 beyond compare试用期结束

安装beyond compare,可以免费使用30天。如果在试用期结束之后清理其注册表,则可以再获得30天期限。循环往复,可无限期。win10下步骤:1. 搜索 → 输入“regedit”,打开注册表编辑器;2. 按照上图中路径找到CacheID,如红色框所示,将其删除,完成。...

2019-09-18 19:58:35 720

原创 CS0246 C# The type or namespace name could not be found

在release模式下生成解决方案时,如下代码行报错:报错内容是 CS0246 C# The type or namespace name could not be found原因:在bin文件夹中,将release文件夹更改了名字,将空文件夹命名为release。生成解决方案时按照路径在release文件夹中找不到 包含Emgu库的 *.dll文件。解决办法:检查relea...

2019-09-09 19:27:39 6871

原创 基于Libero的FPGA区域约束

区域约束的主要目的是关联耦合逻辑,减少后续布线压力,加大资源利用率;约束约束对改善时序的贡献很小,紧的约束(约束面积小)甚至有恶化时序的可能。笔者在microsemi的FPGA芯片项目中,有通过添加区域约束改善时序的实例。microsemi的约束方法如下:1. 在Desigh Flow中双击Edit Constraints下的Chip Planner,打开如下窗口,左侧窗口显示的是项目中的...

2019-08-30 19:44:24 1441

原创 Libero管脚约束后编译报错

1. FPGA,Libero11.8,编写io.pdc文件,之后可以通过synthesize,但是compile失败;2. "error: pdc-13: illegal or invalid assignment to package pin at pdc line";//可能是因为管脚的驱动电平选择出错,见如下代码:set_io dv_clk \ -pi...

2019-08-20 19:22:13 2779

原创 fopen/fread/

fid = fopen('E:\Raw20190807.dat'); % 按照路径打开文件s = fread(fid,'uint16'); %将fid文件以2byte为单位读出为一个列向量;例如一帧640*512的图像文件,s为 %一个327680 * 1 的列向量;s = reshape(s,[640,512]);%将列向量排列为640行5...

2019-08-08 10:29:49 247

原创 C语言中 #pragma pack()

/********************************************************************#pragma pack(show) //显示当前内存对齐的字节数,编辑器默认8字节对齐#pragma pack(n) //设置编辑器按照n个字节对齐,n可以取值1,2,4,8,16#pragma pack(push) ...

2019-07-24 10:09:30 1536

原创 Verilog中的generate语句

generate //generate 语句开始genvar gv_i; // 通过genvar关键字声明一个循环变量 for(gv_i = 0;gv_i < FIL_WIDTH;gv_i = gv_i + 1) //循环条件 begin:databuf // for语句后必须有begin和end,且begin后接一个名字 alway...

2019-07-13 16:04:33 328

原创 vs2017 c#代码生成期间遇到了错误,值不在预期的范围内

vs2017 c#代码生成期间遇到了错误,值不在预期的范围内问题:在visual studio中对控件的属性进行更改之后,再切换到对应的*.cs文件或者保存工程时出现如图所示错误。原因:不详。解决方案:关闭该控件编辑文件,重新打开该文件即可。我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:...

2018-12-13 19:24:29 19132 2

空空如也

空空如也

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

TA关注的人

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