OpenCores
URL https://opencores.org/ocsvn/xulalx25soc/xulalx25soc/trunk

Subversion Repositories xulalx25soc

[/] [xulalx25soc/] [trunk/] [rtl/] [toplevel.v] - Diff between revs 18 and 48

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 18 Rev 48
Line 107... Line 107...
                .CLKOUT_PHASE_SHIFT("FIXED"),
                .CLKOUT_PHASE_SHIFT("FIXED"),
                .CLK_FEEDBACK("1X"),
                .CLK_FEEDBACK("1X"),
                .DESKEW_ADJUST("SYSTEM_SYNCHRONOUS"),
                .DESKEW_ADJUST("SYSTEM_SYNCHRONOUS"),
                .DLL_FREQUENCY_MODE("LOW"),
                .DLL_FREQUENCY_MODE("LOW"),
                .DUTY_CYCLE_CORRECTION("TRUE"),
                .DUTY_CYCLE_CORRECTION("TRUE"),
                // At a clock of 92MHz ...
                // At a clock of 80MHz ...
                // Didn't work at -64, -70, -76 is worse than the other two
 
                // -56: Write works, 0x96 reads work 
 
                // -48: Write fails, 0x0183 or 0x351 is first write that fails
 
                // -40: Write fails, 0x071a,176a,0x576
 
                // -56 was my working choice at 92 MHz
 
                //      That would be about a 2.4ns delay from clock to 
 
                //      data.
 
                // Suddenly needed to shift to 80 MHz. 
 
                //      -56 no longer sort of works
 
                //      -49 writes seem to work, reads ... not so much
 
                //      -45 writes no longer working ??
 
                //              Read fails @ 0x891, 0x58e, @0x3d65, @0x0aec,
 
                //                      @0x11b8, @0beb, @0x01014
 
                // Trying a different approach: register in i_ram_feedback_clk,
 
                //      followed by o_ram_clk, instead of registering on
 
                //      clk_s second.  Starting build at 1857
 
                //      Okay, so that was an error, now they are referenced to
 
                //      intermediate_clk, and I still need to try
 
                //      intermediate_clk_n if that doesn't work.
 
                //      THIS NEEDS A DELAY ADJUSTMENT: WBSDRAMNG adjusted from
 
                //      6 to 5, and rebuild started at 1914. (finished by 1930)
 
                //      This one has read bugs at 0x027, 0x030, 0x039, 0x021
 
                //              etc.  So we are worse. 
 
                //      (We also failed timing--I did nothing to fix that)
 
                //
 
                // tho ... even if this works, it is wrong.  The data lines
 
                // going into wbsdramng need to be clocked on the system clock
 
                // on entrance.  Thus, the last always@ block must clock these
 
                // lines on clk_s.  This is fixed, and cannot change.
 
                // This leaves us with a couple options for clocking the first
 
                // always block:
 
                //
 
                //      i_ram_feedback_clk, posedge (the right answer ... but
 
                //              giving me problems)
 
                //      clk_s   pos/neg edge
 
                //      intermediate_clk        posedge (Build started at 1932)
 
                //              Result: much worse!!
 
                //      intermediate_clk_n      posedge (delay of 6 needed, not
 
                //              tested as a result.
 
                //
                //
 
                //      This clock needs to be delayed so that what takes
 
                //      place within the SDRAM takes place at the middle
 
                //      of the clock interval.  This is separate from all the
 
                //      rest of the logic in the FPGA where what takes place
 
                //      happens at the clock transition.
                //      
                //      
                .PHASE_SHIFT(-45),
                .PHASE_SHIFT(-45),
                .STARTUP_WAIT("TRUE")
                .STARTUP_WAIT("TRUE")
        ) u1(   .CLKIN(clk_s),
        ) u1(   .CLKIN(clk_s),
                .CLK0(ck_zero_1),
                .CLK0(ck_zero_1),

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.