1. 程式人生 > >BUFHCE 案例淺析

BUFHCE 案例淺析

先給出UG953對BUGHCE的介紹:

BUFHCE

Primitive: HROW Clock Buffer for a Single Clocking Region with Clock Enable

BUFHCE原語允許直接訪問全域性緩衝區(BUFG)資源的時鐘區域入口點。 這允許訪問全域性時鐘網路的未使用部分以用作高速,低偏斜本地(單時鐘區域)佈線資源。 此外,時鐘使能輸入(CE)允許對時鐘使能或門控進行更細粒度的控制,以允許電路或部分設計的功率降低,而不是經常使用。 

Refer to the 7 series FPGA Clocking Resources User Guide for details about using this component.

 

CE: 允許訊號從I傳播到O.當為低電平時,執行輸出到INIT_OUT值的無干擾轉換。

 

Verilog Instantiation Template

// BUFHCE: HROW Clock Buffer for a Single Clocking Region with Clock Enable
// 7 Series
// Xilinx HDL Libraries Guide, version 2017.2
BUFHCE #(
.CE_TYPE("SYNC"), // "SYNC" (glitchless switching) or "ASYNC" (immediate switch)
.INIT_OUT(0) // Initial output value (0-1)
)
BUFHCE_inst (
.O(O), // 1-bit output: Clock output
.CE(CE), // 1-bit input: Active high enable
.I(I) // 1-bit input: Clock input
);
// End of BUFHCE_inst instantiation


以上都是資料手冊UG953對BUFHCE的介紹。

查詢這個Buff的原因是因為今天打開了Vivado2014,查看了裡面的例子專案:wave_gen,在時鐘產生的RTL程式碼中出現了這個原語而不知道什麼作用,從資料手冊上的說法可以看出,這裡不就是為了讓輸入時鐘上樹,上全域性時鐘樹的作用嘛。我說的對不對呢?如果不對,歡迎提出,我表示感謝。

  BUFHCE #(
   .INIT_OUT(0)  // Initial output value
  )
  BUFHCE_clk_samp_i0
  (
     .O        (clk_samp),   // 1-bit The output of the BUFH
     .CE       (en_clk_samp),// 1-bit Enables propagation of signal from I to O
     .I        (clk_tx)      // 1-bit The input to the BUFH
  ); // BUFHCE

關於全域性時鐘樹,見博文:https://blog.csdn.net/Reborn_Lee/article/details/84564542

當然可以通過BUFG來上樹了,但是呢?這個BUFH有什麼不同之處呢?

上面也描述了:這允許訪問全域性時鐘網路的未使用部分以用作高速,低偏斜本地(單時鐘區域)佈線資源。

這是不是撿漏的作用啊,看看全域性時鐘網路沒用的部分,通過這個BUFH來上樹。