cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Participant
Participant
877 Views
Registered: ‎05-05-2016

Data width supported with Byte wide writes and "write_first" in TDP XPM RAM?

Jump to solution

UG953 states:

NOTE: When byte wide writes are enabled on port [A|B] and the write mode is set to

 

“no_change”, the maximum WRITE_DATA_WIDTH_[A|B] supported is

•32/36 when the MEMORY_PRIMITIVE attribute is set to “block”

•64/72 when the MEMORY_PRIMTIVE attribute is set to “ultra”

But what about when I am NOT using "no_change"?  I need the data width to be 128 and I'm getting a synth error about the width.

0 Kudos
Reply
1 Solution

Accepted Solutions
Moderator
Moderator
800 Views
Registered: ‎08-08-2017

Hi @waidcsuf 

This is Supported . Only the DATA_WIDTH for same port either A or B must be same.

-------------------------------------------------------------------------------------------------------------------------------
Reply if you have any queries, give kudos and accept as solution
-------------------------------------------------------------------------------------------------------------------------------

View solution in original post

0 Kudos
Reply
4 Replies
Moderator
Moderator
843 Views
Registered: ‎08-08-2017

Hi @waidcsuf 

Write_first is only supported when Memory Primitive is set to  "Block"

and allowable Width for WRITE_DATA_WIDTH _A/B is 1 to 4608.

Please check if you are selecting the Memory primitive to "Block" in your macro instatiation.

Additonally The values of WRITE_DATA_WIDTH_A and READ_DATA_WIDTH_A must be equal.

When ECC is enabled and set to "encode_only" or "both_encode_and_decode", then WRITE_DATA_WIDTH_A has to be multiples of 64-bits When ECC is enabled and set to "decode_only", then WRITE_DATA_WIDTH_A has to be multiples of 72-bits

-------------------------------------------------------------------------------------------------------------------------------
Reply if you have any queries, give kudos and accept as solution
-------------------------------------------------------------------------------------------------------------------------------
0 Kudos
Reply
Participant
Participant
806 Views
Registered: ‎05-05-2016


Additonally The values of WRITE_DATA_WIDTH_A and READ_DATA_WIDTH_A must be equal.



What about if DATA_WIDTH_A /= DATA_WIDTH_B? Can those be different with the following criteria?

  1. XPM set to Block ram
  2. WRITE_MODE = WRITE_FIRST
  3. BYTE_WRITE_WIDTH_A = WRITE_DATA_WIDTH_A = 128
  4. DATA_WIDTH_B = 64
0 Kudos
Reply
Moderator
Moderator
801 Views
Registered: ‎08-08-2017

Hi @waidcsuf 

This is Supported . Only the DATA_WIDTH for same port either A or B must be same.

-------------------------------------------------------------------------------------------------------------------------------
Reply if you have any queries, give kudos and accept as solution
-------------------------------------------------------------------------------------------------------------------------------

View solution in original post

0 Kudos
Reply
Moderator
Moderator
780 Views
Registered: ‎08-08-2017

Hi @waidcsuf 

Did you get a chance to modify the instatiation as suggested ?  Please let us know if you have further queries around this.

-------------------------------------------------------------------------------------------------------------------------------
Reply if you have any queries, give kudos and accept as solution
-------------------------------------------------------------------------------------------------------------------------------
0 Kudos
Reply