diff --git a/cpu/zpu_pkg.vhd b/cpu/zpu_pkg.vhd
index e48688d..cc420d2 100644
--- a/cpu/zpu_pkg.vhd
+++ b/cpu/zpu_pkg.vhd
@@ -52,7 +52,7 @@ package zpu_pkg is
-- Debug options.
--
- constant DEBUG_CPU : boolean := true; -- Enable CPU debugging output.
+ constant DEBUG_CPU : boolean := false; -- Enable CPU debugging output.
constant DEBUG_LEVEL : integer := 0; -- Level of debugging output. 0 = Basic, such as Breakpoint, 1 =+ Executing Instructions, 2 =+ L1 Cache contents, 3 =+ L2 Cache contents, 4 =+ Memory contents, 5=+ 4Everything else.
constant DEBUG_MAX_TX_FIFO_BITS : integer := 12; -- Size of UART TX Fifo for debug output.
constant DEBUG_MAX_FIFO_BITS : integer := 3; -- Size of debug output data records fifo.
diff --git a/docker/QuartusPrime/Dockerfile.13.0.1 b/docker/QuartusPrime/Dockerfile.13.0.1
index 6a6009b..7632c7f 100644
--- a/docker/QuartusPrime/Dockerfile.13.0.1
+++ b/docker/QuartusPrime/Dockerfile.13.0.1
@@ -64,6 +64,8 @@ RUN apt-get install --no-install-recommends -y \
libxau-dev:i386 \
libxdmcp-dev:i386 \
libfreetype6:i386 \
+ libxtst6:i386 \
+ libxi6:i386 \
fontconfig:i386 \
expat:i386 \
lib32ncurses5-dev \
@@ -92,7 +94,9 @@ RUN apt-get install --no-install-recommends -y \
xvfb \
net-tools \
x11-apps \
+ aptitude \
vim \
+ sudo \
firefox
# Setup environment defaults.
@@ -107,27 +111,27 @@ ENV EXEC_DIR ${INSTALLATION_DIR}
#
# PRODUCTION CYCLE, fetch files from Altera as needed.
-RUN echo "Fetching ${TARGET_DOWNLOAD_DIR} ${ALTERA_DOWNLOAD_SITE}/${QUARTUS_VERSION_INSTALLER}/${QUARTUS}"
-RUN wget -q --directory-prefix=${TARGET_DOWNLOAD_DIR} ${ALTERA_DOWNLOAD_SITE}/${QUARTUS_VERSION_INSTALLER}/${QUARTUS}
-#RUN echo "Fetching ${TARGET_DOWNLOAD_DIR} ${ALTERA_DOWNLOAD_SITE}/${QUARTUS_VERSION_INSTALLER}/${QUARTUS_UPDATE}"
-#RUN wget -q --directory-prefix=${TARGET_DOWNLOAD_DIR} ${ALTERA_DOWNLOAD_SITE}/${QUARTUS_VERSION_UPDATE}/${QUARTUS_UPDATE}
-RUN echo "Fetching ${TARGET_DOWNLOAD_DIR} ${ALTERA_DOWNLOAD_SITE}/${QUARTUS_VERSION_INSTALLER}/${QUARTUS_PROGRAMMER}"
-RUN wget -q --directory-prefix=${TARGET_DOWNLOAD_DIR} ${ALTERA_DOWNLOAD_SITE}/${QUARTUS_VERSION_INSTALLER}/${QUARTUS_PROGRAMMER}
-RUN echo "Fetching ${TARGET_DOWNLOAD_DIR} ${ALTERA_DOWNLOAD_SITE}/${QUARTUS_VERSION_INSTALLER}/${QUARTUS_HELP}"
-RUN wget -q --directory-prefix=${TARGET_DOWNLOAD_DIR} ${ALTERA_DOWNLOAD_SITE}/${QUARTUS_VERSION_INSTALLER}/${QUARTUS_HELP}
-RUN echo "Fetching ${TARGET_DOWNLOAD_DIR} ${ALTERA_DOWNLOAD_SITE}/${QUARTUS_VERSION_INSTALLER}/${QUARTUS_LINUX_SUPPORT_BIN}"
-RUN wget -q --directory-prefix=${TARGET_DOWNLOAD_DIR} ${ALTERA_DOWNLOAD_SITE}/${QUARTUS_VERSION_INSTALLER}/${QUARTUS_LINUX_SUPPORT_BIN}
-RUN echo "Fetching ${TARGET_DOWNLOAD_DIR} ${ALTERA_DOWNLOAD_SITE}/${QUARTUS_VERSION_INSTALLER}/${QUARTUS_LINUX_SUPPORT_SRC}"
-RUN wget -q --directory-prefix=${TARGET_DOWNLOAD_DIR} ${ALTERA_DOWNLOAD_SITE}/${QUARTUS_VERSION_INSTALLER}/${QUARTUS_LINUX_SUPPORT_SRC}
-RUN for DEVICE_FILE in ${QUARTUS_DEVICE_FILES}; \
- do \
- echo "Fetching ${TARGET_DOWNLOAD_DIR} ${ALTERA_DOWNLOAD_SITE}/${QUARTUS_VERSION_INSTALLER}/${DEVICE_FILE}"; \
- wget -q --directory-prefix=${TARGET_DOWNLOAD_DIR} ${ALTERA_DOWNLOAD_SITE}/${QUARTUS_VERSION_INSTALLER}/${DEVICE_FILE}; \
- done
+#RUN echo "Fetching ${TARGET_DOWNLOAD_DIR} ${ALTERA_DOWNLOAD_SITE}/${QUARTUS_VERSION_INSTALLER}/${QUARTUS}"
+#RUN wget -q --directory-prefix=${TARGET_DOWNLOAD_DIR} ${ALTERA_DOWNLOAD_SITE}/${QUARTUS_VERSION_INSTALLER}/${QUARTUS}
+##RUN echo "Fetching ${TARGET_DOWNLOAD_DIR} ${ALTERA_DOWNLOAD_SITE}/${QUARTUS_VERSION_INSTALLER}/${QUARTUS_UPDATE}"
+##RUN wget -q --directory-prefix=${TARGET_DOWNLOAD_DIR} ${ALTERA_DOWNLOAD_SITE}/${QUARTUS_VERSION_UPDATE}/${QUARTUS_UPDATE}
+#RUN echo "Fetching ${TARGET_DOWNLOAD_DIR} ${ALTERA_DOWNLOAD_SITE}/${QUARTUS_VERSION_INSTALLER}/${QUARTUS_PROGRAMMER}"
+#RUN wget -q --directory-prefix=${TARGET_DOWNLOAD_DIR} ${ALTERA_DOWNLOAD_SITE}/${QUARTUS_VERSION_INSTALLER}/${QUARTUS_PROGRAMMER}
+#RUN echo "Fetching ${TARGET_DOWNLOAD_DIR} ${ALTERA_DOWNLOAD_SITE}/${QUARTUS_VERSION_INSTALLER}/${QUARTUS_HELP}"
+#RUN wget -q --directory-prefix=${TARGET_DOWNLOAD_DIR} ${ALTERA_DOWNLOAD_SITE}/${QUARTUS_VERSION_INSTALLER}/${QUARTUS_HELP}
+#RUN echo "Fetching ${TARGET_DOWNLOAD_DIR} ${ALTERA_DOWNLOAD_SITE}/${QUARTUS_VERSION_INSTALLER}/${QUARTUS_LINUX_SUPPORT_BIN}"
+#RUN wget -q --directory-prefix=${TARGET_DOWNLOAD_DIR} ${ALTERA_DOWNLOAD_SITE}/${QUARTUS_VERSION_INSTALLER}/${QUARTUS_LINUX_SUPPORT_BIN}
+#RUN echo "Fetching ${TARGET_DOWNLOAD_DIR} ${ALTERA_DOWNLOAD_SITE}/${QUARTUS_VERSION_INSTALLER}/${QUARTUS_LINUX_SUPPORT_SRC}"
+#RUN wget -q --directory-prefix=${TARGET_DOWNLOAD_DIR} ${ALTERA_DOWNLOAD_SITE}/${QUARTUS_VERSION_INSTALLER}/${QUARTUS_LINUX_SUPPORT_SRC}
+#RUN for DEVICE_FILE in ${QUARTUS_DEVICE_FILES}; \
+# do \
+# echo "Fetching ${TARGET_DOWNLOAD_DIR} ${ALTERA_DOWNLOAD_SITE}/${QUARTUS_VERSION_INSTALLER}/${DEVICE_FILE}"; \
+# wget -q --directory-prefix=${TARGET_DOWNLOAD_DIR} ${ALTERA_DOWNLOAD_SITE}/${QUARTUS_VERSION_INSTALLER}/${DEVICE_FILE}; \
+# done
# DEVELOPMENT CYCLE, quartus files cached locally.
-#COPY ./files/13.0/*.qdz ${TARGET_DOWNLOAD_DIR}
-#COPY ./files/13.0/*.run ${TARGET_DOWNLOAD_DIR}
+COPY ./files/13.0/*.qdz ${TARGET_DOWNLOAD_DIR}
+COPY ./files/13.0/*.run ${TARGET_DOWNLOAD_DIR}
# Install Quartus.
RUN chmod +x ${TARGET_DOWNLOAD_DIR}${QUARTUS}
@@ -151,6 +155,11 @@ COPY ./files/quartus_web_rules_file.txt /root/.altera.quartus/
COPY ./files/libjtag_hw_arrow.so ${INSTALLATION_DIR}/quartus/linux64/
COPY ./files/70-usb.rules /etc/udev/rules.d/
+# Local upgrades.
+COPY local/13.0/license.dat ${INSTALLATION_DIR}/
+COPY local/13.0/64/libsys_cpt.so ${INSTALLATION_DIR}/quartus/linux64/
+COPY local/13.0/32/libsys_cpt.so ${INSTALLATION_DIR}/quartus/linux/
+
# Setup necessary environment variables.
RUN echo "export PATH=\$PATH:${INSTALLATION_DIR}/quartus/bin:${INSTALLATION_DIR}/qprogrammer/bin" >> /root/.bashrc
RUN echo "export LM_LICENSE_FILE=${INSTALLATION_DIR}/license.dat" >> /root/.bashrc
diff --git a/docker/QuartusPrime/Dockerfile.13.1 b/docker/QuartusPrime/Dockerfile.13.1
index cd3f09e..eb1d0ed 100644
--- a/docker/QuartusPrime/Dockerfile.13.1
+++ b/docker/QuartusPrime/Dockerfile.13.1
@@ -48,7 +48,7 @@ ARG QUARTUS=QuartusSetup-13.1.0.162.run
ARG QUARTUS_UPDATE=QuartusSetup-13.1.0.162.run
ARG QUARTUS_PROGRAMMER=QuartusProgrammerSetup-13.1.0.162.run
ARG QUARTUS_HELP=QuartusHelpSetup-13.1.0.162.run
-ARG QUARTUS_DEVICE_FILES="arria_web-13.1.0.162.qdz cyclone_web-13.1.0.162.qdz cyclonev-13.1.0.162.qdz max_web-13.1.0.162.qdz"
+ARG QUARTUS_DEVICE_FILES="arria-13.1.0.162 arriav-13.1.0.162 arriavgz-13.1.0.162 arria_web-13.1.0.162 cyclone-13.1.0.162 cyclonev-13.1.0.162 cyclone_web-13.1.0.162 max-13.1.0.162 max-17.1.0.590 max_web-13.1.0.162 stratixv-13.1.0.162"
# Base Ubuntu install, add necessary packages for Quartus, command line editting and web-browser.
@@ -63,6 +63,8 @@ RUN apt-get install --no-install-recommends -y \
libxau-dev:i386 \
libxdmcp-dev:i386 \
libfreetype6:i386 \
+ libxtst6:i386 \
+ libxi6:i386 \
fontconfig:i386 \
expat:i386 \
lib32ncurses5-dev \
@@ -91,7 +93,9 @@ RUN apt-get install --no-install-recommends -y \
xvfb \
net-tools \
x11-apps \
+ aptitude \
vim \
+ sudo \
firefox
# Setup environment defaults.
@@ -106,23 +110,23 @@ ENV EXEC_DIR ${INSTALLATION_DIR}
#
# PRODUCTION CYCLE, fetch files from Altera as needed.
-RUN echo "Fetching ${TARGET_DOWNLOAD_DIR} ${ALTERA_DOWNLOAD_SITE}/${QUARTUS_VERSION_INSTALLER}/${QUARTUS}"
-RUN wget -q --directory-prefix=${TARGET_DOWNLOAD_DIR} ${ALTERA_DOWNLOAD_SITE}/${QUARTUS_VERSION_INSTALLER}/${QUARTUS}
-#RUN echo "Fetching ${TARGET_DOWNLOAD_DIR} ${ALTERA_DOWNLOAD_SITE}/${QUARTUS_VERSION_INSTALLER}/${QUARTUS_UPDATE}"
-#RUN wget -q --directory-prefix=${TARGET_DOWNLOAD_DIR} ${ALTERA_DOWNLOAD_SITE}/${QUARTUS_VERSION_UPDATE}/${QUARTUS_UPDATE}
-RUN echo "Fetching ${TARGET_DOWNLOAD_DIR} ${ALTERA_DOWNLOAD_SITE}/${QUARTUS_VERSION_INSTALLER}/${QUARTUS_PROGRAMMER}"
-RUN wget -q --directory-prefix=${TARGET_DOWNLOAD_DIR} ${ALTERA_DOWNLOAD_SITE}/${QUARTUS_VERSION_INSTALLER}/${QUARTUS_PROGRAMMER}
-RUN echo "Fetching ${TARGET_DOWNLOAD_DIR} ${ALTERA_DOWNLOAD_SITE}/${QUARTUS_VERSION_INSTALLER}/${QUARTUS_HELP}"
-RUN wget -q --directory-prefix=${TARGET_DOWNLOAD_DIR} ${ALTERA_DOWNLOAD_SITE}/${QUARTUS_VERSION_INSTALLER}/${QUARTUS_HELP}
-RUN for DEVICE_FILE in ${QUARTUS_DEVICE_FILES}; \
- do \
- echo "Fetching ${TARGET_DOWNLOAD_DIR} ${ALTERA_DOWNLOAD_SITE}/${QUARTUS_VERSION_INSTALLER}/${DEVICE_FILE}"; \
- wget -q --directory-prefix=${TARGET_DOWNLOAD_DIR} ${ALTERA_DOWNLOAD_SITE}/${QUARTUS_VERSION_INSTALLER}/${DEVICE_FILE}; \
- done
+#RUN echo "Fetching ${TARGET_DOWNLOAD_DIR} ${ALTERA_DOWNLOAD_SITE}/${QUARTUS_VERSION_INSTALLER}/${QUARTUS}"
+#RUN wget -q --directory-prefix=${TARGET_DOWNLOAD_DIR} ${ALTERA_DOWNLOAD_SITE}/${QUARTUS_VERSION_INSTALLER}/${QUARTUS}
+##RUN echo "Fetching ${TARGET_DOWNLOAD_DIR} ${ALTERA_DOWNLOAD_SITE}/${QUARTUS_VERSION_INSTALLER}/${QUARTUS_UPDATE}"
+##RUN wget -q --directory-prefix=${TARGET_DOWNLOAD_DIR} ${ALTERA_DOWNLOAD_SITE}/${QUARTUS_VERSION_UPDATE}/${QUARTUS_UPDATE}
+#RUN echo "Fetching ${TARGET_DOWNLOAD_DIR} ${ALTERA_DOWNLOAD_SITE}/${QUARTUS_VERSION_INSTALLER}/${QUARTUS_PROGRAMMER}"
+#RUN wget -q --directory-prefix=${TARGET_DOWNLOAD_DIR} ${ALTERA_DOWNLOAD_SITE}/${QUARTUS_VERSION_INSTALLER}/${QUARTUS_PROGRAMMER}
+#RUN echo "Fetching ${TARGET_DOWNLOAD_DIR} ${ALTERA_DOWNLOAD_SITE}/${QUARTUS_VERSION_INSTALLER}/${QUARTUS_HELP}"
+#RUN wget -q --directory-prefix=${TARGET_DOWNLOAD_DIR} ${ALTERA_DOWNLOAD_SITE}/${QUARTUS_VERSION_INSTALLER}/${QUARTUS_HELP}
+#RUN for DEVICE_FILE in ${QUARTUS_DEVICE_FILES}; \
+# do \
+# echo "Fetching ${TARGET_DOWNLOAD_DIR} ${ALTERA_DOWNLOAD_SITE}/${QUARTUS_VERSION_INSTALLER}/${DEVICE_FILE}"; \
+# wget -q --directory-prefix=${TARGET_DOWNLOAD_DIR} ${ALTERA_DOWNLOAD_SITE}/${QUARTUS_VERSION_INSTALLER}/${DEVICE_FILE}; \
+# done
# DEVELOPMENT CYCLE, quartus files cached locally.
-#COPY ./files/13.1/*.qdz ${TARGET_DOWNLOAD_DIR}
-#COPY ./files/13.1/*.run ${TARGET_DOWNLOAD_DIR}
+COPY ./files/13.1/*.qdz ${TARGET_DOWNLOAD_DIR}
+COPY ./files/13.1/*.run ${TARGET_DOWNLOAD_DIR}
# Install Quartus.
RUN chmod +x ${TARGET_DOWNLOAD_DIR}${QUARTUS}
@@ -146,6 +150,11 @@ COPY ./files/quartus_web_rules_file.txt /root/.altera.quartus/
COPY ./files/libjtag_hw_arrow.so ${INSTALLATION_DIR}/quartus/linux64/
COPY ./files/70-usb.rules /etc/udev/rules.d/
+# Local upgrades.
+COPY local/13.1/license.dat ${INSTALLATION_DIR}/
+COPY local/13.1/64/libsys_cpt.so ${INSTALLATION_DIR}/quartus/linux64/
+COPY local/13.1/32/libsys_cpt.so ${INSTALLATION_DIR}/quartus/linux/
+
# Setup necessary environment variables.
RUN echo "export PATH=\$PATH:${INSTALLATION_DIR}/quartus/bin:${INSTALLATION_DIR}/qprogrammer/bin" >> /root/.bashrc
RUN echo "export LM_LICENSE_FILE=${INSTALLATION_DIR}/license.dat" >> /root/.bashrc
diff --git a/docker/QuartusPrime/Dockerfile.17.1.1 b/docker/QuartusPrime/Dockerfile.17.1.1
index 7f06e9a..c56ea41 100644
--- a/docker/QuartusPrime/Dockerfile.17.1.1
+++ b/docker/QuartusPrime/Dockerfile.17.1.1
@@ -25,8 +25,11 @@
## along with this program. If not, see .
#########################################################################################################
+
# Ubuntu 16.04 as the base.
FROM ubuntu:xenial
+
+# Maintainer!
MAINTAINER Philip Smart
# Set build time environment variables.
@@ -101,20 +104,19 @@ ENV EXEC_DIR ${INSTALLATION_DIR}
#
# PRODUCTION CYCLE, fetch files from Altera as needed.
-RUN wget -q --directory-prefix=${TARGET_DOWNLOAD_DIR} ${ALTERA_DOWNLOAD_SITE}/${QUARTUS_VERSION_INSTALLER}/${QUARTUS}
-RUN wget -q --directory-prefix=${TARGET_DOWNLOAD_DIR} ${ALTERA_DOWNLOAD_SITE}/${QUARTUS_VERSION_UPDATE}/${QUARTUS_UPDATE}
-RUN wget -q --directory-prefix=${TARGET_DOWNLOAD_DIR} ${ALTERA_DOWNLOAD_SITE}/${QUARTUS_VERSION_INSTALLER}/${QUARTUS_PROGRAMMER}
-RUN wget -q --directory-prefix=${TARGET_DOWNLOAD_DIR} ${ALTERA_DOWNLOAD_SITE}/${QUARTUS_VERSION_INSTALLER}/${QUARTUS_HELP}
-RUN for DEVICE_FILE in ${QUARTUS_DEVICE_FILES}; \
- do \
- echo "Fetching ${TARGET_DOWNLOAD_DIR} ${ALTERA_DOWNLOAD_SITE}/${QUARTUS_VERSION_INSTALLER}/${DEVICE_FILE}"; \
- wget -q --directory-prefix=${TARGET_DOWNLOAD_DIR} ${ALTERA_DOWNLOAD_SITE}/${QUARTUS_VERSION_INSTALLER}/${DEVICE_FILE}; \
- done
+#RUN wget -q --directory-prefix=${TARGET_DOWNLOAD_DIR} ${ALTERA_DOWNLOAD_SITE}/${QUARTUS_VERSION_INSTALLER}/${QUARTUS}
+#RUN wget -q --directory-prefix=${TARGET_DOWNLOAD_DIR} ${ALTERA_DOWNLOAD_SITE}/${QUARTUS_VERSION_UPDATE}/${QUARTUS_UPDATE}
+#RUN wget -q --directory-prefix=${TARGET_DOWNLOAD_DIR} ${ALTERA_DOWNLOAD_SITE}/${QUARTUS_VERSION_INSTALLER}/${QUARTUS_PROGRAMMER}
+#RUN wget -q --directory-prefix=${TARGET_DOWNLOAD_DIR} ${ALTERA_DOWNLOAD_SITE}/${QUARTUS_VERSION_INSTALLER}/${QUARTUS_HELP}
+#RUN for DEVICE_FILE in ${QUARTUS_DEVICE_FILES}; \
+# do \
+# echo "Fetching ${TARGET_DOWNLOAD_DIR} ${ALTERA_DOWNLOAD_SITE}/${QUARTUS_VERSION_INSTALLER}/${DEVICE_FILE}"; \
+# wget -q --directory-prefix=${TARGET_DOWNLOAD_DIR} ${ALTERA_DOWNLOAD_SITE}/${QUARTUS_VERSION_INSTALLER}/${DEVICE_FILE}; \
+# done
# DEVELOPMENT CYCLE, quartus files cached locally.
-# Development cycle, quartus files cached locally.
-#COPY ./files/17.1.1/*.qdz ${TARGET_DOWNLOAD_DIR}
-#COPY ./files/17.1.1/*.run ${TARGET_DOWNLOAD_DIR}
+COPY ./files/17.1/*.qdz ${TARGET_DOWNLOAD_DIR}
+COPY ./files/17.1/*.run ${TARGET_DOWNLOAD_DIR}
# Install Quartus.
RUN chmod +x ${TARGET_DOWNLOAD_DIR}${QUARTUS}
@@ -138,6 +140,11 @@ COPY ./files/quartus_web_rules_file.txt /root/.altera.quartus/
COPY ./files/libjtag_hw_arrow.so ${INSTALLATION_DIR}/quartus/linux64/
COPY ./files/70-usb.rules /etc/udev/rules.d/
+# Local upgrades.
+COPY local/17.1/license.dat ${INSTALLATION_DIR}/
+COPY local/17.1/libsys_cpt.so ${INSTALLATION_DIR}/quartus/linux64/
+COPY local/17.1/libgcl_afcq.so ${INSTALLATION_DIR}/quartus/linux64/
+
# Setup necessary environment variables.
RUN echo "export PATH=\$PATH:${INSTALLATION_DIR}/quartus/bin:${INSTALLATION_DIR}/qprogrammer/bin" >> /root/.bashrc
RUN echo "export LM_LICENSE_FILE=${INSTALLATION_DIR}/license.dat" >> /root/.bashrc