1

I am curious to know how an array in synthesized in verilog. Does it creates a MUX of the size of array or something else. Is there some technique to avoid large size MUX synthesize.

2 Answers 2

0

If the array is read-only, then it will be implemented as a ROM (or a RAM with the write-enable disabled!)

If the array is writable, then there a rules about how the writes occur to ensure that a RAM block is inferred.

Sign up to request clarification or add additional context in comments.

Comments

0

Generally large arrays might be synthesized as dynamic rams (depending on your synthesis options), but they could also be implemented as a giant field of flip flops with a large mux if you prefer, but using dynamic rams would be the most area efficient way to synthesize a large array.

Do note if dynamic rams are used then you'll generally be restricted to one or two reads or writes per cycle (can't update every entry in the ram at once).

Comments

Your Answer

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

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.