Altera_Forum
Honored Contributor
12 years agoCyclone V + Micron DDR3 + Uniphy + NiOS == always freezing
Dear All, I beg your support (and begging I meant serious :(),
after three consecutive weeks of having burned engineering time, I decided surrendering with that Cyclone V Dev board and to post a thread at this forum. tools used ide Quartus 12.1 64Bit, Qsys, NiOS Eclipse Indigo fpga 5CGXFC7D6F31C6NES (2x Hard-IP DDR, 2x Hard-IP PCIe)board Altera official Cyclone V GX Dev Kit Board (with PCIe edge connector) ddr ram Onboard DDR3 RAM. Micron MT41J128M16JT-125 (x2, i.e. 32Bit data, 256MByte) troubles System containing NiOS + Uniphy DDR3 Soft-IP + DDR3 RAM wouldnt work when being debugged AND/OR free-ran. flow
- Qsys generates w/o significant warnings (ODT is disabled, Quick Simulation, nothing spectacular).
- Quartus Analysis/Synthesis performs w/o significant warnings (e.g. synthesized-away nodes, pin stuck at lo/hi, etc... usual round of suspects).
- After Analysis/Synthesis, Qsys generated pin assignemt .tcl script can be executed w/o any warning.
- Fitter/Assembler perform w/o significant warnings (e.g. time limited .sof, ... ).
- Download works just fine.
- NiOSII Eclipse IDE BSP generation, MAKE, download and debug works correctly -- as long as only onchip SRAM is accessed.
- As soon as DDR3 memory is accessed, debugger suspends, "stepping" is being shown and debugger would never return, neither is pausable.
- Probed all major pins using a GHz scope. Such as LVDS Clk_in (125MHz), LVDS MEM Clk_out (350MHz), MEM_RSTn, etc.... Pins' levels seem conclusive. Clocks running, no stuck at reset.
- NiOS Debugging-view provided memory dump works on onchip SRAM only
- a.s.a. DDR3 RAM address range is specified in memory dump window, "stepping" and subsequent freeze haunts me again.
- NiOSII IDE - Source Code which proved to run as long as DDR3 (again) is not accessed
- QSYS connectivity map
- Quartus schematic (sorry for showing to you this vintage kind of block design, but I love having a schematic type of design file constituting the top level entity of my designs (I used to work with Max+PLUS II in former times, ahh... Flex10K FPGAs + MAX CPLDs, good old times, being reminiscent for a moment.... :rolleyes:)