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