MBUFGCE_DIV - 2023.2 English

Versal Architecture Premium Series Libraries Guide (UG1485)

Document ID
UG1485
Release Date
2023-10-18
Version
2023.2 English

Primitive: Multi-Output Clock Buffer with an enable and divide function

  • PRIMITIVE_GROUP: CLOCK
  • PRIMITIVE_SUBGROUP: BUFFER

Introduction

Multi-Output clock buffer

Port Descriptions

Port Direction Width Function
CE Input 1 Buffer enable input.
CLR Input 1 Asynchronous clear function forcing the output value to zero.
CLRB_LEAF Input 1 Active low clear of BUFDIV_LEAF
I Input 1 Buffer input.
O1 Output 1
  • I in PERFORMANCE MODE
  • I*2 in POWER MODE
Note: Setting the BUFGCE_DIVIDE attribute to a value other than 1 will result in futher division of the output clock by that factor.
O2 Output 1
  • I/2 in PERFORMANCE MODE
  • I in POWER MODE
Note: Setting the BUFGCE_DIVIDE attribute to a value other than 1 will result in futher division of the output clock by that factor.
O3 Output 1
  • I/4 in PERFORMANCE MODE
  • I/2 in POWER MODE
Note: Setting the BUFGCE_DIVIDE attribute to a value other than 1 will result in futher division of the output clock by that factor.
O4 Output 1
  • I/8 in PERFORMANCE MODE
  • I/4 in POWER MODE
Note: Setting the BUFGCE_DIVIDE attribute to a value other than 1 will result in futher division of the output clock by that factor.

Design Entry Method

Instantiation Yes
Inference No
IP and IP Integrator Catalog No

Available Attributes

Attribute Type Allowed Values Default Description
BUFGCE_DIVIDE DECIMAL 1, 2, 3, 4, 5, 6, 7, 8 1 Divide value.
CE_TYPE STRING "SYNC", "HARDSYNC" "SYNC" Specifies the CE operation
HARDSYNC_CLR STRING "FALSE", "TRUE" "FALSE" Specifies use of the internal synchronization circuit
MODE STRING "PERFORMANCE", "POWER" "PERFORMANCE"
Sets the mode of operation that determines the output clock generation. For PERFORMANCE MODE, the outputs are generated as follows:
  • O1 = I
  • O2 = I/2
  • O3 = I/4
  • O4 = I/8
For POWER MODE, the outputs are generated as follows:
  • O1 = I*2
  • O2 = I
  • O3 = I/2
  • O4 = I/4
Note: Setting the BUFGCE_DIVIDE attribute to a value other than 1 will result in futher division of the output clock by that factor.
Programmable Inversion Attributes: Specifies whether or not to use the optional inversions are to be used on specific pins for this component to change the active polarity of the pin function. When set to 1, it changes the function to behave active-Low rather than active-High. If an external inverter is specified on one of these associated pins, the Vivado Design Suite will automatically set this attribute during the opt_design stage so that additional logic is not necessary for changing the input polarity.
IS_CE_INVERTED BINARY 1'b0 to 1'b1 1'b0 Specifies whether or not to use the optional inversion on the CE pin of this component.
IS_CLR_INVERTED BINARY 1'b0 to 1'b1 1'b0 Specifies whether or not to use the optional inversion on the CLR pin of this component.
IS_I_INVERTED BINARY 1'b0 to 1'b1 1'b0 Specifies whether or not to use the optional inversion on the I pin of this component.

VHDL Instantiation Template

Unless they already exist, copy the following two statements and paste them before the entity declaration.
Library UNISIM;
use UNISIM.vcomponents.all;

-- MBUFGCE_DIV: Multi-Output Clock Buffer with an enable and divide function
--              Versal Premium series
-- Xilinx HDL Language Template, version 2023.2

MBUFGCE_DIV_inst : MBUFGCE_DIV
generic map (
   BUFGCE_DIVIDE => 1,      -- 1-8
   CE_TYPE => "SYNC",       -- HARDSYNC, SYNC
   HARDSYNC_CLR => "FALSE", -- FALSE, TRUE
   MODE => "PERFORMANCE",   -- PERFORMANCE, POWER
   -- Programmable Inversion Attributes: Specifies built-in programmable inversion on specific pins
   IS_CE_INVERTED => '0',   -- Optional inversion for CE
   IS_CLR_INVERTED => '0',  -- Optional inversion for CLR
   IS_I_INVERTED => '0'     -- Optional inversion for I
)
port map (
   O1 => O1,               -- 1-bit output: Buffer
   O2 => O2,               -- 1-bit output: Buffer
   O3 => O3,               -- 1-bit output: Buffer
   O4 => O4,               -- 1-bit output: Buffer
   CE => CE,               -- 1-bit input: Buffer enable
   CLR => CLR,             -- 1-bit input: Asynchronous clear
   CLRB_LEAF => CLRB_LEAF, -- 1-bit input: Active low clear
   I => I                  -- 1-bit input: Buffer
);

-- End of MBUFGCE_DIV_inst instantiation

Verilog Instantiation Template


// MBUFGCE_DIV: Multi-Output Clock Buffer with an enable and divide function
//              Versal Premium series
// Xilinx HDL Language Template, version 2023.2

MBUFGCE_DIV #(
   .BUFGCE_DIVIDE(1),      // 1-8
   .CE_TYPE("SYNC"),       // HARDSYNC, SYNC
   .HARDSYNC_CLR("FALSE"), // FALSE, TRUE
   .MODE("PERFORMANCE"),   // PERFORMANCE, POWER
   // Programmable Inversion Attributes: Specifies built-in programmable inversion on specific pins
   .IS_CE_INVERTED(1'b0),  // Optional inversion for CE
   .IS_CLR_INVERTED(1'b0), // Optional inversion for CLR
   .IS_I_INVERTED(1'b0)    // Optional inversion for I
)
MBUFGCE_DIV_inst (
   .O1(O1),               // 1-bit output: Buffer
   .O2(O2),               // 1-bit output: Buffer
   .O3(O3),               // 1-bit output: Buffer
   .O4(O4),               // 1-bit output: Buffer
   .CE(CE),               // 1-bit input: Buffer enable
   .CLR(CLR),             // 1-bit input: Asynchronous clear
   .CLRB_LEAF(CLRB_LEAF), // 1-bit input: Active low clear
   .I(I)                  // 1-bit input: Buffer
);

// End of MBUFGCE_DIV_inst instantiation

Related Information

  • Versal Adaptive SoC Clocking Resources Architecture Manual (AM003)