Altera_Forum
Honored Contributor
11 years agoDDR3 SDRAM Controller - issues caused by enabling the Efficiency Monitor !!!
Hi guys :)
Another thread about the DDR3 SDRAM Controller with UniPHY... Used Quartus version is 13.1 SP1. I have built and run a memory test design with QSYS with the aim to do some latency and efficiency tests. The memory test template and my selfmade implementation where both successful. Today I tried the EMI-Toolkit to check the calibration status of the controller (Debugging Option: Option 1 in the "Diagnostic" tab) and I had no problems doing so. but, then I decided to enable the "Efficiency and Protocol Checker" of the DD3 SDRAM Controller in the tab "Diagnostics", which cause a lost of the Avalon Slave port for the User Logic to access the data of the RAM! The "Efficiency and Protocol Checker" should enable the possibility to track the efficiency and command errors, which is a nice feature. Q1: How should the "Efficiency Monitor" calculate the efficiency when the user is not able to perform accesses to the memory!? Q2: And what does the warning: "Warning: ddr3_emif: in composed mode interface avl_0 must be an export of an internal interface" mean?? (I asked google but even he was felt sorry to refuse my question ;) ) The documentation just says: "Enable efficiency measurements to be performed on the controller avalon interface" so why is it disabled for the User Logic? For me it looks like a bug and I checked a lot of documents to find a explaination for this behaviour. https://www.alteraforum.com/forum/attachment.php?attachmentid=9339 Q3: Another questions arises: Why is it possible to enable the EMIF On-Chip Debug Toolkit with the checkbox, when it is enabled by selecting the "Debugging feature set: Option 1" ? Maybe it would allow the user the access the calibration registers via the the Avalon Slave Port or JTAG to read the content of the registers. Q4: When I enable the "EMIF On-Chip Debug Toolkit" with Avalon-MM Slave (without enabling the efficiency monitor, otherwise I couldn't see the Slave Port), the address span is huge from 0 to 0xf_ffff... In the document "Functional Description—UniPHY" on page 34, there is a list of the "UniPHY Register Map" and the "Controller Register Map" with an address span of 0 to 0x123... Q5: When I enable the "CSR" with Avalon-MM Slave, the address span is also huge from 0 to 0x3_ffff. In the document "Functional Description—UniPHY" on page 44, there are registers just from 0 to 0x50 listed ( Avalon CSR Slave and JTAG Memory Map ) !? I tried all combinations of the Controller Settings and Diagnostic tabs, but the Avalon Slave port for accessing the RAM is hidden depply in the tcl-waste land of the controller and I think this problem is not quite common. Generally I just want to do some efficiency measurements. In first approach I would like to do it with the EMIF Debug Toolkit, to save time and implemention effort. Hopefully someone could help me with this problem! I am counting on you ;) ! Kind regards, Roland