16.2.1 Combinatorial Logic
(Ask a Question)16.2.1.1 AND2
(Ask a Question)Inputs | Output |
---|---|
A, B | Y |
A | B | Y |
---|---|---|
X | 0 | 0 |
0 | X | 0 |
1 | 1 | 1 |
16.2.1.2 AND3
(Ask a Question)Input | Output |
---|---|
A, B, C | Y |
A | B | C | Y |
---|---|---|---|
X | X | 0 | 0 |
X | 0 | X | 0 |
0 | X | X | 0 |
1 | 1 | 1 | 1 |
16.2.1.3 AND4
(Ask a Question)Input | Output |
---|---|
A, B, C, D | Y |
A | B | C | D | Y |
---|---|---|---|---|
X | X | X | 0 | 0 |
X | X | 0 | X | 0 |
X | 0 | X | X | 0 |
0 | X | X | X | 0 |
1 | 1 | 1 | 1 | 1 |
16.2.1.4 ARI1
(Ask a Question)Input | Output |
---|---|
A, B, C, D, FCI | Y, S, FCO |
The ARI1 cell has a 20 bit INIT string parameter that is used to configure its functionality. The interpretation of the 16 LSB of the INIT string is shown in the following table. F0 is the value of Y when A = 0 and F1 is the value of Y when A = 1.
ADCB | Y | |
---|---|---|
0000 | INIT[0] | F0 |
0001 | INIT[1] | |
0010 | INIT[2] | |
0011 | INIT[3] | |
0100 | INIT[4] | |
0101 | INIT[5] | |
0110 | INIT[6] | |
0111 | INIT[7] | |
1000 | INIT[8] | F1 |
1001 | INIT[9] | |
1010 | INIT[10] | |
1011 | INIT[11] | |
1100 | INIT[12] | |
1101 | INIT[13] | |
1110 | INIT[14] | |
1111 | INIT[15] |
Y | FCI | S |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
ARI1 LOGIC
The 4 MSB of the INIT string controls the output of the carry bits. The carry is generated using carry propagation and generation bits, which are evaluated according to the following tables.
INIT[17] | INIT[16] | G |
---|---|---|
0 | 0 | 0 |
0 | 1 | F0 |
1 | 0 | 1 |
1 | 1 | F1 |
INIT[19] | INIT[18] | P |
---|---|---|
0 | 0 | 0 |
0 | 1 | Y |
1 | X | 1 |
P | G | FCI | FCO |
---|---|---|---|
0 | G | X | G |
1 | X | FCI | FCI |
16.2.1.5 ARI1_CC
(Ask a Question)The ARI1_CC macro is responsible for representing all arithmetic operations in the post-layout phase. It performs all the functions of the ARI1 maco except that it does not generate the Final Carry Out (FCO).
Input | Output |
---|---|
A, B, C, D,CC | Y, S, P, UB |
The ARI1_CC cell has a 20-bit INIT string parameter that is used to configure its functionality. The interpretation of the 16 LSB of the INIT string is shown in the following table. F0 is the value of Y when A = 0 and F1 is the value of Y when A = 1.
ADCB | Y | |
---|---|---|
0000 | INIT[0] | F0 |
0001 | INIT[1] | |
0010 | INIT[2] | |
0011 | INIT[3] | |
0100 | INIT[4] | |
0101 | INIT[5] | |
0110 | INIT[6] | |
0111 | INIT[7] | |
1000 | INIT[8] | F1 |
1001 | INIT[9] | |
1010 | INIT[10] | |
1011 | INIT[11] | |
1100 | INIT[12] | |
1101 | INIT[13] | |
1110 | INIT[14] | |
1111 | INIT[15] |
The 4 MSB of the INIT string controls the output of the carry bits. The carry is generated using carry propagation and generation bits, which are evaluated according to the following tables.
INIT[17] | INIT[16] | UB |
---|---|---|
0 | 0 | 1 |
0 | 1 | !F0 |
1 | 0 | 0 |
1 | 1 | !F1 |
INIT[19] | INIT[18] | P |
---|---|---|
0 | 0 | 0 |
0 | 1 | Y |
1 | X | 1 |
The equation of S is given by:
S = Y^CC
16.2.1.6 BUFD
(Ask a Question)Input | Output |
---|---|
A | Y |
A | Y |
---|---|
0 | 0 |
1 | 1 |
16.2.1.7 BUFF
(Ask a Question)Input | Output |
---|---|
A | Y |
A | Y |
---|---|
0 | 0 |
1 | 1 |
16.2.1.8 CFG1/2/3/4 and Look-Up Tables (LUTs)
(Ask a Question)CFG1, CFG2, CFG3, and CFG4 are post-layout LUTs that implement any 1-input, 2-input, 3-input, and 4-input combinational logic functions respectively. Each of the CFG1/2/3/4 macros has an INIT string parameter that determines the logic functions of the macro. The output Y is dependent on the INIT string parameter and the values of the inputs.
16.2.1.9 CFG2
(Ask a Question)Input | Output |
---|---|
A,B | Y = f (INIT, A, B) |
BA | Y |
---|---|
00 | INIT[0] |
01 | INIT[1] |
10 | INIT[2] |
11 | INIT[3] |
16.2.1.10 CFG3
(Ask a Question)Input | Output |
---|---|
A, B, C | Y = f (INIT, A,B, C) |
CBA | Y |
---|---|
000 | INIT[0] |
001 | INIT[1] |
010 | INIT[2] |
011 | INIT[3] |
100 | INIT[4] |
101 | INIT[5] |
110 | INIT[6] |
111 | INIT[7] |
16.2.1.11 CFG4
(Ask a Question)Input | Output |
---|---|
A, B, C, D | Y = f (INIT, A,B, C, D) |
DCBA | Y |
---|---|
0000 | INIT[0] |
0001 | INIT[1] |
0010 | INIT[2] |
0011 | INIT[3] |
0100 | INIT[4] |
0101 | INIT[5] |
0110 | INIT[6] |
0111 | INIT[7] |
1000 | INIT[8] |
1001 | INIT[9] |
1010 | INIT[10] |
1011 | INIT[11] |
1100 | INIT[12] |
1101 | INIT[13] |
1110 | INIT[14] |
1111 | INIT[15] |
16.2.1.12 INV
(Ask a Question)Input | Output |
---|---|
A | Y |
A | Y |
---|---|
0 | 1 |
1 | 0 |
16.2.1.13 INVD
(Ask a Question)Input | Output |
---|---|
A | Y |
A | Y |
---|---|
0 | 1 |
1 | 0 |
16.2.1.14 MX2
(Ask a Question)Input | Output |
---|---|
A, B, S | Y |
A | B | S | Y |
---|---|---|---|
A | X | 0 | A |
X | B | 1 | B |
16.2.1.15 MX4
(Ask a Question)4 to 1 Multiplexer.
Input | Output |
---|---|
D0, D1, D2, D3, S0, S1 | Y |
D3 | D2 | D1 | D0 | S1 | S0 | Y |
---|---|---|---|---|---|---|
X | X | X | D0 | 0 | 0 | D0 |
X | X | D1 | X | 0 | 1 | D1 |
X | D2 | X | X | 1 | 0 | D2 |
D3 | X | X | X | 1 | 1 | D3 |
16.2.1.16 NAND2
(Ask a Question)Input | Output |
---|---|
A, B | Y |
A | B | Y |
---|---|---|
X | 0 | 1 |
0 | X | 1 |
1 | 1 | 0 |
16.2.1.17 NAND3
(Ask a Question)Input | Output |
---|---|
A, B, C | Y |
A | B | C | Y |
---|---|---|---|
X | X | 0 | 1 |
X | 0 | X | 1 |
0 | X | X | 1 |
1 | 1 | 1 | 0 |
16.2.1.18 NAND4
(Ask a Question)Input | Output |
---|---|
A, B, C, D | Y |
A | B | C | D | Y |
---|---|---|---|---|
X | X | X | 0 | 1 |
X | X | 0 | X | 1 |
X | 0 | X | X | 1 |
0 | X | X | X | 1 |
1 | 1 | 1 | 1 | 0 |
16.2.1.19 NOR2
(Ask a Question)Input | Output |
---|---|
A, B | Y |
A | B | Y |
---|---|---|
0 | 0 | 1 |
X | 1 | 0 |
1 | X | 0 |
16.2.1.20 NOR3
(Ask a Question)Input | Output |
---|---|
A, B, C | Y |
A | B | C | Y |
---|---|---|---|
0 | 0 | 0 | 1 |
X | X | 1 | 0 |
X | 1 | X | 0 |
1 | X | X | 0 |
16.2.1.21 NOR4
(Ask a Question)Input | Output |
---|---|
A, B, C, D | Y |
A | B | C | D | Y |
---|---|---|---|---|
0 | 0 | 0 | 0 | 1 |
1 | X | X | X | 0 |
X | 1 | X | X | 0 |
X | X | 1 | X | 0 |
X | X | X | 1 | 0 |
16.2.1.22 OR2
(Ask a Question)Input | Output |
---|---|
A, B | Y |
A | B | Y |
---|---|---|
0 | 0 | 0 |
X | 1 | 1 |
1 | X | 1 |
16.2.1.23 OR3
(Ask a Question)Input | Output |
---|---|
A, B, C | Y |
A | B | C | Y |
---|---|---|---|
0 | 0 | 0 | 0 |
X | X | 1 | 1 |
X | 1 | X | 1 |
1 | X | X | 1 |
16.2.1.24 OR4
(Ask a Question)Input | Output |
---|---|
A, B, C, D | Y |
A | B | C | D | Y |
---|---|---|---|---|
0 | 0 | 0 | 0 | 0 |
1 | X | X | X | 1 |
X | 1 | X | X | 1 |
X | X | 1 | X | 1 |
X | X | X | 1 | 1 |
16.2.1.25 XOR2
(Ask a Question)Input | Output |
---|---|
A, B | Y |
A | B | Y |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
16.2.1.26 XOR3
(Ask a Question)Input | Output |
---|---|
A, B, C | Y |
A | B | C | Y |
---|---|---|---|
0 | 0 | 0 | 0 |
1 | 0 | 0 | 1 |
0 | 1 | 0 | 1 |
1 | 1 | 0 | 0 |
0 | 0 | 1 | 1 |
1 | 0 | 1 | 0 |
0 | 1 | 1 | 0 |
1 | 1 | 1 | 1 |
16.2.1.27 XOR4
(Ask a Question)Input | Output |
---|---|
A, B, C, D | Y |
A | B | C | D | Y |
---|---|---|---|---|
0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 1 | 1 |
0 | 0 | 1 | 0 | 1 |
0 | 0 | 1 | 1 | 0 |
0 | 1 | 0 | 0 | 1 |
0 | 1 | 0 | 1 | 0 |
0 | 1 | 1 | 0 | 0 |
0 | 1 | 1 | 1 | 1 |
1 | 0 | 0 | 0 | 1 |
1 | 0 | 0 | 1 | 0 |
1 | 0 | 1 | 0 | 0 |
1 | 0 | 1 | 1 | 1 |
1 | 1 | 0 | 0 | 0 |
1 | 1 | 0 | 1 | 1 |
1 | 1 | 1 | 0 | 1 |
1 | 1 | 1 | 1 | 0 |
16.2.1.28 XOR8
(Ask a Question)8-input XOR.
Input | Output |
---|---|
A, B, C, D, E, F, G, H | Y |
If you have an odd number of inputs that are High, the output is High (1).
If you have an even number of inputs that are High, the output is Low (0).
For example:
A | B | C | D | E | F | G | H | Y |
---|---|---|---|---|---|---|---|---|
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 |
16.2.1.29 LIVE_PROBE_FB
(Ask a Question)This is a special-purpose macro that feeds the live probe signals back to the fabric. You can connect the PROBE_A/PROBE_B signals to any unused I/O during design generation. This is useful if PROBE_A/PROBE_B cannot be brought out for debugging due to board limitations. PROBE_A and PROBE_B pins must be reserved, if LIVE_PROBE_FB macro is used. This macro is not supported in simulation.