OpenCores
no use no use 1/1 no use no use
CAN Controller bug in can_fifo.v
by JeffHanoch on Mar 9, 2005
JeffHanoch
Posts: 6
Joined: Jun 9, 2008
Last seen: May 22, 2024
I was using the CAN controller in an FPGA and was seeing some strange behavior. We would halt the CPU debugger but the activity on the CAN bus would continue. This filled up the FIFOs in the controller as expected, but it would get into some strange state where we could not read correct data. Upon further logic simulation I narrowed down what I think the problem is... In the always statement that generates the rd_info_pointer, the pointer is incremented when release_buffer is high and fifo_empty is low. I believe that this should be info_empty instead of fifo_empty. I have changed this and rerun simulations as well as rebuilding the FPGA and it seems to have fixed the problem. Here's the code I changed (line 283 of can_fifo.v). What do you think? // rd_info_pointer always @ (posedge clk or posedge rst) begin if (rst) rd_info_pointer http://www.opencores.org/forums.cgi/cores/attachments/20050309/f2b1f737/attachment.pgp
CAN Controller bug in can_fifo.v
by Unknown on Mar 10, 2005
Not available!
Hi, Jeff. Yes, you are right. Sorry for that. I already updated the cvs version. Thanks for reporting. Best regards, Igor On Wed, 09 Mar 2005 13:33:56 -0600, Jeff Hanoch jeff at lowrance.com> wrote:
I was using the CAN controller in an FPGA and was seeing some strange behavior. We would halt the CPU debugger but the activity on the CAN bus would continue. This filled up the FIFOs in the controller as expected, but it would get into some strange state where we could not read correct data. Upon further logic simulation I narrowed down what I think the problem is... In the always statement that generates the rd_info_pointer, the pointer is incremented when release_buffer is high and fifo_empty is low. I believe that this should be info_empty instead of fifo_empty. I have changed this and rerun simulations as well as rebuilding the FPGA and it seems to have fixed the problem. Here's the code I changed (line 283 of can_fifo.v). What do you think? // rd_info_pointer always @ (posedge clk or posedge rst) begin if (rst) rd_info_pointer http://www.opencores.org/mailman/listinfo/cores



no use no use 1/1 no use no use
© copyright 1999-2025 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.