On Jul 24, 11:24 am, "jacob...@xilinx.com" <naude.j...@gmail.com>
wrote:
> On Jul 23, 9:56 pm, bgelb.mit....@gmail.com wrote:
>
>
>
> > Hello -
>
> > I am trying to use the Xilinx MIG version 1.72 to generate a working
> > interface for the DDR2 memory on the Xilinx ML501 eval board. I am
> > having a bit of trouble.
>
> > I am able to simulate the controller and testbench just fine using
> > ModelSim, but seem to be having issues getting it to work in hardware.
> > At the moment, I am simply checking the output of the phy_init_done
> > signal, which does not go high at any point, which indicates a problem
> > to me. I have not yet been able to delve much deeper into where things
> > are getting stuck.
>
> > I plan to use ChipScope to try to see what is going on, but I wonder
> > before I get too far, if anybody else has tried a similar
> > configuration? What experiences (good/bad) have people had with the
> > MIG and Virtex-5 DDR2 designs? It would make me feel better if
> > somebody out there had gotten it to work - it sounds like - from
> > reading this group at least, that there are no shortage of issues with
> > this stuff.
>
> > Thanks,
> > Ben
>
> Did you do a behavioral simulation? Do a post-PAR simulation and check
> if the initialization still completes.
>
> Also did you change the controller to work with the ML501? The ML501
> has a SODIMM device on it. Check the following link on information on
> how to change the controller to work with a SODIMM memory:http://www.xilinx.com/xlnx/xil_ans_d...eID=1&iCountry...
>
> Jaco
Hi Jacob,
Thanks for the reply. I did see the notes on using SODIMMs and believe
I have followed it correctly. I also appropriately modified the
testbench provided with the MIG output - 4 memory modules with 16-bit
datawidth, etc.
I had not run a simulation beyond behavioral. I ran a post-PAR sim
this afternoon and it seems to still simulate correctly (i.e.
phy_init_done) is asserted after ~42us.
I did see some error messages in the modelsim terminal window though:
# ** Error: /afs/csail.mit.edu/proj/redsocs/ISE9.1/verilog/mti_se/
simprims_ver/simprims_ver_source.v(102504): $setup( posedge DI[45] &&&
(wren_enable == 1):3407202 ps, posedge WRCLKL:3407664 ps, 465 ps );
....and later on...
# ** Error: /afs/csail.mit.edu/proj/redsocs/ISE9.1/verilog/mti_se/
simprims_ver/simprims_ver_source.v(100215): $setup( negedge DDLY:
49680022 ps, posedge CLKB:49680321 ps, 305 ps );
# Time: 49680321 ps Iteration: 0 Instance: /ddr2_test_tb/uut_top/
\mint/u_ddr2_top_0/u_mem_if_top_0/u_phy_top_0/u_phy_io_0/
gen_dq[54].u_iob_dq/u_iserdes_dq\
Not sure if these indicate the simulation isn't running properly or
what, but perhaps you can inform me faster than I can figure it out.
Any sense on where to go now? Is there a design that is known to work
on the ML501? I don't really want to use the EDK.
Thanks,
Ben