Documentation updates.
authorTerry Barnaby <terry.barnaby@beam.beam.ltd.uk>
Thu, 21 May 2020 11:41:25 +0000 (12:41 +0100)
committerTerry Barnaby <terry.barnaby@beam.beam.ltd.uk>
Thu, 21 May 2020 11:41:25 +0000 (12:41 +0100)
Added "Project" parameter.
Build system changes.

docsrc/DuneNvmeStorageManual.odt
src/NvmeStorage.vhd
src/NvmeStoragePkg.vhd
src/NvmeStorageUnit.vhd
vivado/Makefile
vivado/Vivado.mk

index 705238c3412227c7e275a6d16d9c908154b675af..94be8fdde480829786c8ea627e4997114f02e4e6 100644 (file)
Binary files a/docsrc/DuneNvmeStorageManual.odt and b/docsrc/DuneNvmeStorageManual.odt differ
index ddba299bfa7c844c6c3d3ea439078be7919de3ee..3729a379a9ff98cb8b6ee497754dec0312bdf1fb 100644 (file)
@@ -45,6 +45,7 @@ use work.NvmeStorageIntPkg.all;
 entity NvmeStorage is
 generic(
        Simulate        : boolean       := False;                       --! Generate simulation core
+       Platform        : string        := "Ultrascale";                --! The underlying target platform
        ClockPeriod     : time          := 4 ns;                        --! Clock period for timers (250 MHz)
        BlockSize       : integer       := NvmeStorageBlockSize;        --! System block size
        NumBlocksDrop   : integer       := 2;                           --! The number of blocks to drop at a time
@@ -97,6 +98,7 @@ architecture Behavioral of NvmeStorage is
 component NvmeStorageUnit is
 generic(
        Simulate        : boolean       := Simulate;            --! Generate simulation core
+       Platform        : string        := Platform;            --! The underlying target platform
        ClockPeriod     : time          := ClockPeriod;         --! Clock period for timers (250 MHz)
        BlockSize       : integer       := BlockSize;           --! System block size
        PcieCore        : integer       := 0;                   --! The Pcie hardblock block to use
index 1cc90e151d0c6c1cb7fcea04d71ecd1987c19a33..45147d1377cce10c9b09733793219aa2d80521f2 100644 (file)
@@ -106,6 +106,7 @@ package NvmeStoragePkg is
        component NvmeStorage is
        generic(
                Simulate        : boolean       := False;                       --! Generate simulation core
+               Platform        : string        := "Ultrascale";                --! The underlying target platform
                ClockPeriod     : time          := 4 ns;                        --! Clock period for timers (250 MHz)
                BlockSize       : integer       := NvmeStorageBlockSize;        --! System block size
                NumBlocksDrop   : integer       := 2;                           --! The number of blocks to drop at a time
index 5a1fc2b391564b8456300c36f84ac39f67e5b75e..62916cdf8cb82d13361e716f47b3886684d56b46 100644 (file)
@@ -45,6 +45,7 @@ use work.NvmeStorageIntPkg.all;
 entity NvmeStorageUnit is
 generic(
        Simulate        : boolean       := False;               --! Generate simulation core
+       Platform        : string        := "Ultrascale";        --! The underlying target platform
        ClockPeriod     : time          := 4 ns;                --! Clock period for timers (250 MHz)
        BlockSize       : integer       := NvmeStorageBlockSize;        --! System block size
        PcieCore        : integer       := 0;                   --! The Pcie hardblock block to use
index a5c1ec947462745a208c591e5ecc7d8de4d31f6e..92b1681059bceb9bdedc80b795429b0c2b5fdd92 100644 (file)
@@ -5,6 +5,7 @@
 #
 # Targets
 #  all:                Build everything to the FPGA bit file
+#  project:    Just build the Vivado project file
 #  program     Program the FPGA over jtag
 #  clean:      Remove output files and project files
 #  distclean:  Clean all files
@@ -15,7 +16,7 @@ BOARD         = xilinx.com:kcu105:part0:1.6
 FPGA_PART      = xcku040-ffva1156-2-e
 FPGA_TOP       = DuneNvmeTestTop
 VIVADO_PATH    ?= /opt/Xilinx/Vivado/2019.2/bin
-VIVADO_TARGET  ?= "-url study.kingnet:3121 -allow_non_jtag"
+VIVADO_TARGET  ?= ""
 
 # Files for synthesis
 SYN_FILES      = ../src/NvmeStoragePkg.vhd ../src/NvmeStorageIntPkg.vhd
@@ -47,6 +48,7 @@ XCI_FILES     += ../src/ip/Pcie_nvme1.xci
 # XDC files
 XDC_FILES      = ../src/DuneNvmeTestTop.xdc
 
+-include Config.mk
 include Vivado.mk
 
 sync_ip:
index e106974d6fd0a10aeb3c2250a11e5f7db6035d13..e7b913f97dc006c6f490b8f1e19d1fc96cb85323 100644 (file)
@@ -17,6 +17,8 @@
 #
 # Targets
 #  all:                Build everything
+#  project:    Just build the Vivado project file
+#  program     Program the FPGA over jtag
 #  clean:      Remove output files and project files
 #  distclean:  Clean all files
 #
@@ -34,6 +36,8 @@ export PATH   := ${VIVADO_PATH}:${PATH}
 
 all: fpga
 
+project: ${PROJECT}.xpr
+
 fpga: $(PROJECT).bit
 
 clean: