UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Explorer
Explorer
1,392 Views
Registered: ‎05-14-2017

DDR3 IP - Number of Bank Machine ?

Jump to solution

I'm designing with the DDR3 IP core and using the Wizard to configure the memory.

I have selected the Memory Type = SODIMM and have supplied the memory part number.

 

One of the Wizard page ask to define the "Number of BANK machine"

 

Is this the same as the Bank address for the DDR3?  If my DDR3 SODIMM datasheet has defined bank address(2:0)

then should I select from the Wizard for "Number of Bank Address" = 8 ?

 

Since the memory Part# is supplied to the Wizard already, why do I have to supply this Number of Bank Address?

Or is the Wizard asking for something else instead, seem like it means something else and not referring to the Bank address, not sure...... ...confusing.

 

0 Kudos
1 Solution

Accepted Solutions
Highlighted
Explorer
Explorer
1,223 Views
Registered: ‎05-14-2017

Re: DDR3 IP - Number of Bank Machine ?

Jump to solution

This is much clearer, thanks.

View solution in original post

0 Kudos
8 Replies
Moderator
Moderator
1,349 Views
Registered: ‎11-28-2016

Re: DDR3 IP - Number of Bank Machine ?

Jump to solution

Hello @tchin123,


Yes, the number of Bank Machines corresponds to the banks of the DDR3 device.

The IP usually defaults to 4 for larger devices and sometimes less for smaller devices.  The reason it defaults to 4 is because adding more bank machines uses more FPGA resources which means you could have issues fitting the design and closing timing depending on your device and how full it is.  For most applications users are able to high performance out of the MIG with 4 bank machines when they consider how to efficiently address the MIG through the app_addr and the "Memory Address Mapping Selection."  Some users may have a more bursty and random access pattern where they could see efficiency improvements with more bank machines, but other times some customers see no benefit from more bank machines but used more FPGA resources and didn't see any benefit. My recommendation is to run simulations to see if you need or benefit from more bank machines.


UG586 talks about this starting on page 123.

0 Kudos
Explorer
Explorer
1,317 Views
Registered: ‎05-14-2017

Re: DDR3 IP - Number of Bank Machine ?

Jump to solution

OK, The number of bank chosen in the Wizard represents the max number of bank open at the same time by the MIG controller?

If the user send APP commands to the MIG controller sequentially where each command addresses a different Bank then this is where multiple Bank command should be less than the Wizard selected BANK?

0 Kudos
Moderator
Moderator
1,294 Views
Registered: ‎11-28-2016

Re: DDR3 IP - Number of Bank Machine ?

Jump to solution

Hello @tchin123,


Yes, that's correct on both counts.

If you only have 4 bank machines then your command sequence should only use 4 banks.  If you want to cycle through more banks then you should increase the number of bank machines so they can all remain open.

0 Kudos
Explorer
Explorer
1,250 Views
Registered: ‎05-14-2017

Re: DDR3 IP - Number of Bank Machine ?

Jump to solution

I believed that the user has no control over the number of Bank to keep open.

After every user command issued, (APP_EN, APP_CMD, APP_ADDR) with corresponding Write command (APP_WDF_...).

The IP DDR memory controller seem to perform a bank close anyway at the end of every access before looking at the next set of APP_CMD.

 

Therefore the BANK is close before the next one is open. Since the user only control issuing APP command, he has no control over keeping multiple bank open.

 

So why is the number of bank selection for the DDR3 WIZARD is required, ....unless I'm missing something at the APP command level.

 

Regard,

Tom

 

0 Kudos
Moderator
Moderator
1,245 Views
Registered: ‎11-28-2016

Re: DDR3 IP - Number of Bank Machine ?

Jump to solution

Hello @tchin123,

 

The MIG will keep the banks open if there's a command already accepted by the app_interface for that bank.  If you have a highly efficient app_interface driver and you configure the MIG to have 8 GroupFSMs there are no issues generating traffic that will nicely interleave between all 8 of these.  The same principle applies when you have 4 GroupFSMs.

0 Kudos
Explorer
Explorer
1,238 Views
Registered: ‎05-14-2017

Re: DDR3 IP - Number of Bank Machine ?

Jump to solution

Since the user only has access to control 3 set of user interface signals  (CMD, EN and ADDR).

 

For example if five set of command signals are sent sequentially each with a different bank address, then the controller will open each bank sequentially, performs a read or a write then then close them at the end sequentially.

 

Then in this example, 5 banks are actually open, therefore the user is required to select Five from the during IP Wizard configuration?

 

 

0 Kudos
Moderator
Moderator
1,229 Views
Registered: ‎11-28-2016

Re: DDR3 IP - Number of Bank Machine ?

Jump to solution

Hello @tchin123,

 

The DDR3 bank is delivered as part of the app_addr and it's position in the address is based on your address mapping setting.  For instance if you have BANK_ROW_COLUMN addressing and lets say you have a 2Gbit x16 DDR3 part with 10 Column, 14 Row, and 3 Bank bits in your address.

 

If the MIG is configured for 8 bank machines and you issue this sequence of commands then the MIG will keep the banks open until the end of the 3 set of writes:

0x0000000
0x1000000
0x2000000
0x3000000
0x4000000
0x5000000
0x6000000
0x7000000
0x0000008
0x1000008
0x2000008
0x3000008
0x4000008
0x5000008
0x6000008
0x7000008
0x0000010
0x1000010
0x2000010
0x3000010
0x4000010
0x5000010
0x6000010
0x7000010

 

The user isn't required to set the number of Bank Machines to any specific value.  The option is there if you want to have more bank machines which may give you better performance depending on your access pattern.


If you only select 4 Bank Machines and issue commands that go across 5 banks in one sequence then one bank will be closed before the last one is opened to service the 5th command.

0 Kudos
Highlighted
Explorer
Explorer
1,224 Views
Registered: ‎05-14-2017

Re: DDR3 IP - Number of Bank Machine ?

Jump to solution

This is much clearer, thanks.

View solution in original post

0 Kudos