Im not sure in how the Distributed RAM is implemented using LUTs. Would the inputs be used for both address, control write/read and data signals?

  • 1
    \$\begingroup\$ The logic block is either configured as ram OR a LUT. \$\endgroup\$
    – Kartman
    Commented Jan 29, 2021 at 14:57
  • \$\begingroup\$ Depends on the FPGA mfg and device family. For most newish Xilinx parts, see Kartman's comment. Or your FPGA's documentation. \$\endgroup\$
    – user16324
    Commented Jan 29, 2021 at 15:55

1 Answer 1


A LUT is a dual-port SRAM. It has a read port (address in, data out), which is how you use it for logic. But it also has a write port (address in, write enable in, data in), which is how the FPGA's start-up logic transfers data from the nonvolatile configuration memory into the SRAM following power-up.

It just takes one more configuration bit to make the LUT usable as distributed RAM, and that bit controls a multiplexer for the write port. That multiplexer's second input is available to the user logic, so now you can both write to and read from the SRAM.

  • \$\begingroup\$ Thanks but how can you use a 6input LUT as Distributed RAM? Are the inputs broken into data signals and control signasl? \$\endgroup\$
    – Yogi Bear
    Commented Jan 29, 2021 at 22:50
  • \$\begingroup\$ The original 6 inputs are the address bus for the read port. There are additional inputs for the write port (6 address, 1 data in, 1 write enable) that become available when the mux is activated. \$\endgroup\$
    – Dave Tweed
    Commented Jan 30, 2021 at 11:36
  • \$\begingroup\$ Got it thank you \$\endgroup\$
    – Yogi Bear
    Commented Jan 30, 2021 at 15:43
  • \$\begingroup\$ @YogiBear I think it would be appropriate to accept Dave's answer if it answered your question! \$\endgroup\$ Commented Mar 10, 2021 at 16:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.