OpenCores

CS in APB Wrapper

Back to bugtracker overview.

Information:
Type :: BUG
Status :: CLOSED
Assigned to :: Howard, A. LeFevre

Description:
Problem:
Tx FIFO (U28) latch data two times on one ABP write cycle. Two wr pluses are generated on FIFO wr input. Edge detection (U3) in ABP wrapper detect two rising edge instead of one. There is a mistake in CS equation.

Solution:
in file gh_uart_16550_amba_apb_wrapper.vhd, line 171, change
CS <= '1' when ((PSEL = '1') and (PENABLE = '0')) else '0';
to
CS <= '1' when ((PSEL = '1') and (PENABLE = '1')) else '0';

Comments:

A. LeFevre, Howard Jul 7, 2009
If the signals have the timing as shown in the AMBA Specification (Rev 2.0) page 5-5 (figure 5-3) wrapper works fine. If PSEL remains high for an extra clock cycle (without the data for a new transfer in progress - which should not happen - read the second paragraph after figure 5-3) an extra write will happen to the core - but, while repeating myself, PSEL being high for an extra clock period violates the specification.

Post a comment:
Login to post comments!

Back to bugtracker overview.

© copyright 1999-2012 OpenCores.org, equivalent to ORSoC AB, all rights reserved. OpenCores®, registered trademark.