Una LUT de dos entradas (tabla de búsqueda) se puede representar genéricamente de esta manera:
UnaLUTconsisteenunbloquedeSRAMqueestáindexadoporlasentradasdelaLUT.LasalidadelaLUTeselvalorqueseencuentreenlaubicaciónindexadaensuSRAM.
AunquepensamosquelaRAMnormalmenteseorganizaenpalabrasde8,16,32o64bits,laSRAMenFPGAesde1bitdeprofundidad.Así,porejemplo,unaLUTde3entradasutilizaunaSRAM8x1(2³=8)
DebidoaquelamemoriaRAMesvolátil,elcontenidodebeinicializarsecuandoseenciendeelchip.EstosehacetransfiriendoelcontenidodelamemoriadeconfiguraciónalaSRAM.
LasalidadeunaLUTesloquequierasquesea.ParaunapuertaANDdedosentradas,
AddressIn([1:0])Output000010100111
Paratusegundoejemplo,solocambialatabladeverdad:
AddressIn([1:0])Output000011100110
yfinalmente,AxorB:
AddressIn([1:0])Output000011101110
Porlotanto,noeslamismaLUTencadacaso,yaquelaLUTdefinelasalida.Obviamente,elnúmerodeentradasaunaLUTpuedesermuchomásquedos.
LaLUTseimplementarealmenteutilizandounacombinacióndelosbitsSRAMyunMUX:
Aquí,losbitsenlapartesuperior01000111representanlasalidadelatabladeverdadparaestaLUT.LastresentradasalMUXdelaizquierdaa,bycseleccionanelvalordesalidaapropiado.