Hi all,
I wanted to know the differnce between a true dual port memory and a simple dual port memory in FPGA context.
Thanks in advance, Praveen
Hi all,
I wanted to know the differnce between a true dual port memory and a simple dual port memory in FPGA context.
Thanks in advance, Praveen
Well ... I'll take a guess .. alot of people refer to dual port and two port memory ... the difference being that a dual port memory has a read and write capability on both ports whereas a two port has a read-only port and a write-only port.
I would bet that a true dual port is the dual port I have described above and a simple dual port is the two port memory I have described above.
Mike
Well, let's not split hairs ! A dual-port memory has two independent access ports to a common storage array. Some dual-port memories can use one port only for write, the other one only for read (sufficient for FIFOs), Better designs have no such restriction, they allow read or write on either or both ports. That's what all Xilinx BlockRAMs do. Such memories are then referred to as "true dual-port memories". Interestingly, Xilinx BlockRAMs perform a read operation even during a write operation on the same port, and have a choice or read-before-write or write-before-read. That just gives additional flexibility. Peter Alfke, Xilinx Applications.
Hi peter,
So what you mean to say is in simple dual port memories one port is restricted only for write, and the other one only for read.
I read in ALTERA cyclone FPGA's that there memory blocks can be used as
1)Simple dual port memory. 2)True dual port memory. 3)FIFO buffers. Is it the same in XILINX.But according to your explanation Simple dual port memory is nothing but a FIFO, so why have they explicitly mentioned as FIFO buffers.
Please clarify on the 3 types of memory usages.
Thanks in advance, Praveen
I cannot speak for Altera and their marketing messages. A "true dual-port memory" is obviously a superset of a "simple dual-port memory", and it seems that both Xilinx and Altera have this type of memory. Dual-ported memories can be used for many things: FIFOs, LIFOs, Stacks, Caches, Register Files, State Machines, Code Converters, Sequencers, Counters...
Xilinx Virtex-4 has a built-in "hard" FIFO controller (guaranteed for
500 MHz operation.) Altera does not have anything remotely similar. They are just the champions of Marketing B.S., and have been for decades... Peter Alfke
Apparently you do speak about A's marketing messages. Don't you think it's a little bit silly to hide behind a non-X domain to call A names? I expected better from you and X to be frank.
mk schrieb:
names?
???
You can use the memories in a variety of ways, but they are all based on either single-port, simple dual-port (independant read and write ports) or true dual-port (independant bidirectional ports) arrangements. The idea of a simple dual port memory is that often it is all you need - for example, it forms the basis of a FIFO - and can be (on Altera devices - I don't know about Xilinx) twice as wide as true dual-port arrangements. So you use simple dual-port where it is sufficient, and true dual-port where it is necessary.
Xilinx devices also have some hardware specifically for making fast FIFOs (along with a simple dual-port ram block). I've no idea whether this is faster than corresponding soft logic on Altera devices, but Xilinx certainly considers it a marketing point so there is presumably some advantage.
Here are some tricks: If you have a true dual-port RAM, but need only a single port, you can
simple dual port allows random access to both ports, with the restriction that one port is read only , one is write only with independent addresses for each port.. It has memory address inputs for each port. A FIFO buffer typically includes read and write pointers and flag logic so that the external interface does not include address inputs. True dual port allows both read and write from both memory ports. earlier Altera devices (10K and 20K) had simple dual port memories, while Xilinx FPGAs of the same vintage had true dual port. Altera's current devices have true dual port memories.
-- --Ray Andraka, P.E. President, the Andraka Consulting Group, Inc.
Hi,
I should point out that Quartus II will do this for you automatically when additional RAM packing density is needed -- two unrelated single-port memories can be combined into one true dual-port RAM.
Also, while it is true that in concept a "Simple Dual-Port" is just a "True Dual-Port" with one port set to always read and one set to always write, there are some electrical and modeling differences between the two. This difference results in different timing and power consumption. If you only need a simple dual-port RAM (one read, one write), you are best off instantiating the RAM as such.
Regards,
Paul Leventis Altera Corp.
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.