mirror of
https://github.com/antonblanchard/microwatt.git
synced 2026-04-18 08:16:43 +00:00
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>
36 lines
906 B
Bash
Executable File
36 lines
906 B
Bash
Executable File
#!/bin/bash
|
|
|
|
TARGETS=arty
|
|
|
|
ME=$(realpath $0)
|
|
echo ME=$ME
|
|
MY_PATH=$(dirname $ME)
|
|
echo MYPATH=$MY_PATH
|
|
PARENT_PATH=$(realpath $MY_PATH/..)
|
|
echo PARENT=$PARENT_PATH
|
|
BUILD_PATH=$PARENT_PATH/build
|
|
mkdir -p $BUILD_PATH
|
|
GEN_PATH=$PARENT_PATH/generated
|
|
mkdir -p $GEN_PATH
|
|
|
|
# Note litesdcard/gen.py doesn't parse a YAML file, instead it takes
|
|
# a --vendor=xxx parameter, where xxx = xilinx or lattice. If we
|
|
# want to generate litesdcard for ecp5 we'll have to invent a way to
|
|
# map arty to xilinx and ecp5 to lattice
|
|
|
|
for i in $TARGETS
|
|
do
|
|
TARGET_BUILD_PATH=$BUILD_PATH/$i
|
|
TARGET_GEN_PATH=$GEN_PATH/$i
|
|
rm -rf $TARGET_BUILD_PATH
|
|
rm -rf $TARGET_GEN_PATH
|
|
mkdir -p $TARGET_BUILD_PATH
|
|
mkdir -p $TARGET_GEN_PATH
|
|
|
|
echo "Generating $i in $TARGET_BUILD_PATH"
|
|
(cd $TARGET_BUILD_PATH && litesdcard_gen)
|
|
|
|
cp $TARGET_BUILD_PATH/build/gateware/litesdcard_core.v $TARGET_GEN_PATH/
|
|
done
|
|
|