Vivado综合属性系列之十一 GATED_CLOCK

目录

一、前言

二、GATED_CLOCK     

        2.1 属性说明

        2.2 工程代码

        2.3 综合结果


一、前言

        在工程设计中,时钟信号通常来源于专用的时钟单元,如MMCM和PLL等。但也存在来自逻辑单元的信号作为时钟,这种时钟信号为门控时钟。门控时钟可以降低时钟网络的动态功耗,但同时也因为由组合逻辑生成,容易产生毛刺。针对门控时钟,综合工具有专门的配置项-gated_clock_conversion和属性gated_clock,启用后会将门控时钟进行转换。

二、GATED_CLOCK     

        2.1 属性说明

        门控时钟转换的配置,需先在Vivado中“Tools->Settings->Project Settings->Synthesis”   进行-gated_clock_conversion进行设置,可设置为off,on,auto,配置界面如下图。

off:禁止门控时钟的转换

on:设置为on时并且RTL代码中时钟信号有gated_clock属性时,门控时钟将会进行转换

auto:属于下面两种情况之一将存在门控时钟转换

1、gated_clock属性设置为YES

2、综合工具检测到组合逻辑并且存在有效的时钟约束时,将会由综合工具决定是否转换

        RTL中设置GATED_CLOCK属性 gated_clock可设为yes或no

(* gated_clock="yes"*) input clk;

        2.2 工程代码

           设计为一个触发的时钟信号来自于两个输入信号进行或运算,

module gate_conversion (d,d1,ce,clk,out0  );
input d,ce;
input d1;
(* gated_clock = "true" *)input clk;
assign clk_conversion=clk|d1;
output out0;
reg out0;
always@(posedge clk_conversion)
if(ce)
    out0<=d;
endmodule

        2.3 综合结果

GATED_CLOCK设置为no,未启用门控时钟转换时,FDRE的时钟信号来自LUT2

GATED_CLOCK设置为yes,启用门控时钟转换,clk直接连接到FDRE的C端口,   即信号clk和ce进行了交换          

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值