自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(59)
  • 收藏
  • 关注

原创 【APB】APB总线读写功能代码实现

【代码】【APB】APB总线读写功能代码实现。

2025-02-18 21:06:35 87

原创 【Modelsim】warning:(vsim-WLF-5000) WLF file currently in use:vsim.wlf

Modelsim使用过程中遇到warning,如下图所示。把文件路径下所有这些带wlf的文件删除即可。

2025-02-18 20:45:50 286

原创 【verilog】函数clogb2的解读

rt = rt + 1):这是一个循环,它不断将 tmp 右移 1 位,直到 tmp 为 0。这个函数的意思是:这段代码实现了一个函数 clogb2,用于计算输入 value 的对数(以 2 为底的对数,通常用于计算值的二进制位宽)。rt = 0, tmp = 7,tmp 右移 1 位,tmp = 3,rt 加 1。rt = 1, tmp = 3,tmp 右移 1 位,tmp = 1,rt 加 1。rt = 2, tmp = 1,tmp 右移 1 位,tmp = 0,rt 加 1。

2025-02-14 20:31:09 259

原创 【Libero】IO问题:port name doesn‘t exist in the netlist

【Libero】IO问题:port name doesn’t exist in the netlist or is not connected to an IoCell macro at PDC Line。代码中未使用I2C_2_SDA-I2C_7_SDA,工程将这几个信号优化删除了,因此在IO_EDITOR界面没有这些管脚。导致布局布线的时候出错。查看代码是否写错,未使用这些被优化的信号。修改代码后即可出现这些管脚。

2025-02-14 16:31:31 178

原创 【Modelsim】medelsim查看仿真覆盖率的方法

如上图所示进行配置,在调用modelsim的时候就可以显示仿真覆盖率,如下图所示就是modesim的仿真覆盖率。最近做项目的时候需要对代码进行仿真覆盖率的分析,那么如何添加仿真覆盖率呢?

2025-02-12 17:55:49 296

原创 【verilog】仿真读取dat文件数据作为激励信号的代码

【代码】【verilog】仿真读取dat文件数据作为激励信号的代码。

2025-01-10 13:01:09 255

原创 【vivado】vivado卸载不充分导致无法重新安装

查找C盘下的xilinx design tools,里面有关于vivado2015.4的文件夹,删除所有相关的文件夹,再重新安装。vivado2015.4卸载不充分。

2024-12-29 17:04:11 914

原创 【 Synplify 三模冗余】 Synplify图形界面法实现三模冗余(TMR)

