Breaking News
Comments
Newest First | Oldest First | Threaded View
Page 1 / 2   >   >>
Brian_D
User Rank
Freelancer
Re: ICE40 multiport examples
Brian_D   11/15/2013 7:57:42 PM
NO RATINGS
@Alvie "This is the first part of the artice. The second part will deal with adding an extra write port to the design"

Hopefully I haven't disrupted the natural order of the blog series in replying to Karl's post ( which I might have misunderstood anyway ).

Perhaps not obvious from my original post here, but the intent of the earlier APP link was to cover some practical issues ( synthesis directives & coding styles ) needed to successfully infer a "replicated" multiport structure with Synplify in an FPGA target having only Simple Dual Port RAM.

-Brian

Alvie
User Rank
Blogger
Re: ICE40 multiport examples
Alvie   11/15/2013 11:13:05 AM
NO RATINGS
@Brian_D: This is the first part of the artice. The second part will deal with adding an extra write port to the design.

Regarding the multipumping you're speaking about in order to get a second write port is also possible. I'll address that option as well.

Alvie

Alvie
User Rank
Blogger
Re: Number and Types of Ports
Alvie   11/15/2013 11:10:03 AM
NO RATINGS
@DrFPGA: Indeed, you are correct. It was a typo on my part. The memory will have four read ports and two write ports. Thanks for pointing that out.


Alvie

DrFPGA
User Rank
Blogger
Number and Types of Ports
DrFPGA   11/15/2013 11:01:54 AM
NO RATINGS
In your first paragraph you say: 

I will explain the path from a normal FPGA Block RAM into a 2W+4R (two read ports and four write ports) memory, which I needed for my upcoming CPU design.

Should that be two "Write ports and 2 Read ports"?

Brian_D
User Rank
Freelancer
Re: ICE40 multiport examples
Brian_D   11/14/2013 8:28:50 PM
NO RATINGS
@Karl "This is not the same as using 2 simple dual ports.  There both RAMs must be written every time to maintain integrity."

It is unclear to me exactly what you are disagreeing with.

My earlier post, here on EET, explicitly stated [1W+2R] :

"in the context of building a [1W+2R] memory from the "simple dual port" [1W+1R] block RAMs that are available in the Lattice ICE40 family."

Which is exactly what Álvaro is building in his second figure ("2R+1W block RAM") in the above article.

I would agree that Álvaro's first figure, a TDP with write collision logic, uses a different approach.

"I think there is no way to make a true dual port using 2 simple dual ports because for writes both addresses have to be the same."

 My earlier posts on the late Programmable Planet thread did mention running SPD(s) at 2x the clock rate to get two write ports from a simple dual port.

-Brian

KarlS01
User Rank
Manager
Re: ICE40 multiport examples
KarlS01   11/14/2013 3:57:38 PM
NO RATINGS
@Brian:  This is not the same as using 2 simple dual ports.  There both RAMs must be written every time to maintain integrity.

In this case is special because true dual port can write one port and read a different address simultaneously on the other port.  The write to the second port is a write thru only if the addresses are the same.

Therewfore I think there is no way to make a true dual port using 2 simple dual ports because for writes both addresses have to be the same.

hamster_nz
User Rank
Freelancer
Resistance is tasty!
hamster_nz   11/13/2013 10:15:14 PM
NO RATINGS
Since we are off topic - resistance is tasty! - A gingerbread amplifier.

Gingerbread Amp

http://www.adafruit.com/blog/2012/12/28/gingerbread-class-ab-amplifier/

 

Alvie
User Rank
Blogger
Re: Resistance is useless!
Alvie   11/13/2013 3:04:00 PM
NO RATINGS
Resistance is by no means useless!

You should join the resistance perhaps...

Join the resistance

betajet
User Rank
CEO
Resistance is useless!
betajet   11/13/2013 1:09:36 PM
NO RATINGS
Uprated for reference to Vogon Constructor Fleet :-)

Brian_D
User Rank
Freelancer
ICE40 multiport examples
Brian_D   11/13/2013 8:30:25 AM
This was discussed briefly on the Programmable Planet a couple months back, in the context of building a [1W+2R] memory from the "simple dual port" [1W+1R] block RAMs that are available in the Lattice ICE40 family.

I would post a direct link, unfortunately the Programmable Planet was recently destroyed by the UBM division of the Vogon Constructor Fleet in order to make way for a new subspace billboard.

As of the moment, Google has a cached copy of the thread here:

http://webcache.googleusercontent.com/search?q=cache:nqd_1zUR4bkJ:www.programmableplanet.com/messages.asp%3Fpiddl_msgthreadid%3D271824%26piddl_msgorder%3Dasc+&cd=1&hl=en&ct=clnk&gl=us&client=firefox-a

In the event that vanishes, FWIW the ICE40 [1W+2R] code example can be found here:

http://code.google.com/p/yard-1/source/browse/trunk/hdl/systems/evb_common/block_ram/lattice/rtl_mem_ice40.vhd

-Brian

Page 1 / 2   >   >>


EE Life
Frankenstein's Fix, Teardowns, Sideshows, Design Contests, Reader Content & More
Max Maxfield

Steve Wozniak Reacts to Latest iPhone
Max Maxfield
5 comments
Funnily enough, just a few days ago as I pen these words, I was chatting with my wife (Gina the Gorgeous) when she informed me that -- as a kid -- she had never played at making a ...

EDN Staff

11 Summer Vacation Spots for Engineers
EDN Staff
20 comments
This collection of places from technology history, museums, and modern marvels is a roadmap for an engineering adventure that will take you around the world. Here are just a few spots ...

Glen Chenier

Engineers Solve Analog/Digital Problem, Invent Creative Expletives
Glen Chenier
15 comments
- An analog engineer and a digital engineer join forces, use their respective skills, and pull a few bunnies out of a hat to troubleshoot a system with which they are completely ...

Larry Desjardin

Engineers Should Study Finance: 5 Reasons Why
Larry Desjardin
46 comments
I'm a big proponent of engineers learning financial basics. Why? Because engineers are making decisions all the time, in multiple ways. Having a good financial understanding guides these ...

Flash Poll
Top Comments of the Week
Like Us on Facebook
EE Times on Twitter
EE Times Twitter Feed

Datasheets.com Parts Search

185 million searchable parts
(please enter a part number or hit search to begin)