Put projf in third_party and fixed makefiles
Signed-off-by: Joshua Fife <jpfife17@gmail.com>
This commit is contained in:
parent
106096f137
commit
a74f616bbf
|
@ -1,3 +1,3 @@
|
|||
[submodule "projf-explore"]
|
||||
path = projf-explore
|
||||
[submodule "third_party/projf-explore"]
|
||||
path = third_party/projf-explore
|
||||
url = https://github.com/projf/projf-explore.git
|
||||
|
|
|
@ -67,5 +67,18 @@ ${BOARD_BUILDDIR}/${TOP}.fasm: ${BOARD_BUILDDIR}/${TOP}.route
|
|||
${BOARD_BUILDDIR}/${TOP}.bit: ${BOARD_BUILDDIR}/${TOP}.fasm
|
||||
cd ${BOARD_BUILDDIR} && symbiflow_write_bitstream -d ${BITSTREAM_DEVICE} -f ${TOP}.fasm -p ${PARTNAME} -b ${TOP}.bit
|
||||
|
||||
download: ${BOARD_BUILDDIR}/${TOP}.bit
|
||||
if [ $(TARGET)='arty_35' ]; then \
|
||||
openocd -f ~/opt/symbiflow/xc7/conda/envs/xc7/share/openocd/scripts/board/digilent_arty.cfg -c "init; pld load 0 ${BOARD_BUILDDIR}/${TOP}.bit; exit"; \
|
||||
elif [ $(TARGET)='arty_100' ]; then \
|
||||
openocd -f ~/opt/symbiflow/xc7/conda/envs/xc7/share/openocd/scripts/board/digilent_arty.cfg -c "init; pld load 0 ${BOARD_BUILDDIR}/${TOP}.bit; exit"; \
|
||||
elif [ $(TARGET)='basys3' ]; then \
|
||||
openocd -f ~/opt/symbiflow/xc7/conda/envs/xc7/share/openocd/scripts/board/digilent_arty.cfg -c "init; pld load 0 ${BOARD_BUILDDIR}/${TOP}.bit; exit"; \
|
||||
else \
|
||||
echo "The commands needed to download the bitstreams to the board type specified are not currently supported by the symbiflow makefiles. \
|
||||
Please see documentation for more information."; \
|
||||
fi
|
||||
|
||||
|
||||
clean:
|
||||
rm -rf ${BUILDDIR}
|
|
@ -38,10 +38,9 @@ For example, to build the first design in project F's hello ary designs:
|
|||
|
||||
TARGET="arty_35" make -C projf-makefiles/hello/hello-arty/A
|
||||
|
||||
To download the bitstream to the board navigate to the generated bitstream and run openocd.
|
||||
For example to download the first design from hello arty:
|
||||
To download the bitstream to the board run ``make download``. For example to download the first design from
|
||||
hello arty, run the following in symbiflows root directory:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
cd hello-build/A
|
||||
openocd -f ${INSTALL_DIR}/${FPGA_FAM}/conda/envs/${FPGA_FAM}/share/openocd/scripts/board/digilent_arty.cfg -c "init; pld load 0 top.bit; exit"
|
||||
TARGET="arty_35" make download -C projf-makefiles/hello/hello-arty/A
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
Subproject commit 4c4c1b1cc0933b35c4f595344f3e2b9f93f31dab
|
|
@ -1,59 +0,0 @@
|
|||
BOARD_BUILDDIR := ${BUILDDIR}/${SUBPROJECT}
|
||||
|
||||
# Set board properties based on TARGET variable
|
||||
ifeq ($(TARGET),arty_35)
|
||||
DEVICE := xc7a50t_test
|
||||
BITSTREAM_DEVICE := artix7
|
||||
PARTNAME := xc7a35tcsg324-1
|
||||
else ifeq ($(TARGET),arty_100)
|
||||
DEVICE := xc7a100t_test
|
||||
BITSTREAM_DEVICE := artix7
|
||||
PARTNAME := xc7a100tcsg324-1
|
||||
else ifeq ($(TARGET),nexys4ddr)
|
||||
DEVICE := xc7a100t_test
|
||||
BITSTREAM_DEVICE := artix7
|
||||
PARTNAME := xc7a100tcsg324-1
|
||||
else ifeq ($(TARGET),nexys_video)
|
||||
DEVICE := xc7a200t_test
|
||||
BITSTREAM_DEVICE := artix7
|
||||
PARTNAME := xc7a200tsbg484-1
|
||||
else ifeq ($(TARGET),basys3)
|
||||
DEVICE := xc7a50t_test
|
||||
BITSTREAM_DEVICE := artix7
|
||||
PARTNAME := xc7a35tcpg236-1
|
||||
else
|
||||
$(error Unsupported board type)
|
||||
endif
|
||||
|
||||
|
||||
XDC_CMD := -x ${XDC}
|
||||
|
||||
|
||||
.DELETE_ON_ERROR:
|
||||
|
||||
# Build design
|
||||
all: ${BOARD_BUILDDIR}/${TOP}.bit
|
||||
|
||||
${BOARD_BUILDDIR}:
|
||||
mkdir -p ${BOARD_BUILDDIR}
|
||||
|
||||
${BOARD_BUILDDIR}/${TOP}.eblif: | ${BOARD_BUILDDIR}
|
||||
cd ${BOARD_BUILDDIR} && symbiflow_synth -t ${TOP} -v ${SOURCES} -d ${BITSTREAM_DEVICE} -p ${PARTNAME} ${XDC_CMD} 2>&1 > /dev/null
|
||||
|
||||
${BOARD_BUILDDIR}/${TOP}.net: ${BOARD_BUILDDIR}/${TOP}.eblif
|
||||
cd ${BOARD_BUILDDIR} && symbiflow_pack -e ${TOP}.eblif -d ${DEVICE} 2>&1 > /dev/null
|
||||
|
||||
${BOARD_BUILDDIR}/${TOP}.place: ${BOARD_BUILDDIR}/${TOP}.net
|
||||
cd ${BOARD_BUILDDIR} && symbiflow_place -e ${TOP}.eblif -d ${DEVICE} -n ${TOP}.net -P ${PARTNAME} 2>&1 > /dev/null
|
||||
|
||||
${BOARD_BUILDDIR}/${TOP}.route: ${BOARD_BUILDDIR}/${TOP}.place
|
||||
cd ${BOARD_BUILDDIR} && symbiflow_route -e ${TOP}.eblif -d ${DEVICE} 2>&1 > /dev/null
|
||||
|
||||
${BOARD_BUILDDIR}/${TOP}.fasm: ${BOARD_BUILDDIR}/${TOP}.route
|
||||
cd ${BOARD_BUILDDIR} && symbiflow_write_fasm -e ${TOP}.eblif -d ${DEVICE}
|
||||
|
||||
${BOARD_BUILDDIR}/${TOP}.bit: ${BOARD_BUILDDIR}/${TOP}.fasm
|
||||
cd ${BOARD_BUILDDIR} && symbiflow_write_bitstream -d ${BITSTREAM_DEVICE} -f ${TOP}.fasm -p ${PARTNAME} -b ${TOP}.bit
|
||||
|
||||
clean:
|
||||
rm -rf ${BUILDDIR}
|
|
@ -1,10 +1,8 @@
|
|||
current_dir := ${CURDIR}
|
||||
proj_f_dir := ${current_dir}/../../../../projf-explore/hello/hello-arty/A
|
||||
SUBPROJECT := A
|
||||
BUILDDIR := ${current_dir}/../../../../hello-build
|
||||
proj_f_dir := ${current_dir}/../../../../third_party/projf-explore/hello/hello-arty/A
|
||||
|
||||
TOP := top
|
||||
SOURCES := ${proj_f_dir}/top.sv
|
||||
XDC := ${proj_f_dir}/arty.xdc
|
||||
|
||||
include ${current_dir}/../../../common.mk
|
||||
include ${current_dir}/../../../../common/Makefile
|
||||
|
|
|
@ -2,11 +2,15 @@ Part 1 Design A
|
|||
===============
|
||||
|
||||
This design allows you to turn the first led on the arty board on and off by toggling switch 0.
|
||||
To build this design run the following command in main symbiflow directory:
|
||||
To build this design run the following command in the main symbiflow directory:
|
||||
|
||||
.. code:: bash
|
||||
:name: hello-arty-A
|
||||
|
||||
TARGET="arty_35" make -C projf-makefiles/hello/hello-arty/A"
|
||||
|
||||
You can then find the bitstream under ``symbiflow-examples/hello-build/A``.
|
||||
You can then download the bitstream by running:
|
||||
|
||||
.. code:: bash
|
||||
|
||||
TARGET="arty_35" make download -C projf-makefiles/hello/hello-arty/A"
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
Subproject commit cbbb1b42970720c2b5c17d05dbc119a7e1e54ea4
|
Loading…
Reference in New Issue