- 博客(46)
- 收藏
- 关注
原创 vivado综合成功,生成bit时一直卡在 initialiazing design。
解决办法:重启电脑,删除该工程下的imp文件夹(工程->.runs->impl_1),重新打开该工程,重新编译。vivado综合成功,生成bit时一直卡在 initialiazing design。定位原因:vivado 卡住。
2024-09-19 12:44:20 216
原创 vivado error:Combinatorial Loop Alert:1 LUT cells form a combinatorial loop
在三段式状态机中,组合逻辑代码if else 语句未写全只写了if…,没有写else,导致错误。在组合逻辑中,一定要写全所有条件分支语句。
2024-09-06 20:39:38 364
原创 Problem running tcl command ::sw_intc_v3_3::generate : can‘t read “source_name(2)“
在使用SDK的时候报错:Problem running tcl command ::sw_intc_v3_3::generate : can’t read “source_name(2)”:…我们发现vivado工程中,concat 的一个输入管脚悬空了,导致SDK工程报错。删掉多余悬空的输入管脚。
2024-06-17 19:27:17 216
原创 Failed to update the BRAM INIT strings for XXX
解决方法:选择src -> lscript.ld,将memory region 选择为microblaze_local_memory_lmb_bram_if…vivado SDK 使用时遇到问题:Failed to update the BRAM INIT strings for XXX。
2024-06-13 21:39:43 486
原创 SDK version 2018.3 doesnt match hw_server version 2015.2
下载程序的时候遇到问题:SDK version 2018.3 doesnt match hw_server version 2015.2。解决方案:打开任务管理器,结束hw_server任务。
2024-06-13 21:20:06 207
原创 Microsemi LIBERO: Instantiation of ‘xxx‘ failed.
原因:我的设计代码使用了VHDL语言,仿真文件使用的是verilog语言,libero自带modelsim软件不支持混合仿真。也就是设计代码和仿真代码使用的需要是同一种语言,不然软件会报错。使用libero进行FPGA开发时,遇到了Instantiation of ‘xxx’ failed.问题。
2024-05-22 21:49:06 143
原创 TLV5638芯片AB两个通道没有同时输出
在D0在SCLK下降沿被采样后,还需要一个SCLK的上升沿以更新输出,通过仿真发现,SPI波形最后少了一个SCLK上升沿。因此只有前一个被写的通道数据有更新,另一个通道的数据未更新。在调试TLV5638芯片时,参考手册例子配置芯片,手册如下图所示,AB两通道不能同时更新,只有一个通道更新。第二个步骤和第三个步骤都写两遍。
2024-05-22 21:43:13 405
原创 电脑直接断电,导致下次launch的时候VIVADO SDK闪退
电脑直接断电,导致launch的时候VIVADO SDK闪退。launch SDK工程,点击import project。解决办法:删除.SDK下面的.metadata,选择.SDK路径,即可正常打开。
2024-03-14 19:17:59 497
原创 DDR ECC的使用
寄存器中设置的位会切换相应的数据位(字1或位[63:32])的后续写入内存的数据,而不影响写入的ECC位。寄存器中设置的位会切换相应的数据位(字3或位[127:96])的后续写入内存的数据,而不影响写入的ECC位。寄存器中设置的位会切换相应的数据位(字2或位[95:64])的后续数据写入内存,而不影响写入的ECC位。这个寄存器存储了第一次发生不可纠正错误的访问的(未纠正的)失败数据(位[63:32])。当ECC状态寄存器中的CE_STATUS位被清除时,这个寄存器重新启用,以存储下一个可纠正错误的ECC。
2024-03-07 17:29:06 1489
原创 launch SDK 时遇到错误:an exported file for this module is not found this location.
an exported file for this module is not found thsi location.
2024-03-01 16:17:47 1012
原创 jupyter notebook打开其他盘的文件
jupyter notebook打开其他盘文件打开jupyter notebook打开terminal输入:jupyter-notebook 路径打开你想打开的工程的文件打开jupyter notebook打开terminal输入:jupyter-notebook 路径打开你想打开的工程的文件
2023-12-26 14:30:13 1109
原创 VHDL or_reduce
VHDL的or_reduce是一种缩位运算符即"reduction operator"。把一个vector合并成一位,一个std_logic_vector名为example的变量,or_reduce完成examlle[0] or example[1] or …or example[N]功能。值得注意的是,使用or_reduce要包含头文件std_logic_misc。
2023-10-30 16:15:00 386
原创 VHDL if ( x =(x‘range => ‘0‘))
VHDL中遇到VHDL if ( x =(x’range => ‘0’))这种语法,之前也遇到过,当时弄明白了,现在过了一段时间又忘记了,好记性不如烂笔头,还是要及时做笔记哟。这句话的意思是如果x只包含0,那么此条件为true,就可以执行if后面的操作了。这是一种不依赖于x大小的写法。
2023-10-30 14:03:45 367
原创 OPNET <<< Program Abort >>> Standard function stack imbalance
出现此问题是因为FIN 和FOUT/FRET未配对。查看代码发现没写FOUT。写上FOUT就好了。
2023-10-29 23:52:30 199
原创 VScode Invoke-Expression: 无法将参数绑定到参数“Command”,因为该参数为空字符串
打开vscode时发生错误:Invoke-Expression : 无法将参数绑定到参数“Command”,因为该参数为空字符串。
2023-10-13 14:10:16 1616 3
原创 place30-640:the design requires more BUFG cells than are available in the target
作者将IP核封装成网表之后,工程实现的时候显示BUFG资源不够,但是,在未将IP核封装网表的时候资源是足够的。于是查看了在封装网表前后的资源报告发现,有一个IP核在不封装网表时,不需要BUFG资源,封装网表后,反而需要3个BUF资源,这导致整个工程的BUFG资源不够(我的工程本来资源就很紧张),于是我在该IP综合设置中,将BUFG的数值设置为0,这样工程在综合该IP核时,就不会使用3个BUFG。
2023-09-06 10:29:33 1670
原创 Vivado modelsim 联合仿真,修改代码后modelsim不关闭直接重新仿真
3.在Transcript中,输入do {tb_xxx_compile.do},回车。Modelsim打开仿真后修改代码再次仿真,不关闭Modelsim直接重新仿真。5. 最后输入run –all。4. 接着输入restart。
2023-08-15 17:09:56 1936
原创 VIVADO ERROR:[Opt 31-30] Blackbox xxx is driving pin D of primitive cell xxx.
vivado综合通过,实现报错: ERROR: [Opt 31-30] Blackbox xxx is driving pin D of primitive cell xxx. This blackbox cannot be found in the existing library.
2023-07-03 16:52:56 788
原创 8B/10B编码
8b/10b编码是将8位符号映射到10位符号,以实现直流平衡,同时提供足够多的状态来实现时钟恢复。这意味着在一个至少20位的字符串中,1和0的计数之差不超过2,并且在一排中不超过5个1或0。
2023-06-07 21:57:14 2336
原创 vivado FIFO的Standard 和 FWFT模式
最初,FIFO不为空,下一个可用数据字放置在输出总线(dout)上,并且VALID有效。一旦第一个单词出现在dout上,empty被取消,表示FIFO中有一个或多个可读单词,并且VALID有效,表示dout上存在有效单词。对于标准 FIFO 读取操作,在断言读有效后,如果 FIFO 非空,存储在FIFO中的下一个数据被驱动到输出总线(dout)上和VALID标志有效。当执行写操作时,FIFO取消empty,允许您恢复有效的读操作,这由VALID的有效和underflow的取消表示。
2023-06-02 15:36:49 2693
原创 VIVADO # ** Error: A begin/end block was found with an empty body.
Error:…/…/gtwizard_0_ex.srcs/sources_1/imports/example_design/gtwizard_0_exdes.v(425): A begin/end block was found with an empty body. This is permitted in SystemVerilog, but not permitted in Verilog. Please look for any stray semicolons.代码中多了一个“;”,删除多余的“
2023-05-26 10:21:54 588
原创 2018.3版本vivado MIG 7 series IP核导致Vivado闪退
2018.3版本vivado MIG 7 series IP核导致Vivado闪退
2023-03-01 14:31:01 1534 1
原创 no valid objects found for set_false_path constraint with option
no valid objects found for set_false_path constraint with option
2023-02-08 20:19:06 950
原创 vivado package :bus interface rstn does not contain any port map
bus interface rstn does not contain any port map
2023-02-08 12:50:59 612
原创 vivado CRITICAL WARNING: [BD 41-1660]
CRITICAL WARNING: [BD 41-1660] Reset pin /xx/RESETN (associated clock /xx/CLK) is connected to asynchronous reset source /RESETN. This may prevent design from meeting timing.
2022-12-13 21:21:23 1114
原创 vivado error:Multiple declarations of unsigned included via multiple use clauses
vivado 综合报错问题及解决办法
2022-07-14 09:41:54 695
原创 modelsim error:iteration limit reached at time xxx ns.
modelsim error:iteration limit reached at time xxx ns.
2022-07-11 17:15:13 2757
原创 Datamover使用小结
Datamover ,它是一个好使的数据搬运工。尤其是往DDR里搬数的时候,它特别好用。只需要告诉它写数的起始地址和要写入的数据量,其他的不需要我们太操心。这是它的状态字的格式。各个比特代表的信息如下图所示:从上图可知,当状态信号的值为80(16进制)时,代表datamover数据搬运成功啦。下图表现的就是数据搬运成功。在给datamover传数之前会告诉datamover发指令,在指令中会带有将要写入的数据量的大小,然后传数,如果实际传数的数据的大小和指令中所告诉的数据量的大小不匹配的话,状态
2022-02-14 17:18:22 2290
原创 [Opt 31-2] SRL16E ila_4/inst/ila_core_inst/shifted_data_in_reg[7][128]_srl8 is missing a connection
#Vivado报错:问题描述:[Opt 31-2] SRL16E ila_4/inst/ila_core_inst/shifted_data_in_reg[7][128]_srl8 is missing a connection on D pin.解决方法:简单粗暴,打开Constraints里的debug.xdc,把其中的内容删除,然后重新打开Synrhesized Design,重新添加需要debug的信号。...
2022-01-26 18:43:13 1232
原创 bus interface property ID_WIDTH does not match between /mig_7series_0/S_AXI and axi_interconnect_7
[BD 41-237] Bus Interface property ID_WIDTH does not matchvivado 2015.2 中, AXI interconnect M_AXI 和mig_7series S_AXI 的 ID_WIDTH 不匹配。解决办法:将AXI interconnect 中的optimization Strategy设置为Minimize Area。
2022-01-19 16:53:19 2137 1
原创 毛刺的产生与消除
组合逻辑代码会产生毛刺,什么样的组合逻辑会产生毛刺呢?比如下面的代码为了更直观一些,给出了上述代码的波形图如何消除毛刺?用时序逻辑写上述代码。
2022-01-19 09:22:36 764
原创 datamover写数据时的时序问题
众所周知,使用datamover时,要先写命令,然后写数据。这里有一个时序问题需要注意,写命令结束之后要等待充足的时间,才能开始操作写数据。如果写命令和写数据这两个操作之间的时间间隔太短的话,datamover接收4个时钟周期的数据之后,它的tready将会自动拉低。...
2022-01-18 17:45:50 733
原创 Vivado Error: (vlog-7) Failed to open design unit file “......“
Error: (vlog-7) Failed to open design unit file … 问题现象vivado无法调用modelsim仿真工具,提示错误:Error: (vlog-7) Failed to open design unit file “…”原因文件路径名称过长解决办法1.将工程移动到根文件夹。2.将工程中无法打开的文件所在的路径变短,例如:无法打开的是某个IP核下的文件,则把IP核的名字改短。...
2022-01-17 14:40:53 5111 5
原创 Vivado封装IP时信号分组的方法
1.选中相应的信号,右键选择Auto Infer Interface2.选择信号类型,信号是AXI4-Stream,因此选择AXI4-Stream Interface,然后选择OK。VIVADO已经自动帮你把信号映射好了,一路点OK即可。
2022-01-13 12:37:16 972
原创 QuestaSim证书LICENSE.TXT无法生成解决方法
我的系统:Win10 64位。安装路径不要有中文。步骤:1.复制’patch_dll.bat’ 和’MentorKG.exe’和’license.dat’到安装目录里的win64文件夹,本人安装在C:\questasim64_10.6c,所以复制到文件夹C:\questasim64_10.6c\win64。2.运行 patch_dll.bat,产生LICENSE.TXT,保存到安装目录里的win64文件夹,(本人是C:\questasim64_10.6c\win64)。有时license.txt无
2022-01-05 12:28:50 3090
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人