cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Voyager
Voyager
4,208 Views
Registered: ‎10-25-2012

The user interface and native interface in DDR3

I read UG586, it seems there are three types interfaces for DDR3 controller, AXI4 slave, User interface, and Native interface.

 

In page 82, The UI block presents the UI to a user design. It provides a simple alternative to the native

interface. When I disable the AXI in GUI of MIG, then MIG will create the DDR3 controller core with User interface.

 

My question is when do we need to use native interface? How to create native interface in DDR3 controller core?

 

Thanks very much.

0 Kudos
Reply
4 Replies
Xilinx Employee
Xilinx Employee
4,202 Views
Registered: ‎08-16-2007

The Native Interface offers higher performance in some situations but is more challenging to use, therefore, it might require more overhead on the user application. The Native interface contains no buffers and returns data as soon as possible, but the return data might be out of order. The application must reorder the received data internally if the Native Interface is used.

 

The native interface starts with *_mem_intfc.v

0 Kudos
Reply
Voyager
Voyager
4,198 Views
Registered: ‎10-25-2012

Thanks, criley. You mentioned "The native interface starts with *_mem_intfc.v". So if I put this verilog file into my design, I can access the DDR thorugh native interface, right?
0 Kudos
Reply
Explorer
Explorer
4,187 Views
Registered: ‎03-13-2012

and is there any way to access the User Interface as well.

Or we can use it by default, just by programming and utlizing its ports etc.

 

Bests,

sraza

0 Kudos
Reply
Visitor
Visitor
2,474 Views
Registered: ‎09-18-2013

I'm trying to use the Native interface as well on a DDR3 design on a Virtex 7. It doesn't seem so simple as to "just instantiate "*_mem_intfc.v" .  That module has a ton of other inputs and outputs that are not well documented on how to use them, such as fi_xor_we, fi_xor_wrdata, rst_phase_ref, iddr_rst, ...etc.  Seems there is a lot of control at this level which is hidden at the User Interface level. The UG586 document makes no mention of how to actually instantiate a Native interface.  There does not seem to be an equivalent "Native" top level module to the "User Interface" top level. :-(

 

Better UG586 documentation, along with a concrete example of using the Native interface would go a long way.

 

 

0 Kudos
Reply