- 博客(28)
- 收藏
- 关注
原创 Vivado IP ‘xxx‘ is locked. Locked reason: IP ‘xxx‘ shares a common output directory with other IP
导致这个问题的原因就是xilinx规定所有ip都得有自己单独的文件夹,包括导入的ip,所以需要先把当前冲突的ip都remove,然后把需要导入的多个xci放入不同的文件夹,再重新导入,再report ip status就可以正常upgrade了。在这种情况下,如果需要upgrade,此时就不会出现upgrade选项。
2024-12-19 11:17:48
335
原创 Vivado中Synthesis中XDC约束的添加和时序查看
最近在做一个比较大的项目,Synthesis过程需要2小时左右,综合完想看timing发现忘了在xdc中约束时钟,其实这种情况下不需要重新综合,只需要在xdc文件中,添加你想要的约束,然后将synthsised design关闭后重新打开或者reload一下,即可看到新的约束文件作用下的结果,例如report_timing,都是约束时钟之后的了。这也是Vivado在快速迭代开发特色的一种体现。
2024-12-03 22:25:48
167
原创 Vivado安装双击xsetup没反应解决办法
非常常见的原因是没有获得管理员权限来运行安装程序,可以验证以下是不是:这种最常见情况的解决办法是:
2024-12-03 22:19:38
1276
原创 Vivado Synthesis卡在Start Technology Mapping解决方式
Tcl Console中输入,reset_project,回车,关闭当前Vivado工程GUI界面; Win+R,输入cmd,回车,进入命令行模式; 使用cd切换至vivado安装路径中的bin文件夹,例如cdD:\Xilinx\Vivado\2021.2\bin,回车。如果Xilinx Vivado安装在别的盘,而cmd默认是c:\的用户或管理员,需要先切换盘符,例如如果安装在了D:\Xilinx\Vivado\2021.2\bin,需要先输入D:回车,然后再输入cdD:\Xilinx\Vivad
2024-11-26 08:46:06
305
原创 Modelsim安装失败的一种解决方式
链接: https://pan.baidu.com/s/1_LH8FAH9rcQzpa-h4UuYsA?pwd=pgm3 提取码: pgm3。通过网盘分享的文件:Mentor Graphics ModelSim SE 2020.4 x64.zip。--来自百度网盘超级会员v4的分享。
2024-11-25 17:37:59
346
原创 vivado卡在initializing language server
解决办法:Tools -> Settings -> Tool Settings -> Text Editor -> Syntax Checking,将 Syntax checking 从 Sigasi改为vivado,重启即可。
2024-11-25 08:22:50
217
原创 Xilinx MIG/DDR IP核使用中,无法收到c0_ddr3_s_axi_bvalid信号解决办法。
有时在进行MIG IP核的AXI时序逻辑操作时,无法收到有效的c0_ddr3_s_axi_bvalid信号或者c0_ddr3_s_axi_rvalid信号,有可能是由于AXI的地址位宽定义过小导致的。如果出现这种情况,在MIG核端ADDR信号高位会为未定义状态'X',这将导致该核的仿真错误,如题。
2024-10-14 17:53:43
209
原创 UltraScale/UltraScale+ DDR3 IP - XSIM Fails on Windows - open_bank_file.0 Could Not be Opened.
用2021.2版本xsim对一个包含Mig的工程进行仿真,但是报出了以下错误,无法进行功能仿真:
2024-10-14 09:40:55
201
原创 vivado/vitis hls @E Simulation failed: SIGSEGV.报错解决方式之一(2)
例如,你的实际功能函数顶层接口有一个int *data_output接口,在tb文件中调用该顶层函数进行c simulation时,如果也定义了一个int *data_output_tb,然后在tb的调用语句中作为参数转递进去给int *data_output接口,就会报这个错误。是,在tb中定义一个int data_output_tb,然后传递参数时用&data_output_tb传递给int *data_output接口,这样就不会报以上错误了。
2024-09-28 12:56:21
375
原创 Vivado2021.2仿真时一直卡在Executing analysis and compilation step...的解决办法之一
tb文件中包含了一个未定义的reg类型数据,并未在console中出现任何error或者warning,需要在编写代码中注意。
2024-09-19 17:02:43
554
原创 vivado/vitis hls @E Simulation failed: SIGSEGV.报错解决方式之一(1)
其中很常见的例子就是,对数组的索引值没有初始化,导致该问题的出现。该错误出现可能有多种原因,再次只说明其中一种比较常见的原因就是。
2024-09-11 16:31:40
303
原创 Libero Identify Debug Design中怎么按触发次数抓取信号
用惯了Vivado的hardware debug,相比之下Libero中在线debug抓信号显得不那么顺手。
2024-07-18 16:00:04
408
原创 Xilinx 7Series FPGA IO各阶段状态
就是在VCCO_14/15为1.8V或更低的时候,如果输入管脚为0或悬空,则该管脚会在EOS之后有一个CFGCLK时钟周期的高脉冲,因为此时已经配置完成,所以这个可能会对FPGA内部逻辑产生影响。输入IO的电平取决于VCCO_0,可以是LVCMOS15/18/25/33,配置专用输出IO的电平为VCCO_0,12mA驱动,fast slew rate。的电平要与外部连接的器件一致,由VCCO_14/15来决定,也是LVCMOS,12mA驱动,fast slew rate,内部上下拉状态由PUDC_B决定。
2024-07-17 12:07:46
1562
原创 set_input_delay、set_output_delay
input_delay:max_value是接口端发起沿(launch edge)到有效数据窗口开始时刻的延迟,min_value是接口端发起沿(launch edge)到有效数据窗口结束时刻的延迟output_delay:max_delay是数据有效窗口开始时刻到接口端捕获沿延迟,min_delay是数据有效窗口结束时刻到接口端捕获沿延迟这里的接口端发起沿和接口端捕获沿都是FPGA port约束参考的时钟沿,一般就是输入给FPGA port的或从port输出的时钟。
2024-05-06 17:09:28
2387
1
原创 AXI的burst总结
指定一个地址,命名叫wrap boundary(循环边界),并且已知burst length,也就是有多少个transfer,每个transfer的size是多大,如果transfer的操作对应地址超过了wrap boundary+burst length*size,则下一个transfer所操作的地址循环至wrap boundary。多用于缓存队列的读写操作。burst:axi总线的突发传输,只需要指定一个起始地址,可以连续的传输多个数据,这样大大提高了总线使用效率,ddr中也有类似的操作。
2024-04-23 23:17:25
1941
原创 (FPGA时序约束)set_multicycle_path详解
和set_max_delay/set_min_delay一样属于时序例外的一种。时序例外在之前的文章中讲过,如果不去约束的话,可能会造成时序资源的浪费,不因该分析的分析了,不应该优化的优化了,不应该这么严格去分析的也这么严格的去分析了,跑这样的程序浪费电脑资源,同样也会增加运行时间。时序例外有几种:(1)set_false_path:直接设置不分析(2)set_max_delay/set_min_delay:直接覆盖默认requirement。
2024-04-19 12:59:18
2897
2
原创 (FPGA时序约束)set_max_delay/set_min_delay详解
时序约束中的set_max_delay和set_min_delay的详解
2024-04-12 17:34:24
9106
6
原创 verilog中event类型及使用
以上代码就是等待10个时间单位后,触发事件occur,之后被always块捕获,将b赋值给a。event是触发定义关键字,意思就是定义了一个可以触发事件,就像时钟的上升沿下降沿一样。//定义一个可以触发的事件。//定义了一个可以触发的事件。verilog仿真过程中会用到这样的类型定义。
2023-07-19 17:12:01
1177
2
原创 VIVADO settings中找不到系统字体问题解决方式
对于有些高版本的vivado,没有最后的fonts文件夹,直接新建一个fonts文件夹,将需要的字体ttf文件拷贝进去,重启Vivado即可~
2023-07-14 14:24:16
403
2
原创 异步fifo最小深度计算
再考虑更复杂场景,如果写入数据流在一定周期内不均匀(例如,每100个写时钟周期写80个数,那么就涉及到最恶劣的情况就是,两个100时钟周期的80个数连在一起写入,也就是160个数据100M的写入时钟同时写入fifo),这时引入wr_burst(例中wr_burst =160);写时钟100M,每100个写周期写80个数,读时钟80M,每个时钟周期都往外读数据,求异步fifo的最小深度。fifo深度_min =写入数据量 / 写时钟频率 * (写时钟频率 - 读时钟频率);写入速度 = 写时钟频率;
2023-03-21 11:47:30
630
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人