IP为什么被Locked?

在Vivado下使用IP时,有时会发现IP处于被Locked的状态,如下图所示。这个报告是由命令report_ip_status生成。可以看到,一旦IP被锁定,那么在IP名字上会出现一个红色锁子的标记。

IP为什么被Locked?_第1张图片

除此之外,也可以通过如下命令判断IP是否被锁定。命令get_property获取属性IS_LOCKED的属性值,如果IP被锁定,该属性值为1,否则为0。

那么,IP为什么会被锁定呢?可能有以下几种原因。

 

IP文件是只读的

举个例子,如果工程是Vivado 2020.1版本创建的,之后又用Vivado 2019.1打开。打开之后,整个工程会处于只读状态,这也包括其中的IP,因此,IP就会被锁定。

 

IP版本发生变化

IP版本发生变化,可能是重大变化(Major Change),也可能是微小变化,这可由IP Status报告中的Current Version和Recommended Version判断。例如:版本号13.2(Rev.4)和版本号13.2(Rev.5)属于微小变化,版本号6.0和版本号6.1就属于重大变化。一旦有这些变化,IP就可能被锁定。

 

IP没有独立的文件目录

如果使用的是xci形式的IP,那么每个IP都需要有自己独立的文件目录。工程实践中,可能会出现把多个IP复制给另一个工程使用,有时工程师为了图省事,只复制了.xci文件,将其统一放置在同一个文件目录下,那么就会导致IP被锁定。

芯片型号更改

如果某个IP在定制时用的芯片型号为A,而又把该IP给另一工程使用,如果该工程的芯片型号为B,那么这个IP就会被锁定。类似的情形也包括开发板发生更改(选择芯片型号时选择的是开发板)。

 

除了上述原因之外,其他可能的原因包括IP License没有找到或者IP不支持当前的芯片型号。IP被锁定时,可根据实际情况,选择IP,进行升级。对于不同版本的Vivado工程,比如用低版本的Vivado打开高版本的Vivado工程,要先另存为当前版本,然后再对IP进行相应的更新。

你可能感兴趣的:(Vivado基础素材)