arty_a7: Add litesdcard interface
authorPaul Mackerras <paulus@ozlabs.org>
Thu, 15 Apr 2021 07:22:31 +0000 (17:22 +1000)
committerPaul Mackerras <paulus@ozlabs.org>
Tue, 11 May 2021 07:20:32 +0000 (17:20 +1000)
commit21ed730514eb367245bc67dccaaf64b00648a1f7
tree3dc146390537b5e7fda4e3bd0f08a3575329171c
parent231003f7c7fdb3654bda4bdb61719c5fb80cfe06
arty_a7: Add litesdcard interface

This adds litesdcard.v generated from the litex/litesdcard project,
along with logic in top-arty.vhdl to connect it into the system.
There is now a DMA wishbone coming in to soc.vhdl which is narrower
than the other wishbone masters (it has 32-bit data rather than
64-bit) so there is a widening/narrowing adapter between it and the
main wishbone master arbiter.

Also, litesdcard generates a non-pipelined wishbone for its DMA
connection, which needs to be converted to a pipelined wishbone.  We
have a latch on both the incoming and outgoing sides of the wishbone
in order to help make timing (at the cost of two extra cycles of
latency).

litesdcard generates an interrupt signal which is wired up to input 3
of the ICS (IRQ 19).

Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
fpga/arty_a7.xdc
fpga/top-arty.vhdl
include/microwatt_soc.h
litesdcard/fusesoc-add-files.py [new file with mode: 0644]
litesdcard/gen-src/generate.sh [new file with mode: 0755]
litesdcard/generated/arty/litesdcard_core.v [new file with mode: 0644]
litesdcard/litesdcard.core [new file with mode: 0644]
microwatt.core
soc.vhdl
syscon.vhdl
wishbone_types.vhdl