Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

[SOLVED] [moved] Embedded Memory Blocks in FPGA

Status
Not open for further replies.

dzafar

Member level 4
Joined
Jan 17, 2017
Messages
76
Helped
1
Reputation
2
Reaction score
1
Trophy points
8
Activity points
690
Hello awesome people,

Q1. Is there a specific way of getting this pattern? How does 2Kx2 become 1Kx4? Is it just that we need the multiple to be 4K? How do we get 512x8?

Untitled.png


Q2. Implementing memory in FPGA via Flip-flop memory.

It says that "each logic element has a flip-flop". My question is, are logic ELEMENTS and logic BLOCKS the same thing? In short, is the LOGIC BLOCKS in the image below the same thing as logic ELEMENTS?

Untitled.png

Thanks in advance.
 
Last edited:

Re: Embedded Memory Blocks in FPGA

Q1: Generally, there is a minimum memory block size, and your required memory is built out of those blocks. Sometimes you end up with unused bits. For example, the basic block might be 1Kx9 and you want a 2Kx8 memory. The tool will use two, 1Kx9 blocks to build your memory.

Q2: Good question. Every manufacturer is a little different. They're called logic cells, logic elements, logic modules, slices, etc. You need to look closely at them to figure out how many registers and LUTs you actually get.
 

Hi,

I have another question. It's a bit silly one.

Q: 256x8 bit memory means 256 bytes of memory with each byte equal to 8 bit? If so, does 512x9 mean 512 bytes with each byte equal 9 bits? But that doesn't make sense since a byte is 8 bits and not 9!

Thanks in advance :)
 

well, YOU'RE the one calling 9 bits a byte. 512 x 9 means 512 memory locations with each location containing a 9-bit value. If it's 512x16 that doesn't imply that a byte is 16 bits, does it?

FYI, usually that ninth bit is for error correction.
 
  • Like
Reactions: dzafar

    dzafar

    Points: 2
    Helpful Answer Positive Rating
well, YOU'RE the one calling 9 bits a byte. 512 x 9 means 512 memory locations with each location containing a 9-bit value. If it's 512x16 that doesn't imply that a byte is 16 bits, does it?

FYI, usually that ninth bit is for error correction.

The 9th bit is just another data bit you can use for whatever you want. It's sold as 1 byte + CRC, but Ive never seen a system use this. Usually you just make 9/18 bit Dwords. two bytes sum together to give a 9 bit result. 2x9bit values = 18bits - etc etc.
 
  • Like
Reactions: dzafar

    dzafar

    Points: 2
    Helpful Answer Positive Rating
Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top