Look-up table buffer primitives – Altera Designing With Low-Level Primitives User Manual
Page 19

Altera Corporation
1–13
April 2007
Designing with Low-Level Primitives User Guide
Low-Level Primitive Design
Look-Up Table Buffer Primitives
The look-up table (LUT) buffer primitives,
LUT_INPUT and
LUT_OUTPUT, specify a LUT function in your design. These primitives
are single-input, single-output buffers that you use to create a LUT
directly in your design. The
LUT_INPUT acts as an input to the
LUT_OUTPUT. If your design contains a LUT_OUTPUT primitive that is
not properly driven, the
LUT_OUTPUT is ignored. By using LUT_INPUT
and
LUT_OUTPUT, you can specify which LUT inputs are used. These
primitives are similar to the
LCELL primitive; they give you control over
how the Quartus II synthesis engine breaks your design up into logic
cells. Because they give you full control of the inputs and outputs to a
logic cell,
LUT_INPUT and LUT_OUTPUT primitives give you more
control over the synthesis process, but you must have more
understanding of the device architecture to use them successfully
shows a primitive instantiation that creates a four-input
LUT that implements the function
aw & bw ^ cw | dw.
Example 1–8. A Primitive Instantiation that Creates a Four-Input LUT
module lut_function (a,b,c,d,o);
input a,b,c,d;
output o;
wire aw,bw,cw,dw,o;
lut_input lut_in1 (a, aw) ;
lut_input lut_in2 (b, bw) ;
lut_input lut_in3 (c, cw) ;
lut_input lut_in4 (d, dw) ;
lut_output lut_o (aw & bw ^ cw | dw, o) ;
endmodule