OpenCores

a VHDL 16550 UART core

Issue List
CS in APB Wrapper #9
Closed cbeguet opened this issue almost 15 years ago
cbeguet commented almost 15 years ago

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';

hlefevre was assigned almost 15 years ago
hlefevre commented almost 15 years ago

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.

hlefevre closed this almost 15 years ago

Assignee
hlefevre
Labels
Bug