锁存器LDCE和LDPE的G端口gate如何使用?

1.LDCE\LDPE是什么?

LDCE:异步清零的latch
LDPE:异步置位的latch
都包含G端口。G端口(gate)需要接时钟,可以看到系统自动加上了BUFG。

2.如何用verilog描述LDCE\LDPE?

`timescale 1ns / 100ps
module top(
    input      i_a  ,
    input      i_b  ,
    output reg o_c  ,
    input      i_a1 ,
    input      i_b1 ,
    output reg o_c1 ,  
    input      i_a2 ,
    output reg o_c2     
    );
    always@(*)begin
        if      (i_a)   o_c = 1;
        else if (i_b)   o_c = 0;
        else            o_c = o_c;
    end
    always@(*)begin
        if(i_a1)        o_c1 = 0;
        else if(i_b1)   o_c1 = 1;
        else            o_c1 = o_c1;
    end
    always@(*)begin
        if(i_a2)        o_c2 = 0;
        else            o_c2 = 1;
    end    
endmodule

3.综合后

在这里插入图片描述

4.报错

Register/Latch pins with no clock driven by root clock pin
提示G端口要接时钟。
看情况是要实现组合逻辑还是锁存器。