KEEP_HIERARCHY的用法

KEEP_HIERARCHY是一种对综合和实现过程的约束。

 一般而言,一个HDL设计的顶层包含好几个底层子模块。XST在综合过程中为了得到更好的结果,一般打平设计的层次。但是也可以在综合的过程中通过添加KEEP_HIERARCHY约束来使综合的过程保持设计的层次。

添加KEEP_HIERARCHY约束后,综合和实现的结果表现的以下2方面:

在实现的过程中保持设计层次。

生成仿真需要的保持设计层次的网表。

 

例子:以上图为例,如果对整个模块或I2添加约束:

       1  在最后的生成网表中,I2模块的层次被保持下来。

       2  I2模块中的I4 I5模块的层次被打平。

       3  I1 I3 I6、 I7的层次也被打平。

 

KEEP_HIERARCHY支持XILINX所有的FPGA CPLD器件,对FPGA默认的约束是FALSE,对CPLD默认的约束是TURE

KEEP_HIERARCHY用法:

KEEP_HIERARCHY的约束值可以设置成FALSETURE

添加约束分2中情况:

在模块里面的verilog代码里面添加只需将约束添加

      在需要保持层次的模块或实例的前面即可。

      例如:(* KEEP_HIERARCHY  = “{TURE|FALSE}” *

UCFNCF里面添加

      INST “instance_name”  KEEP_HIERARCHY = { TURE|FALSE };

posted @ 2014-01-06 16:01  Jeason001  阅读(6315)  评论(0编辑  收藏  举报