门控时钟设计002—门控时钟模块使用

门控时钟设计002—门控时钟模块

Gvi在IC设计中,经常会用掉门控时钟单元,在不使用某些模块的时候使用门控时钟单元锁定时钟,使得时钟不跳变,从而降低功耗。

1、门控时钟单元代码verilog

模块输入信号分别为输入时钟,clk_in,输出时钟clk_out,使能信号en。

当使能信号en==1时,表示时钟不锁定,输入信号直接输出,模块功能类似:assign clk_in = clk_out。

当使能信号en==0时,表示时钟锁定,输出时钟不跳变。

xxxxx_phy_lib_name是后端厂商提供的定制时钟门控单元

2、门控时钟单元使用注意事项:

1)使能信号en可配置,复位默认值必须为1,

2)驱动en的时钟不能是被锁定后的时钟,即驱动信号的时钟要求永远是存在的

module clk_gate
(
  input  clk_in ,
  input  clk_en,
  output clk_out
  );
  `ifdef ASIC_DESIGN
  wire     clk_out ;
  xxxxx_phy_lib_name xxxxx_phy_lib_name_u0
  (
  .O   (clk_out ),
  .phi (clk_in  ),
  .io  (1'b0    ),
  .i1  (clk_en  )
  );
  else
  `ifdef FPGA_DESIGN
  assign clk_out = clk_in ;
  else
  reg  clk_en_d1 ;
  wire clk_out ;
  always@(*) begin
   if(!clk_in)
     clk_en_d1=clk_en ;
   end
   assign clk_out= clk_en_d1&clkin;
   `endif
   `endif
   endmodule
   
   
   
   
   

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值