[在这里插入图片描述](https://i-blog.csdnimg.cn/direct/a7767092d7d4452883bbfa88f4407136.png。

2024-12-16 18:58:16 336

原创 【vivado】时序报告--best时序和worst时序

利用vivado进行开发时,生成best时序报告和worst时序报告。

2024-12-06 21:18:40 313 1

原创 【Libero】libero工程查看FPGA资源用量方法和路径

/designer/xxx(工程名)/xxx_compile_netlist_resources.rpt。

2024-11-26 17:54:14 252

原创 【Libero】Microsemi License error:Feature has expired.

链接: https://pan.baidu.com/s/1eUFblwI3VslhVEL1W8-WXg 提取码: dcjh。1、管理员运行ChangeDiskId.exe,将C盘序列码改成0001-e867.通过网盘分享的文件:libero_license.zip。2、将flexlm文件夹拷贝到C盘根目录下。定位原因:License的问题。–来自百度网盘超级会员v2的分享。

2024-11-26 16:56:08 435

原创 xilinx FIFO写入数据和读取数据不一致问题

在使用xilinx 的官方IP-FIFO进行FPGA开发时,仿真发现FIFO写入和读取数据一致未出现问题。在烧写程序实测时,发现FIFO写入和读取数据不一致,有中间的单个bit发生错误。定位原因:FIFO的读写时钟是异步的,且时钟与信号不是同步的,或者读写时钟接反,导致写入数据和读取数据不一致,出现几bit错误额现象。

2024-11-25 22:58:17 344

原创 vivado+modelsim: xxx is not a function name

在写verilog modelsim仿真时,遇到error:xxx is not a function name。该变量xxx在仿真文件里,如下图红框所示,例化时,变量前面没有加点。

2024-11-11 18:23:14 323

原创 vivado综合成功,生成bit时一直卡在 initialiazing design。

解决办法:重启电脑,删除该工程下的imp文件夹(工程->.runs->impl_1),重新打开该工程,重新编译。vivado综合成功,生成bit时一直卡在 initialiazing design。定位原因:vivado 卡住。

2024-09-19 12:44:20 636

原创 vivado error:Combinatorial Loop Alert:1 LUT cells form a combinatorial loop

在三段式状态机中,组合逻辑代码if else 语句未写全只写了if…,没有写else,导致错误。在组合逻辑中,一定要写全所有条件分支语句。

2024-09-06 20:39:38 585 2

原创 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 279

原创 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 655

原创 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 336 1

原创 Microsemi LIBERO: Instantiation of ‘xxx‘ failed.

原因:我的设计代码使用了VHDL语言,仿真文件使用的是verilog语言,libero自带modelsim软件不支持混合仿真。也就是设计代码和仿真代码使用的需要是同一种语言,不然软件会报错。使用libero进行FPGA开发时,遇到了Instantiation of ‘xxx’ failed.问题。

2024-05-22 21:49:06 210

原创 TLV5638芯片AB两个通道没有同时输出

在D0在SCLK下降沿被采样后,还需要一个SCLK的上升沿以更新输出,通过仿真发现,SPI波形最后少了一个SCLK上升沿。因此只有前一个被写的通道数据有更新,另一个通道的数据未更新。在调试TLV5638芯片时,参考手册例子配置芯片,手册如下图所示,AB两通道不能同时更新,只有一个通道更新。第二个步骤和第三个步骤都写两遍。

2024-05-22 21:43:13 519

原创 电脑直接断电,导致下次launch的时候VIVADO SDK闪退

电脑直接断电,导致launch的时候VIVADO SDK闪退。launch SDK工程,点击import project。解决办法:删除.SDK下面的.metadata,选择.SDK路径,即可正常打开。

2024-03-14 19:17:59 560

原创 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 1995 1

原创 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 1406

原创 jupyter notebook打开其他盘的文件

jupyter notebook打开其他盘文件打开jupyter notebook打开terminal输入:jupyter-notebook 路径打开你想打开的工程的文件打开jupyter notebook打开terminal输入:jupyter-notebook 路径打开你想打开的工程的文件

2023-12-26 14:30:13 1218

原创 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 478

原创 VHDL if ( x =(x‘range => ‘0‘))

VHDL中遇到VHDL if ( x =(x’range => ‘0’))这种语法,之前也遇到过,当时弄明白了,现在过了一段时间又忘记了,好记性不如烂笔头,还是要及时做笔记哟。这句话的意思是如果x只包含0,那么此条件为true,就可以执行if后面的操作了。这是一种不依赖于x大小的写法。

2023-10-30 14:03:45 434

原创 OPNET <<< Program Abort >>> Standard function stack imbalance

出现此问题是因为FIN 和FOUT/FRET未配对。查看代码发现没写FOUT。写上FOUT就好了。

2023-10-29 23:52:30 248

原创 VScode Invoke-Expression: 无法将参数绑定到参数“Command”,因为该参数为空字符串

打开vscode时发生错误:Invoke-Expression : 无法将参数绑定到参数“Command”,因为该参数为空字符串。

2023-10-13 14:10:16 1863 4

原创 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 2070

原创 Vivado modelsim 联合仿真,修改代码后modelsim不关闭直接重新仿真

3.在Transcript中,输入do {tb_xxx_compile.do},回车。Modelsim打开仿真后修改代码再次仿真,不关闭Modelsim直接重新仿真。5. 最后输入run –all。4. 接着输入restart。

2023-08-15 17:09:56 2513

原创 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 930

原创 8B/10B编码

8b/10b编码是将8位符号映射到10位符号,以实现直流平衡,同时提供足够多的状态来实现时钟恢复。这意味着在一个至少20位的字符串中,1和0的计数之差不超过2,并且在一排中不超过5个1或0。

2023-06-07 21:57:14 2663

原创 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 3334

原创 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 766

原创 Verilog中的 +: -:

verilog中的+:和-:语法

2023-05-10 15:12:47 316

原创 2018.3版本vivado MIG 7 series IP核导致Vivado闪退

2018.3版本vivado MIG 7 series IP核导致Vivado闪退

2023-03-01 14:31:01 1804 2

原创 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 1288

原创 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 776

原创 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 1398

原创 Round-Robin算法的verilog实现

Round-Robin调度算法

2022-09-25 20:40:23 2508

空空如也

空空如也

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

TA关注的人

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