soc: Re-do peripheral address decode to improve timing
authorPaul Mackerras <paulus@ozlabs.org>
Mon, 11 Oct 2021 06:46:44 +0000 (17:46 +1100)
committerPaul Mackerras <paulus@ozlabs.org>
Sun, 13 Feb 2022 18:23:36 +0000 (05:23 +1100)
commit4cf2921b0bd433f870878dd56b3f2bac3a3860c6
treed2f1c6877936ca618092ed4b614c741c18d4d6de
parent49ec80ac3e19967da9e2521dc5556755f304482d
soc: Re-do peripheral address decode to improve timing

This generates a series of io_cycle_* signals which are clean latches
and which become the 'cyc' signals of the wishbone buses going to
various peripherals (syscon, uarts, XICS, GPIO, etc.).  Effectively
this is done by moving the address decoding into the slave_io_latch
process.  The slave_io_type, which drives the multiplexer which
selects which wishbone to look for a response on, is reduced to just 8
values in the expectation that an 8-way multiplexer will use less
logic than one with more than 8 inputs.

With this timing is considerably better on the A7-100T.

Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
soc.vhdl