Gate-ROM in the FE310


Hi all,

I have two questions regarding FE310. Please let me know if anyone knows the answer to my question.

  1. What kind of memory is Gate-ROM exactly?

  2. What is the intent of physically separating Gate-ROM from Mask-ROM?

Best Regards.

(Wesley W. Terpstra) #2

You can think of a ROM as a function that takes an address and returns the data at that address. Gates in hardware are things like AND, OR, NOT, etc. A “Gate-ROM” is just an implementation of the ROM function using gates. This means that the contents of the ROM are turned directly into boolean logic. In comparison, a Mask-ROM is a specialized piece of hardware which encodes the data values into a regular array-like structure in the chip. Due to their regular structure, mask-ROMs can have their contents modified by only changing a few layers of the chip. Comparatively, if you need to fix a “Gate-ROM” you will need to recreate all the layers. However, if most of the ROM is zero or otherwise very regular such that logic minimization works well on the circuit, a gate ROM can be substantially smaller.

So the trade-offs are:

  1. If you are only 99.9% sure your ROM contents are correct, use a Mask-ROM. If you are 100% sure, you can use a Gate-ROM
  2. If the encoded contents are very small and/or regular, a Gate-ROM can be smaller


Hi Terpstra,

Thanks for the detailed answer.
I’d like to check two things to understand exactly.

I usually wondered what it meant because I did not use the word gate-rom but now I understand it because of your friendly explanation.
so, the gate-rom can be implemented as follows. is it right?

always @ (m_ad) begin
case (m_ad)
'h000: rdata = 32’h00000000;
'h001: rdata = 32’H12345678;

I know that the FE310 stores debug interrupt handler programs to the gate-rom and the mask-rom contains an instruction at address which jumps to the start address of the opt or embedded flash memory.

so, Is it because the two roms are physically separated because it can be 100% sure of the debug interrupt handler programs?

Best Regards.

(Wesley W. Terpstra) #4
  1. Yes.

  2. Actually, the original FE310 has only a Mask-ROM and OTP, no gate-ROM. Our first chip with all three was the FU540. You can program (one time only) an OTP after the chip has been fabricated. Both Mask-ROM and Gate-ROM are fixed during fabrication.


okay now I understand.

Thanks for your answer.