MUXF9 - 2022.2 English

UltraScale Architecture Libraries Guide (UG974)

Document ID
UG974
Release Date
2022-10-19
Version
2022.2 English

Primitive: CLB MUX to connect two MUXF8s Together

  • PRIMITIVE_GROUP: CLB
  • PRIMITIVE_SUBGROUP: MUXF
  • Families: UltraScale, UltraScale+

Introduction

This design element is a two input multiplexer which, in combination with two MUXF8s, four MUXF7s and eight LUT6 elements will let you create any 9-input logic function, a 32-to-1 multiplexer, or other logic functions up to 55-bits wide all within a single CLB. Outputs of the MUXF8 elements are connected to the I0 and I1 inputs of the MUXF9. The S input is driven from any net. When Low, S selects I0. When High, S selects I1.

Logic Table

Inputs Outputs
S I0 I1 O
0 I0 X I0
1 X I1 I1
X 0 0 0
X 1 1 1

Port Descriptions

Port Direction Width Function
I0 Input 1 MUX data input. Connects to the output of a MUXF8 located in the same CLB.
I1 Input 1 MUX data input. Connects to the output of a MUXF8 located in the same CLB.
O Output 1 Data output from the CLB MUX.
S Input 1 Selects between the I0 (S=0) or I1 (S=1) inputs to the MUX.

Design Entry Method

Instantiation Yes
Inference Recommended
IP and IP Integrator Catalog No

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;

-- MUXF9: CLB MUX to connect two MUXF8s Together
--        UltraScale
-- Xilinx HDL Language Template, version 2022.2

MUXF9_inst : MUXF9
port map (
   O => O,   -- 1-bit output: Output of MUX
   I0 => I0, -- 1-bit input: Connect to MUXF8 output
   I1 => I1, -- 1-bit input: Connect to MUXF8 output
   S => S    -- 1-bit input: Input select to MUX
);

-- End of MUXF9_inst instantiation

Verilog Instantiation Template


// MUXF9: CLB MUX to connect two MUXF8s Together
//        UltraScale
// Xilinx HDL Language Template, version 2022.2

MUXF9 MUXF9_inst (
   .O(O),   // 1-bit output: Output of MUX
   .I0(I0), // 1-bit input: Connect to MUXF8 output
   .I1(I1), // 1-bit input: Connect to MUXF8 output
   .S(S)    // 1-bit input: Input select to MUX
);

// End of MUXF9_inst instantiation

Related Information

  • See the UltraScale Architecture Configurable Logic Block User Guide (UG574).