diff --git a/README.md b/README.md index 86488d56..f0c3f500 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # ADI MAX78000/MAX78002 Model Training and Synthesis -September 12, 2023 +September 19, 2023 ADI’s MAX78000/MAX78002 project is comprised of five repositories: @@ -2625,12 +2625,24 @@ Example: `in_dim` specifies the dimensions of the input data. This is usually automatically computed based on the output of the previous layer or the layer(s) referenced by `in_sequences`. This key allows overriding of the automatically calculated dimensions. `in_dim` must be used when changing from 1D to 2D data or vice versa. 1D dimensions can be specified as a tuple `[L, 1]` or as an integer `L`. -See also: `in_channels`. +See also: `in_channels`, `in_crop`. Examples: `in_dim: [64, 64]` `in_dim: 32` +##### `in_crop` (Optional) + +`in_crop` specifies a number of rows (2D) or data bytes (1D) to skip (crop) when using the previous layer's output as input. By also adjusting `in_offset`, this provides the means to crop the top/bottom of an image or the beginning/end of 1D data. The dimensions and offsets are validated to match (minus the crop amount). + +See also: `in_dim`, `in_offset`. + +Example (1D cropping): + `# Output data had L=512` + `in_offset: 0x000c # Skip 3 (x4 processors) at beginning` + `in_dim: 506 # Target length = 506` + `in_crop: [3, 3] # Crop 3 at the beginning, 3 at the end` + ##### `in_sequences` (Optional) By default, a layer’s input is the output of the previous layer. `in_sequences` can be used to point to the output of one or more arbitrary previous layers, for example when processing the same data using two different kernel sizes, or when combining the outputs of several prior layers. `in_sequences` can be specified as a single item (for a single input) or as a list (for multiple inputs). Both layer sequence numbers as well as layer names can be used. As a special case, `-1` or `input` refer to the input data. The `in_offset` and `out_offset` must be set to match the specified sequence. diff --git a/README.pdf b/README.pdf index fb0d9a10..ea82048d 100644 Binary files a/README.pdf and b/README.pdf differ diff --git a/assets/embedded-riscv-ai85/templateMakefile.ARM b/assets/embedded-riscv-ai85/templateMakefile.ARM index d9c0b908..cac6ba7d 100644 --- a/assets/embedded-riscv-ai85/templateMakefile.ARM +++ b/assets/embedded-riscv-ai85/templateMakefile.ARM @@ -1,35 +1,35 @@ ################################################################################ - # Copyright (C) 2019-2021 Maxim Integrated Products, Inc., All Rights Reserved. - # - # Permission is hereby granted, free of charge, to any person obtaining a - # copy of this software and associated documentation files (the "Software"), - # to deal in the Software without restriction, including without limitation - # the rights to use, copy, modify, merge, publish, distribute, sublicense, - # and/or sell copies of the Software, and to permit persons to whom the - # Software is furnished to do so, subject to the following conditions: - # - # The above copyright notice and this permission notice shall be included - # in all copies or substantial portions of the Software. - # - # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - # OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - # IN NO EVENT SHALL MAXIM INTEGRATED BE LIABLE FOR ANY CLAIM, DAMAGES - # OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - # OTHER DEALINGS IN THE SOFTWARE. - # - # Except as contained in this notice, the name of Maxim Integrated - # Products, Inc. shall not be used except as stated in the Maxim Integrated - # Products, Inc. Branding Policy. - # - # The mere transfer of this software does not imply any licenses - # of trade secrets, proprietary technology, copyrights, patents, - # trademarks, maskwork rights, or any other form of intellectual - # property whatsoever. Maxim Integrated Products, Inc. retains all - # ownership rights. - # - ############################################################################### +# Copyright (C) 2019-2023 Maxim Integrated Products, Inc., All Rights Reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the "Software"), +# to deal in the Software without restriction, including without limitation +# the rights to use, copy, modify, merge, publish, distribute, sublicense, +# and/or sell copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included +# in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +# IN NO EVENT SHALL MAXIM INTEGRATED BE LIABLE FOR ANY CLAIM, DAMAGES +# OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# Except as contained in this notice, the name of Maxim Integrated +# Products, Inc. shall not be used except as stated in the Maxim Integrated +# Products, Inc. Branding Policy. +# +# The mere transfer of this software does not imply any licenses +# of trade secrets, proprietary technology, copyrights, patents, +# trademarks, maskwork rights, or any other form of intellectual +# property whatsoever. Maxim Integrated Products, Inc. retains all +# ownership rights. +# +############################################################################### # This is the name of the build output file ifeq "$(PROJECT)" "" @@ -117,7 +117,7 @@ include $(CMSIS_ROOT)/Device/Maxim/$(TARGET_UC)/Source/$(COMPILER)/$(TARGET_LC). # arm-none-eabi-objcopy $(BUILD_DIR)/$(PROJECT).elf -R .sig -O binary $(BUILD_DIR)/$(PROJECT).bin # $(CA_SIGN_BUILD) $(BUILD_DIR)/$(PROJECT).bin $(TEST_KEY) # arm-none-eabi-objcopy $(BUILD_DIR)/$(PROJECT).elf --update-section .sig=$(BUILD_DIR)/$(PROJECT).bin.sig -libclean: +libclean: $(MAKE) -f ${PERIPH_DRIVER_DIR}/periphdriver.mk clean.periph # The rule to clean out all the build products. diff --git a/assets/embedded-riscv-ai85/templateMakefile.RISCV b/assets/embedded-riscv-ai85/templateMakefile.RISCV index 4eb8fea8..09509475 100644 --- a/assets/embedded-riscv-ai85/templateMakefile.RISCV +++ b/assets/embedded-riscv-ai85/templateMakefile.RISCV @@ -1,35 +1,35 @@ ################################################################################ - # Copyright (C) 2019-2021 Maxim Integrated Products, Inc., All Rights Reserved. - # - # Permission is hereby granted, free of charge, to any person obtaining a - # copy of this software and associated documentation files (the "Software"), - # to deal in the Software without restriction, including without limitation - # the rights to use, copy, modify, merge, publish, distribute, sublicense, - # and/or sell copies of the Software, and to permit persons to whom the - # Software is furnished to do so, subject to the following conditions: - # - # The above copyright notice and this permission notice shall be included - # in all copies or substantial portions of the Software. - # - # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - # OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - # IN NO EVENT SHALL MAXIM INTEGRATED BE LIABLE FOR ANY CLAIM, DAMAGES - # OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - # OTHER DEALINGS IN THE SOFTWARE. - # - # Except as contained in this notice, the name of Maxim Integrated - # Products, Inc. shall not be used except as stated in the Maxim Integrated - # Products, Inc. Branding Policy. - # - # The mere transfer of this software does not imply any licenses - # of trade secrets, proprietary technology, copyrights, patents, - # trademarks, maskwork rights, or any other form of intellectual - # property whatsoever. Maxim Integrated Products, Inc. retains all - # ownership rights. - # - ############################################################################### +# Copyright (C) 2019-2023 Maxim Integrated Products, Inc., All Rights Reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the "Software"), +# to deal in the Software without restriction, including without limitation +# the rights to use, copy, modify, merge, publish, distribute, sublicense, +# and/or sell copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included +# in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +# IN NO EVENT SHALL MAXIM INTEGRATED BE LIABLE FOR ANY CLAIM, DAMAGES +# OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# Except as contained in this notice, the name of Maxim Integrated +# Products, Inc. shall not be used except as stated in the Maxim Integrated +# Products, Inc. Branding Policy. +# +# The mere transfer of this software does not imply any licenses +# of trade secrets, proprietary technology, copyrights, patents, +# trademarks, maskwork rights, or any other form of intellectual +# property whatsoever. Maxim Integrated Products, Inc. retains all +# ownership rights. +# +############################################################################### # This is the name of the build output file ifeq "$(PROJECT)" "" @@ -87,10 +87,10 @@ PROJ_CFLAGS+=-Wall -Wcast-align ##__DEFINES_RISCV__## ##__DEFINES__## # Specify STACK SIZE STACK_SIZE=1024 -#HEAP_SIZE=2048 +#HEAP_SIZE=2048 # Specify RISCV MARCH and MABI (optional) -#MARCH=rv32imc +#MARCH=rv32imc #MABI=ilp32 # Specify the target revision to override default @@ -129,7 +129,7 @@ include $(CMSIS_ROOT)/Device/Maxim/$(TARGET_UC)/Source/$(COMPILER)/$(TARGET_LC). # arm-none-eabi-objcopy $(BUILD_DIR)/$(PROJECT).elf -R .sig -O binary $(BUILD_DIR)/$(PROJECT).bin # $(CA_SIGN_BUILD) $(BUILD_DIR)/$(PROJECT).bin $(TEST_KEY) # arm-none-eabi-objcopy $(BUILD_DIR)/$(PROJECT).elf --update-section .sig=$(BUILD_DIR)/$(PROJECT).bin.sig -libclean: +libclean: $(MAKE) -f ${PERIPH_DRIVER_DIR}/periphdriver.mk clean.periph # The rule to clean out all the build products. diff --git a/assets/embedded-riscv-ai87/templateMakefile.ARM b/assets/embedded-riscv-ai87/templateMakefile.ARM index d9c0b908..cac6ba7d 100644 --- a/assets/embedded-riscv-ai87/templateMakefile.ARM +++ b/assets/embedded-riscv-ai87/templateMakefile.ARM @@ -1,35 +1,35 @@ ################################################################################ - # Copyright (C) 2019-2021 Maxim Integrated Products, Inc., All Rights Reserved. - # - # Permission is hereby granted, free of charge, to any person obtaining a - # copy of this software and associated documentation files (the "Software"), - # to deal in the Software without restriction, including without limitation - # the rights to use, copy, modify, merge, publish, distribute, sublicense, - # and/or sell copies of the Software, and to permit persons to whom the - # Software is furnished to do so, subject to the following conditions: - # - # The above copyright notice and this permission notice shall be included - # in all copies or substantial portions of the Software. - # - # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - # OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - # IN NO EVENT SHALL MAXIM INTEGRATED BE LIABLE FOR ANY CLAIM, DAMAGES - # OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - # OTHER DEALINGS IN THE SOFTWARE. - # - # Except as contained in this notice, the name of Maxim Integrated - # Products, Inc. shall not be used except as stated in the Maxim Integrated - # Products, Inc. Branding Policy. - # - # The mere transfer of this software does not imply any licenses - # of trade secrets, proprietary technology, copyrights, patents, - # trademarks, maskwork rights, or any other form of intellectual - # property whatsoever. Maxim Integrated Products, Inc. retains all - # ownership rights. - # - ############################################################################### +# Copyright (C) 2019-2023 Maxim Integrated Products, Inc., All Rights Reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the "Software"), +# to deal in the Software without restriction, including without limitation +# the rights to use, copy, modify, merge, publish, distribute, sublicense, +# and/or sell copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included +# in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +# IN NO EVENT SHALL MAXIM INTEGRATED BE LIABLE FOR ANY CLAIM, DAMAGES +# OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# Except as contained in this notice, the name of Maxim Integrated +# Products, Inc. shall not be used except as stated in the Maxim Integrated +# Products, Inc. Branding Policy. +# +# The mere transfer of this software does not imply any licenses +# of trade secrets, proprietary technology, copyrights, patents, +# trademarks, maskwork rights, or any other form of intellectual +# property whatsoever. Maxim Integrated Products, Inc. retains all +# ownership rights. +# +############################################################################### # This is the name of the build output file ifeq "$(PROJECT)" "" @@ -117,7 +117,7 @@ include $(CMSIS_ROOT)/Device/Maxim/$(TARGET_UC)/Source/$(COMPILER)/$(TARGET_LC). # arm-none-eabi-objcopy $(BUILD_DIR)/$(PROJECT).elf -R .sig -O binary $(BUILD_DIR)/$(PROJECT).bin # $(CA_SIGN_BUILD) $(BUILD_DIR)/$(PROJECT).bin $(TEST_KEY) # arm-none-eabi-objcopy $(BUILD_DIR)/$(PROJECT).elf --update-section .sig=$(BUILD_DIR)/$(PROJECT).bin.sig -libclean: +libclean: $(MAKE) -f ${PERIPH_DRIVER_DIR}/periphdriver.mk clean.periph # The rule to clean out all the build products. diff --git a/assets/embedded-riscv-ai87/templateMakefile.RISCV b/assets/embedded-riscv-ai87/templateMakefile.RISCV index 4eb8fea8..09509475 100644 --- a/assets/embedded-riscv-ai87/templateMakefile.RISCV +++ b/assets/embedded-riscv-ai87/templateMakefile.RISCV @@ -1,35 +1,35 @@ ################################################################################ - # Copyright (C) 2019-2021 Maxim Integrated Products, Inc., All Rights Reserved. - # - # Permission is hereby granted, free of charge, to any person obtaining a - # copy of this software and associated documentation files (the "Software"), - # to deal in the Software without restriction, including without limitation - # the rights to use, copy, modify, merge, publish, distribute, sublicense, - # and/or sell copies of the Software, and to permit persons to whom the - # Software is furnished to do so, subject to the following conditions: - # - # The above copyright notice and this permission notice shall be included - # in all copies or substantial portions of the Software. - # - # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - # OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - # IN NO EVENT SHALL MAXIM INTEGRATED BE LIABLE FOR ANY CLAIM, DAMAGES - # OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - # OTHER DEALINGS IN THE SOFTWARE. - # - # Except as contained in this notice, the name of Maxim Integrated - # Products, Inc. shall not be used except as stated in the Maxim Integrated - # Products, Inc. Branding Policy. - # - # The mere transfer of this software does not imply any licenses - # of trade secrets, proprietary technology, copyrights, patents, - # trademarks, maskwork rights, or any other form of intellectual - # property whatsoever. Maxim Integrated Products, Inc. retains all - # ownership rights. - # - ############################################################################### +# Copyright (C) 2019-2023 Maxim Integrated Products, Inc., All Rights Reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the "Software"), +# to deal in the Software without restriction, including without limitation +# the rights to use, copy, modify, merge, publish, distribute, sublicense, +# and/or sell copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included +# in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +# IN NO EVENT SHALL MAXIM INTEGRATED BE LIABLE FOR ANY CLAIM, DAMAGES +# OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# Except as contained in this notice, the name of Maxim Integrated +# Products, Inc. shall not be used except as stated in the Maxim Integrated +# Products, Inc. Branding Policy. +# +# The mere transfer of this software does not imply any licenses +# of trade secrets, proprietary technology, copyrights, patents, +# trademarks, maskwork rights, or any other form of intellectual +# property whatsoever. Maxim Integrated Products, Inc. retains all +# ownership rights. +# +############################################################################### # This is the name of the build output file ifeq "$(PROJECT)" "" @@ -87,10 +87,10 @@ PROJ_CFLAGS+=-Wall -Wcast-align ##__DEFINES_RISCV__## ##__DEFINES__## # Specify STACK SIZE STACK_SIZE=1024 -#HEAP_SIZE=2048 +#HEAP_SIZE=2048 # Specify RISCV MARCH and MABI (optional) -#MARCH=rv32imc +#MARCH=rv32imc #MABI=ilp32 # Specify the target revision to override default @@ -129,7 +129,7 @@ include $(CMSIS_ROOT)/Device/Maxim/$(TARGET_UC)/Source/$(COMPILER)/$(TARGET_LC). # arm-none-eabi-objcopy $(BUILD_DIR)/$(PROJECT).elf -R .sig -O binary $(BUILD_DIR)/$(PROJECT).bin # $(CA_SIGN_BUILD) $(BUILD_DIR)/$(PROJECT).bin $(TEST_KEY) # arm-none-eabi-objcopy $(BUILD_DIR)/$(PROJECT).elf --update-section .sig=$(BUILD_DIR)/$(PROJECT).bin.sig -libclean: +libclean: $(MAKE) -f ${PERIPH_DRIVER_DIR}/periphdriver.mk clean.periph # The rule to clean out all the build products. diff --git a/assets/rtlsim-ai85/Makefile.ARM_PROG b/assets/rtlsim-ai85/Makefile.ARM_PROG index 072f86e7..1ee1ead5 100644 --- a/assets/rtlsim-ai85/Makefile.ARM_PROG +++ b/assets/rtlsim-ai85/Makefile.ARM_PROG @@ -1,35 +1,35 @@ ################################################################################ - # Copyright (C) 2019-2021 Maxim Integrated Products, Inc., All Rights Reserved. - # - # Permission is hereby granted, free of charge, to any person obtaining a - # copy of this software and associated documentation files (the "Software"), - # to deal in the Software without restriction, including without limitation - # the rights to use, copy, modify, merge, publish, distribute, sublicense, - # and/or sell copies of the Software, and to permit persons to whom the - # Software is furnished to do so, subject to the following conditions: - # - # The above copyright notice and this permission notice shall be included - # in all copies or substantial portions of the Software. - # - # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - # OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - # IN NO EVENT SHALL MAXIM INTEGRATED BE LIABLE FOR ANY CLAIM, DAMAGES - # OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - # OTHER DEALINGS IN THE SOFTWARE. - # - # Except as contained in this notice, the name of Maxim Integrated - # Products, Inc. shall not be used except as stated in the Maxim Integrated - # Products, Inc. Branding Policy. - # - # The mere transfer of this software does not imply any licenses - # of trade secrets, proprietary technology, copyrights, patents, - # trademarks, maskwork rights, or any other form of intellectual - # property whatsoever. Maxim Integrated Products, Inc. retains all - # ownership rights. - # - ############################################################################### +# Copyright (C) 2019-2023 Maxim Integrated Products, Inc., All Rights Reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the "Software"), +# to deal in the Software without restriction, including without limitation +# the rights to use, copy, modify, merge, publish, distribute, sublicense, +# and/or sell copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included +# in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +# IN NO EVENT SHALL MAXIM INTEGRATED BE LIABLE FOR ANY CLAIM, DAMAGES +# OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# Except as contained in this notice, the name of Maxim Integrated +# Products, Inc. shall not be used except as stated in the Maxim Integrated +# Products, Inc. Branding Policy. +# +# The mere transfer of this software does not imply any licenses +# of trade secrets, proprietary technology, copyrights, patents, +# trademarks, maskwork rights, or any other form of intellectual +# property whatsoever. Maxim Integrated Products, Inc. retains all +# ownership rights. +# +############################################################################### # This is the name of the build output file PROJECT=max32650 @@ -87,7 +87,7 @@ IPATH = . IPATH+=$(REF_ROOT)/digital/verification/tb_support/c_include # Enable assertion checking for development -PROJ_CFLAGS+=-DMXC_ASSERT_ENABLE -DCPU0_ARM_CM3 +PROJ_CFLAGS+=-DMXC_ASSERT_ENABLE -DCPU0_ARM_CM3 # Specify the target revision to override default # "A2" in ASCII diff --git a/assets/rtlsim-ai87/Makefile.ARM_PROG b/assets/rtlsim-ai87/Makefile.ARM_PROG index ab5c1ee3..86594b0a 100644 --- a/assets/rtlsim-ai87/Makefile.ARM_PROG +++ b/assets/rtlsim-ai87/Makefile.ARM_PROG @@ -1,35 +1,35 @@ ################################################################################ - # Copyright (C) 2019-2021 Maxim Integrated Products, Inc., All Rights Reserved. - # - # Permission is hereby granted, free of charge, to any person obtaining a - # copy of this software and associated documentation files (the "Software"), - # to deal in the Software without restriction, including without limitation - # the rights to use, copy, modify, merge, publish, distribute, sublicense, - # and/or sell copies of the Software, and to permit persons to whom the - # Software is furnished to do so, subject to the following conditions: - # - # The above copyright notice and this permission notice shall be included - # in all copies or substantial portions of the Software. - # - # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - # OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - # IN NO EVENT SHALL MAXIM INTEGRATED BE LIABLE FOR ANY CLAIM, DAMAGES - # OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - # OTHER DEALINGS IN THE SOFTWARE. - # - # Except as contained in this notice, the name of Maxim Integrated - # Products, Inc. shall not be used except as stated in the Maxim Integrated - # Products, Inc. Branding Policy. - # - # The mere transfer of this software does not imply any licenses - # of trade secrets, proprietary technology, copyrights, patents, - # trademarks, maskwork rights, or any other form of intellectual - # property whatsoever. Maxim Integrated Products, Inc. retains all - # ownership rights. - # - ############################################################################### +# Copyright (C) 2019-2023 Maxim Integrated Products, Inc., All Rights Reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the "Software"), +# to deal in the Software without restriction, including without limitation +# the rights to use, copy, modify, merge, publish, distribute, sublicense, +# and/or sell copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included +# in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +# IN NO EVENT SHALL MAXIM INTEGRATED BE LIABLE FOR ANY CLAIM, DAMAGES +# OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# Except as contained in this notice, the name of Maxim Integrated +# Products, Inc. shall not be used except as stated in the Maxim Integrated +# Products, Inc. Branding Policy. +# +# The mere transfer of this software does not imply any licenses +# of trade secrets, proprietary technology, copyrights, patents, +# trademarks, maskwork rights, or any other form of intellectual +# property whatsoever. Maxim Integrated Products, Inc. retains all +# ownership rights. +# +############################################################################### # This is the name of the build output file PROJECT=max78002 diff --git a/assets/rtlsim-riscv-ai85/Makefile.RISCV_PROG b/assets/rtlsim-riscv-ai85/Makefile.RISCV_PROG index b1f1bc37..c55f75d7 100644 --- a/assets/rtlsim-riscv-ai85/Makefile.RISCV_PROG +++ b/assets/rtlsim-riscv-ai85/Makefile.RISCV_PROG @@ -1,35 +1,35 @@ ################################################################################ - # Copyright (C) 2019-2021 Maxim Integrated Products, Inc., All Rights Reserved. - # - # Permission is hereby granted, free of charge, to any person obtaining a - # copy of this software and associated documentation files (the "Software"), - # to deal in the Software without restriction, including without limitation - # the rights to use, copy, modify, merge, publish, distribute, sublicense, - # and/or sell copies of the Software, and to permit persons to whom the - # Software is furnished to do so, subject to the following conditions: - # - # The above copyright notice and this permission notice shall be included - # in all copies or substantial portions of the Software. - # - # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - # OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - # IN NO EVENT SHALL MAXIM INTEGRATED BE LIABLE FOR ANY CLAIM, DAMAGES - # OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - # OTHER DEALINGS IN THE SOFTWARE. - # - # Except as contained in this notice, the name of Maxim Integrated - # Products, Inc. shall not be used except as stated in the Maxim Integrated - # Products, Inc. Branding Policy. - # - # The mere transfer of this software does not imply any licenses - # of trade secrets, proprietary technology, copyrights, patents, - # trademarks, maskwork rights, or any other form of intellectual - # property whatsoever. Maxim Integrated Products, Inc. retains all - # ownership rights. - # - ############################################################################### +# Copyright (C) 2019-2023 Maxim Integrated Products, Inc., All Rights Reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the "Software"), +# to deal in the Software without restriction, including without limitation +# the rights to use, copy, modify, merge, publish, distribute, sublicense, +# and/or sell copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included +# in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +# IN NO EVENT SHALL MAXIM INTEGRATED BE LIABLE FOR ANY CLAIM, DAMAGES +# OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# Except as contained in this notice, the name of Maxim Integrated +# Products, Inc. shall not be used except as stated in the Maxim Integrated +# Products, Inc. Branding Policy. +# +# The mere transfer of this software does not imply any licenses +# of trade secrets, proprietary technology, copyrights, patents, +# trademarks, maskwork rights, or any other form of intellectual +# property whatsoever. Maxim Integrated Products, Inc. retains all +# ownership rights. +# +############################################################################### # This is the name of the build output file PROJECT=max32650 @@ -93,10 +93,10 @@ PROJ_CFLAGS+=-DMXC_ASSERT_ENABLE -DRV32 # Specify STACK SIZE STACK_SIZE=1024 -#HEAP_SIZE=2048 +#HEAP_SIZE=2048 # Specify RISCV MARCH and MABI (optional) -#MARCH=rv32imc +#MARCH=rv32imc #MABI=ilp32 # Specify the target revision to override default @@ -113,7 +113,7 @@ STACK_SIZE=1024 # Point this variable to a startup file to override the default file STARTUPFILE=startup_riscv_max32650.S -MXC_OPTIMIZE_CFLAGS=-O0 +MXC_OPTIMIZE_CFLAGS=-O0 #MXC_OPTIMIZE_CFLAGS=-Og # Point this variable to a linker file to override the default file diff --git a/assets/rtlsim-riscv-ai87/Makefile.RISCV_PROG b/assets/rtlsim-riscv-ai87/Makefile.RISCV_PROG index 6e2dac99..b46b699c 100644 --- a/assets/rtlsim-riscv-ai87/Makefile.RISCV_PROG +++ b/assets/rtlsim-riscv-ai87/Makefile.RISCV_PROG @@ -1,35 +1,35 @@ ################################################################################ - # Copyright (C) 2019-2021 Maxim Integrated Products, Inc., All Rights Reserved. - # - # Permission is hereby granted, free of charge, to any person obtaining a - # copy of this software and associated documentation files (the "Software"), - # to deal in the Software without restriction, including without limitation - # the rights to use, copy, modify, merge, publish, distribute, sublicense, - # and/or sell copies of the Software, and to permit persons to whom the - # Software is furnished to do so, subject to the following conditions: - # - # The above copyright notice and this permission notice shall be included - # in all copies or substantial portions of the Software. - # - # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - # OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - # IN NO EVENT SHALL MAXIM INTEGRATED BE LIABLE FOR ANY CLAIM, DAMAGES - # OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - # OTHER DEALINGS IN THE SOFTWARE. - # - # Except as contained in this notice, the name of Maxim Integrated - # Products, Inc. shall not be used except as stated in the Maxim Integrated - # Products, Inc. Branding Policy. - # - # The mere transfer of this software does not imply any licenses - # of trade secrets, proprietary technology, copyrights, patents, - # trademarks, maskwork rights, or any other form of intellectual - # property whatsoever. Maxim Integrated Products, Inc. retains all - # ownership rights. - # - ############################################################################### +# Copyright (C) 2019-2023 Maxim Integrated Products, Inc., All Rights Reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the "Software"), +# to deal in the Software without restriction, including without limitation +# the rights to use, copy, modify, merge, publish, distribute, sublicense, +# and/or sell copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included +# in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +# IN NO EVENT SHALL MAXIM INTEGRATED BE LIABLE FOR ANY CLAIM, DAMAGES +# OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# Except as contained in this notice, the name of Maxim Integrated +# Products, Inc. shall not be used except as stated in the Maxim Integrated +# Products, Inc. Branding Policy. +# +# The mere transfer of this software does not imply any licenses +# of trade secrets, proprietary technology, copyrights, patents, +# trademarks, maskwork rights, or any other form of intellectual +# property whatsoever. Maxim Integrated Products, Inc. retains all +# ownership rights. +# +############################################################################### # This is the name of the build output file PROJECT=max78002 @@ -96,10 +96,10 @@ PROJ_CFLAGS+=-DMXC_ASSERT_ENABLE -DRV32 # Specify STACK SIZE STACK_SIZE=1024 -#HEAP_SIZE=2048 +#HEAP_SIZE=2048 # Specify RISCV MARCH and MABI (optional) -#MARCH=rv32imc +#MARCH=rv32imc #MABI=ilp32 # Specify the target revision to override default @@ -116,7 +116,7 @@ STACK_SIZE=1024 # Point this variable to a startup file to override the default file STARTUPFILE=startup_riscv_max78002.S -MXC_OPTIMIZE_CFLAGS=-O0 +MXC_OPTIMIZE_CFLAGS=-O0 #MXC_OPTIMIZE_CFLAGS=-Og # Point this variable to a linker file to override the default file diff --git a/assets/rtlsim-riscv-cache-ai85/Makefile.RISCV_PROG b/assets/rtlsim-riscv-cache-ai85/Makefile.RISCV_PROG index b1f1bc37..c55f75d7 100644 --- a/assets/rtlsim-riscv-cache-ai85/Makefile.RISCV_PROG +++ b/assets/rtlsim-riscv-cache-ai85/Makefile.RISCV_PROG @@ -1,35 +1,35 @@ ################################################################################ - # Copyright (C) 2019-2021 Maxim Integrated Products, Inc., All Rights Reserved. - # - # Permission is hereby granted, free of charge, to any person obtaining a - # copy of this software and associated documentation files (the "Software"), - # to deal in the Software without restriction, including without limitation - # the rights to use, copy, modify, merge, publish, distribute, sublicense, - # and/or sell copies of the Software, and to permit persons to whom the - # Software is furnished to do so, subject to the following conditions: - # - # The above copyright notice and this permission notice shall be included - # in all copies or substantial portions of the Software. - # - # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - # OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - # IN NO EVENT SHALL MAXIM INTEGRATED BE LIABLE FOR ANY CLAIM, DAMAGES - # OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - # OTHER DEALINGS IN THE SOFTWARE. - # - # Except as contained in this notice, the name of Maxim Integrated - # Products, Inc. shall not be used except as stated in the Maxim Integrated - # Products, Inc. Branding Policy. - # - # The mere transfer of this software does not imply any licenses - # of trade secrets, proprietary technology, copyrights, patents, - # trademarks, maskwork rights, or any other form of intellectual - # property whatsoever. Maxim Integrated Products, Inc. retains all - # ownership rights. - # - ############################################################################### +# Copyright (C) 2019-2023 Maxim Integrated Products, Inc., All Rights Reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the "Software"), +# to deal in the Software without restriction, including without limitation +# the rights to use, copy, modify, merge, publish, distribute, sublicense, +# and/or sell copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included +# in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +# IN NO EVENT SHALL MAXIM INTEGRATED BE LIABLE FOR ANY CLAIM, DAMAGES +# OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# Except as contained in this notice, the name of Maxim Integrated +# Products, Inc. shall not be used except as stated in the Maxim Integrated +# Products, Inc. Branding Policy. +# +# The mere transfer of this software does not imply any licenses +# of trade secrets, proprietary technology, copyrights, patents, +# trademarks, maskwork rights, or any other form of intellectual +# property whatsoever. Maxim Integrated Products, Inc. retains all +# ownership rights. +# +############################################################################### # This is the name of the build output file PROJECT=max32650 @@ -93,10 +93,10 @@ PROJ_CFLAGS+=-DMXC_ASSERT_ENABLE -DRV32 # Specify STACK SIZE STACK_SIZE=1024 -#HEAP_SIZE=2048 +#HEAP_SIZE=2048 # Specify RISCV MARCH and MABI (optional) -#MARCH=rv32imc +#MARCH=rv32imc #MABI=ilp32 # Specify the target revision to override default @@ -113,7 +113,7 @@ STACK_SIZE=1024 # Point this variable to a startup file to override the default file STARTUPFILE=startup_riscv_max32650.S -MXC_OPTIMIZE_CFLAGS=-O0 +MXC_OPTIMIZE_CFLAGS=-O0 #MXC_OPTIMIZE_CFLAGS=-Og # Point this variable to a linker file to override the default file diff --git a/assets/rtlsim-riscv-cache-ai87/Makefile.RISCV_PROG b/assets/rtlsim-riscv-cache-ai87/Makefile.RISCV_PROG index 6e2dac99..b46b699c 100644 --- a/assets/rtlsim-riscv-cache-ai87/Makefile.RISCV_PROG +++ b/assets/rtlsim-riscv-cache-ai87/Makefile.RISCV_PROG @@ -1,35 +1,35 @@ ################################################################################ - # Copyright (C) 2019-2021 Maxim Integrated Products, Inc., All Rights Reserved. - # - # Permission is hereby granted, free of charge, to any person obtaining a - # copy of this software and associated documentation files (the "Software"), - # to deal in the Software without restriction, including without limitation - # the rights to use, copy, modify, merge, publish, distribute, sublicense, - # and/or sell copies of the Software, and to permit persons to whom the - # Software is furnished to do so, subject to the following conditions: - # - # The above copyright notice and this permission notice shall be included - # in all copies or substantial portions of the Software. - # - # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - # OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - # IN NO EVENT SHALL MAXIM INTEGRATED BE LIABLE FOR ANY CLAIM, DAMAGES - # OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - # OTHER DEALINGS IN THE SOFTWARE. - # - # Except as contained in this notice, the name of Maxim Integrated - # Products, Inc. shall not be used except as stated in the Maxim Integrated - # Products, Inc. Branding Policy. - # - # The mere transfer of this software does not imply any licenses - # of trade secrets, proprietary technology, copyrights, patents, - # trademarks, maskwork rights, or any other form of intellectual - # property whatsoever. Maxim Integrated Products, Inc. retains all - # ownership rights. - # - ############################################################################### +# Copyright (C) 2019-2023 Maxim Integrated Products, Inc., All Rights Reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the "Software"), +# to deal in the Software without restriction, including without limitation +# the rights to use, copy, modify, merge, publish, distribute, sublicense, +# and/or sell copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included +# in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +# IN NO EVENT SHALL MAXIM INTEGRATED BE LIABLE FOR ANY CLAIM, DAMAGES +# OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# Except as contained in this notice, the name of Maxim Integrated +# Products, Inc. shall not be used except as stated in the Maxim Integrated +# Products, Inc. Branding Policy. +# +# The mere transfer of this software does not imply any licenses +# of trade secrets, proprietary technology, copyrights, patents, +# trademarks, maskwork rights, or any other form of intellectual +# property whatsoever. Maxim Integrated Products, Inc. retains all +# ownership rights. +# +############################################################################### # This is the name of the build output file PROJECT=max78002 @@ -96,10 +96,10 @@ PROJ_CFLAGS+=-DMXC_ASSERT_ENABLE -DRV32 # Specify STACK SIZE STACK_SIZE=1024 -#HEAP_SIZE=2048 +#HEAP_SIZE=2048 # Specify RISCV MARCH and MABI (optional) -#MARCH=rv32imc +#MARCH=rv32imc #MABI=ilp32 # Specify the target revision to override default @@ -116,7 +116,7 @@ STACK_SIZE=1024 # Point this variable to a startup file to override the default file STARTUPFILE=startup_riscv_max78002.S -MXC_OPTIMIZE_CFLAGS=-O0 +MXC_OPTIMIZE_CFLAGS=-O0 #MXC_OPTIMIZE_CFLAGS=-Og # Point this variable to a linker file to override the default file diff --git a/assets/rtlsim-riscv-flash-ai85/Makefile.RISCV_PROG b/assets/rtlsim-riscv-flash-ai85/Makefile.RISCV_PROG index b1f1bc37..c55f75d7 100644 --- a/assets/rtlsim-riscv-flash-ai85/Makefile.RISCV_PROG +++ b/assets/rtlsim-riscv-flash-ai85/Makefile.RISCV_PROG @@ -1,35 +1,35 @@ ################################################################################ - # Copyright (C) 2019-2021 Maxim Integrated Products, Inc., All Rights Reserved. - # - # Permission is hereby granted, free of charge, to any person obtaining a - # copy of this software and associated documentation files (the "Software"), - # to deal in the Software without restriction, including without limitation - # the rights to use, copy, modify, merge, publish, distribute, sublicense, - # and/or sell copies of the Software, and to permit persons to whom the - # Software is furnished to do so, subject to the following conditions: - # - # The above copyright notice and this permission notice shall be included - # in all copies or substantial portions of the Software. - # - # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - # OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - # IN NO EVENT SHALL MAXIM INTEGRATED BE LIABLE FOR ANY CLAIM, DAMAGES - # OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - # OTHER DEALINGS IN THE SOFTWARE. - # - # Except as contained in this notice, the name of Maxim Integrated - # Products, Inc. shall not be used except as stated in the Maxim Integrated - # Products, Inc. Branding Policy. - # - # The mere transfer of this software does not imply any licenses - # of trade secrets, proprietary technology, copyrights, patents, - # trademarks, maskwork rights, or any other form of intellectual - # property whatsoever. Maxim Integrated Products, Inc. retains all - # ownership rights. - # - ############################################################################### +# Copyright (C) 2019-2023 Maxim Integrated Products, Inc., All Rights Reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the "Software"), +# to deal in the Software without restriction, including without limitation +# the rights to use, copy, modify, merge, publish, distribute, sublicense, +# and/or sell copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included +# in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +# IN NO EVENT SHALL MAXIM INTEGRATED BE LIABLE FOR ANY CLAIM, DAMAGES +# OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# Except as contained in this notice, the name of Maxim Integrated +# Products, Inc. shall not be used except as stated in the Maxim Integrated +# Products, Inc. Branding Policy. +# +# The mere transfer of this software does not imply any licenses +# of trade secrets, proprietary technology, copyrights, patents, +# trademarks, maskwork rights, or any other form of intellectual +# property whatsoever. Maxim Integrated Products, Inc. retains all +# ownership rights. +# +############################################################################### # This is the name of the build output file PROJECT=max32650 @@ -93,10 +93,10 @@ PROJ_CFLAGS+=-DMXC_ASSERT_ENABLE -DRV32 # Specify STACK SIZE STACK_SIZE=1024 -#HEAP_SIZE=2048 +#HEAP_SIZE=2048 # Specify RISCV MARCH and MABI (optional) -#MARCH=rv32imc +#MARCH=rv32imc #MABI=ilp32 # Specify the target revision to override default @@ -113,7 +113,7 @@ STACK_SIZE=1024 # Point this variable to a startup file to override the default file STARTUPFILE=startup_riscv_max32650.S -MXC_OPTIMIZE_CFLAGS=-O0 +MXC_OPTIMIZE_CFLAGS=-O0 #MXC_OPTIMIZE_CFLAGS=-Og # Point this variable to a linker file to override the default file diff --git a/assets/rtlsim-riscv-flash-ai87/Makefile.RISCV_PROG b/assets/rtlsim-riscv-flash-ai87/Makefile.RISCV_PROG index 6e2dac99..b46b699c 100644 --- a/assets/rtlsim-riscv-flash-ai87/Makefile.RISCV_PROG +++ b/assets/rtlsim-riscv-flash-ai87/Makefile.RISCV_PROG @@ -1,35 +1,35 @@ ################################################################################ - # Copyright (C) 2019-2021 Maxim Integrated Products, Inc., All Rights Reserved. - # - # Permission is hereby granted, free of charge, to any person obtaining a - # copy of this software and associated documentation files (the "Software"), - # to deal in the Software without restriction, including without limitation - # the rights to use, copy, modify, merge, publish, distribute, sublicense, - # and/or sell copies of the Software, and to permit persons to whom the - # Software is furnished to do so, subject to the following conditions: - # - # The above copyright notice and this permission notice shall be included - # in all copies or substantial portions of the Software. - # - # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - # OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - # IN NO EVENT SHALL MAXIM INTEGRATED BE LIABLE FOR ANY CLAIM, DAMAGES - # OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - # OTHER DEALINGS IN THE SOFTWARE. - # - # Except as contained in this notice, the name of Maxim Integrated - # Products, Inc. shall not be used except as stated in the Maxim Integrated - # Products, Inc. Branding Policy. - # - # The mere transfer of this software does not imply any licenses - # of trade secrets, proprietary technology, copyrights, patents, - # trademarks, maskwork rights, or any other form of intellectual - # property whatsoever. Maxim Integrated Products, Inc. retains all - # ownership rights. - # - ############################################################################### +# Copyright (C) 2019-2023 Maxim Integrated Products, Inc., All Rights Reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the "Software"), +# to deal in the Software without restriction, including without limitation +# the rights to use, copy, modify, merge, publish, distribute, sublicense, +# and/or sell copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included +# in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +# IN NO EVENT SHALL MAXIM INTEGRATED BE LIABLE FOR ANY CLAIM, DAMAGES +# OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# Except as contained in this notice, the name of Maxim Integrated +# Products, Inc. shall not be used except as stated in the Maxim Integrated +# Products, Inc. Branding Policy. +# +# The mere transfer of this software does not imply any licenses +# of trade secrets, proprietary technology, copyrights, patents, +# trademarks, maskwork rights, or any other form of intellectual +# property whatsoever. Maxim Integrated Products, Inc. retains all +# ownership rights. +# +############################################################################### # This is the name of the build output file PROJECT=max78002 @@ -96,10 +96,10 @@ PROJ_CFLAGS+=-DMXC_ASSERT_ENABLE -DRV32 # Specify STACK SIZE STACK_SIZE=1024 -#HEAP_SIZE=2048 +#HEAP_SIZE=2048 # Specify RISCV MARCH and MABI (optional) -#MARCH=rv32imc +#MARCH=rv32imc #MABI=ilp32 # Specify the target revision to override default @@ -116,7 +116,7 @@ STACK_SIZE=1024 # Point this variable to a startup file to override the default file STARTUPFILE=startup_riscv_max78002.S -MXC_OPTIMIZE_CFLAGS=-O0 +MXC_OPTIMIZE_CFLAGS=-O0 #MXC_OPTIMIZE_CFLAGS=-Og # Point this variable to a linker file to override the default file diff --git a/izer/backend/max7800x.py b/izer/backend/max7800x.py index 7f64656d..c79c2a5e 100644 --- a/izer/backend/max7800x.py +++ b/izer/backend/max7800x.py @@ -83,6 +83,7 @@ def create_net(self) -> str: # pylint: disable=too-many-locals,too-many-branche input_channel_skip = state.input_channel_skip input_csv = state.input_csv input_dim = state.input_dim + input_crop = state.input_crop input_skip = state.input_skip kernel = state.weights kernel_size = state.kernel_size @@ -727,7 +728,8 @@ def create_net(self) -> str: # pylint: disable=too-many-locals,too-many-branche # Channel-wise concatenation or element-wise or interleaved concatenation offs = 0 for i, lt in enumerate(in_sequences[ll]): - if lt not in [-1, -2] and in_offset[ll] + 4 * i != out_offset[lt] \ + if lt not in [-1, -2] \ + and in_offset[ll] + 4 * i != out_offset[lt] + 4 * input_crop[ll][0] \ and in_offset[ll] + offs != out_offset[lt]: wprint(f'{layer_pfx(ll)}`in_offset` (0x{in_offset[ll]:04x}, for ' f'input #{i}) does not match `out_offset` ' @@ -2993,7 +2995,9 @@ def run_eltwise( if operands[ll] > 1 and not pool_first[ll]: data = np.expand_dims(run_eltwise(data, ll), 0) - # Allow 1D <-> 2D and 2D W/L conversions + # Allow 1D <-> 2D and 2D W/L conversions, and skipping/subsetting + if input_crop[ll][0] != 0 or input_crop[ll][1] != 0: # line skip count + data = data[:, :, input_crop[ll][0]:-input_crop[ll][1], :] if operator[ll] == op.CONV1D: if in_sequences[ll] != [-2]: assert input_dim[ll][1] == 1 diff --git a/izer/compute.py b/izer/compute.py index 43ae6a34..2394ea44 100644 --- a/izer/compute.py +++ b/izer/compute.py @@ -1,13 +1,12 @@ ################################################################################################### -# Copyright (C) 2019-2022 Maxim Integrated Products, Inc. All Rights Reserved. +# Copyright (C) 2019-2023 Maxim Integrated Products, Inc. All Rights Reserved. # # Maxim Integrated Products, Inc. Default Copyright Notice: # https://www.maximintegrated.com/en/aboutus/legal/copyrights.html ################################################################################################### """ -Pure Python implementation of Conv1d, Conv2d, ConvTranspose2d, Pool1d, Pool2d, Eltwise, and Linear. -Allows debug of individual accumulations. -NumPy implementation of Conv2d, ConvTranspose2d, Pool2d. +Python implementation of Conv1d, Conv2d, ConvTranspose1d, ConvTranspose2d, Pool1d, Pool2d, +Eltwise, and Linear. Compatible with PyTorch. """ import os @@ -201,8 +200,7 @@ def conv1d( weight = weight.reshape(out_channels, input_size[0] // groups, -1) data = data.reshape(input_size[0], -1) - output = np.full(shape=(output_size[0], output_size[1]), - fill_value=np.nan, dtype=np.int64) + output = np.empty(shape=(output_size[0], output_size[1]), dtype=np.int64) # Stretch data for fractionally-strided convolution if fractional_stride > 1: diff --git a/izer/izer.py b/izer/izer.py index 76d698ec..f09076a1 100644 --- a/izer/izer.py +++ b/izer/izer.py @@ -331,6 +331,7 @@ def main(): output_channels = output_channels[:layers] output_offset = params['output_offset'][:layers] conf_input_dim = params['input_dim'][:layers] + input_crop = params['input_crop'][:layers] input_offset = params['input_offset'][:layers] kernel_size = params['kernel_size'][:layers] quantization = params['quantization'][:layers] @@ -494,8 +495,11 @@ def main(): 'Use `in_dim:` to reshape the data to two dimensions, or to silence ' 'this message.') else: - if pixels > 0 and conf_input_dim[ll][0] * conf_input_dim[ll][1] != pixels: - eprint(f'{layer_pfx(ll)}The configured `in_dim` does not match the ' + pixelcount = (conf_input_dim[ll][0] + input_crop[ll][0] + + input_crop[ll][1]) * conf_input_dim[ll][1] + if pixels > 0 and pixelcount != pixels: + eprint(f'{layer_pfx(ll)}The configured `in_dim` (pixel count ' + f'{pixelcount}) does not match the ' f'sum of all pixels ({pixels}) in the layer\'s `in_sequences`.') input_dim[ll] = conf_input_dim[ll] if operator[ll] != op.CONV1D: @@ -630,6 +634,7 @@ def main(): state.input_channel_skip = input_channel_skip state.input_channels = input_channels state.input_dim = input_dim + state.input_crop = input_crop state.input_offset = input_offset state.input_skip = input_skip state.kernel_size = kernel_size diff --git a/izer/state.py b/izer/state.py index a50a650e..a213e567 100644 --- a/izer/state.py +++ b/izer/state.py @@ -91,6 +91,7 @@ input_csv_retrace: int = 0 input_csv: Optional[str] = None input_dim: List[List[int]] = [] +input_crop: List[List[int]] = [] input_fifo: bool = False input_filename: str = '' input_offset: List[Any] = [] diff --git a/izer/yamlcfg.py b/izer/yamlcfg.py index 43629bd0..3ace77f7 100644 --- a/izer/yamlcfg.py +++ b/izer/yamlcfg.py @@ -1,5 +1,5 @@ ################################################################################################### -# Copyright (C) 2019-2022 Maxim Integrated Products, Inc. All Rights Reserved. +# Copyright (C) 2019-2023 Maxim Integrated Products, Inc. All Rights Reserved. # # Maxim Integrated Products, Inc. Default Copyright Notice: # https://www.maximintegrated.com/en/aboutus/legal/copyrights.html @@ -106,6 +106,7 @@ def error_exit(message, sequence): input_skip = [0] * tc.dev.MAX_LAYERS input_chan_skip = [0] * tc.dev.MAX_LAYERS input_dim = [None] * tc.dev.MAX_LAYERS + input_crop = [[0, 0]] * tc.dev.MAX_LAYERS output_chan = [None] * tc.dev.MAX_LAYERS # All other variables are initialized with the default values padding = [[1, 1]] * tc.dev.MAX_LAYERS @@ -169,7 +170,7 @@ def error_exit(message, sequence): 'sequence', 'streaming', 'stride', 'write_gap', 'bypass', 'bias_group', 'bias_quadrant', 'calcx4', 'readahead', 'name', 'pool_dilation', 'output_pad', 'tcalc', 'read_gap', 'output', - 'weight_source', 'buffer_shift', 'buffer_insert']) + 'weight_source', 'buffer_shift', 'buffer_insert', 'in_crop']) if bool(cfg_set): eprint(f'Configuration file {config_file} contains unknown key(s) for `layers`: ' f'{cfg_set}.') @@ -260,6 +261,8 @@ def error_exit(message, sequence): error_exit('`in_dim` must be an integer or list not exceeding two dimensions', sequence) input_dim[sequence] = val + if 'in_crop' in ll: + input_crop[sequence] = ll['in_crop'] if 'in_skip' in ll and 'read_gap' in ll: error_exit('Duplicate key for `in_skip`/`read_gap`', sequence) if 'in_skip' in ll or 'read_gap' in ll: @@ -635,6 +638,7 @@ def error_exit(message, sequence): del input_chan_skip[ll] del input_skip[ll] del input_dim[ll] + del input_crop[ll] del input_offset[ll] del output_chan[ll] del output_offset[ll] @@ -803,6 +807,7 @@ def error_exit(message, sequence): settings['input_chan_skip'] = input_chan_skip settings['input_chan'] = input_chan settings['input_dim'] = input_dim + settings['input_crop'] = input_crop settings['input_offset'] = input_offset settings['input_skip'] = input_skip settings['kernel_size'] = kernel_size