Hi Jason,
On 02/21/2012 03:24 AM, Jason Zheng wrote:
Hi,

I wasn't sure if this is the right channel to provide feedback, but
since your e-mail addresses are in the header of the file and the
opencores's forum is too disorganized I am sending this comment
directly to the authors.

we have mailing lists that are more suited than the forums for this kind
of communication, I have put them in CC.



I very much appreciate all the efforts that have been put behind the
openrisc project and I am currently experimenting with it on an Atlys
board. After my firrst synthesis/par run I noticed a lot of timing
errors in the static timing report. After examining the report and
comparing to the RTL files I came to the conclusion that there is a
clock-domain crossing issue in the xilinx_ddr2_if.v:

The signal ddr2_calib_done signal comes from the ddr2 clock domain,
while wb_req is treating it as if it came from wb_clk domain. As a
result the timing analysis tool assumed a worst case scenario of 5ns
between the two domains and the results were miserable.

While we can argue that this is a multi-cycle path, the fact is that
ddr2_calib_done feeds into multiple logic sinks and can potentially
cause meta-stability issue in the design. My solution was to add a
2-clock meta-stability filter to address both the timing problems and
the meta-stability concern:

That sounds like a good idea.


reg [1:0] ddr2_calib_done_z;

always @ (posedge wb_clk)
   ddr2_calib_done_z[1:0]<= {ddr2_calib_done, ddr2_calib_done_z[1]};

then replace ddr2_calib_done in the wb_req assignment with ddr2_calib_done_z[0]

Please use _r to describe a registered signal, to keep it consistent with the current code.


Please let me know if you can incorporate this change to the svn
repository. Thanks.

While I agree with the change and it would be easy change to just drop in,
the preferred workflow is to have patches posted to the mailinglist(s).
So, If you could post a patch to the addresses I put in the CC field,
it would be great.

Stefan
_______________________________________________
OpenRISC mailing list
[email protected]
http://lists.openrisc.net/listinfo/openrisc

Reply via email to