From afe953ac4ed8cb023233cc3b65ea9ee4ccbe5a28 Mon Sep 17 00:00:00 2001 From: qiusongxiao Date: Wed, 6 Dec 2023 19:35:36 +0800 Subject: [PATCH] init --- .build/_iflag.rsp | 1 + .build/_obj.rsp | 1 + .build/_pca.rsp | 1 + .build/pca.d | 0 .build/pca.xml | 26 ++ .build/xburn.d | 4 + .build/xburn.xc.d | 5 + .build/xburn.xc.o | Bin 0 -> 23834 bytes .build/xburn.xc.pca.xml | 98 +++++ Makefile | 32 ++ OTP_Cache_backUp/.build/_iflag.rsp | 1 + OTP_Cache_backUp/.build/_obj.rsp | 1 + OTP_Cache_backUp/.build/_pca.rsp | 1 + OTP_Cache_backUp/.build/pca.d | 0 OTP_Cache_backUp/.build/pca.xml | 26 ++ OTP_Cache_backUp/.build/src/xburn.xc.d | 5 + OTP_Cache_backUp/.build/src/xburn.xc.o | Bin 0 -> 24342 bytes OTP_Cache_backUp/.build/src/xburn.xc.pca.xml | 98 +++++ .../.build/src/xburn.xc.pca.xml.decouple | 98 +++++ OTP_Cache_backUp/.build/xburn.d | 4 + OTP_Cache_backUp/Makefile | 32 ++ OTP_Cache_backUp/lib/libotp.a | Bin 0 -> 249878 bytes OTP_Cache_backUp/lib/libotp3.a | Bin 0 -> 153990 bytes .../src/core/XU216-512-TQ128-C20.xn | 36 ++ OTP_Cache_backUp/src/extensions/otp.h | 277 ++++++++++++++ OTP_Cache_backUp/src/extensions/otp3.h | 270 +++++++++++++ OTP_Cache_backUp/src/xburn.xc | 362 ++++++++++++++++++ OTP_Cache_backUp/xburn-cf8579fe | Bin 0 -> 262244 bytes XU216-512-TQ128-C20.xn | 36 ++ libotp.a | Bin 0 -> 249878 bytes libotp3.a | Bin 0 -> 153990 bytes otp.h | 277 ++++++++++++++ otp3.h | 270 +++++++++++++ xburn-28017de4 | Bin 0 -> 240120 bytes xburn-e90e989d | Bin 0 -> 240632 bytes xburn.xc | 362 ++++++++++++++++++ 36 files changed, 2324 insertions(+) create mode 100644 .build/_iflag.rsp create mode 100644 .build/_obj.rsp create mode 100644 .build/_pca.rsp create mode 100644 .build/pca.d create mode 100644 .build/pca.xml create mode 100644 .build/xburn.d create mode 100644 .build/xburn.xc.d create mode 100644 .build/xburn.xc.o create mode 100644 .build/xburn.xc.pca.xml create mode 100644 Makefile create mode 100644 OTP_Cache_backUp/.build/_iflag.rsp create mode 100644 OTP_Cache_backUp/.build/_obj.rsp create mode 100644 OTP_Cache_backUp/.build/_pca.rsp create mode 100644 OTP_Cache_backUp/.build/pca.d create mode 100644 OTP_Cache_backUp/.build/pca.xml create mode 100644 OTP_Cache_backUp/.build/src/xburn.xc.d create mode 100644 OTP_Cache_backUp/.build/src/xburn.xc.o create mode 100644 OTP_Cache_backUp/.build/src/xburn.xc.pca.xml create mode 100644 OTP_Cache_backUp/.build/src/xburn.xc.pca.xml.decouple create mode 100644 OTP_Cache_backUp/.build/xburn.d create mode 100644 OTP_Cache_backUp/Makefile create mode 100644 OTP_Cache_backUp/lib/libotp.a create mode 100644 OTP_Cache_backUp/lib/libotp3.a create mode 100644 OTP_Cache_backUp/src/core/XU216-512-TQ128-C20.xn create mode 100644 OTP_Cache_backUp/src/extensions/otp.h create mode 100644 OTP_Cache_backUp/src/extensions/otp3.h create mode 100644 OTP_Cache_backUp/src/xburn.xc create mode 100644 OTP_Cache_backUp/xburn-cf8579fe create mode 100644 XU216-512-TQ128-C20.xn create mode 100644 libotp.a create mode 100644 libotp3.a create mode 100644 otp.h create mode 100644 otp3.h create mode 100644 xburn-28017de4 create mode 100644 xburn-e90e989d create mode 100644 xburn.xc diff --git a/.build/_iflag.rsp b/.build/_iflag.rsp new file mode 100644 index 0000000..8f34b8a --- /dev/null +++ b/.build/_iflag.rsp @@ -0,0 +1 @@ +-I"../." diff --git a/.build/_obj.rsp b/.build/_obj.rsp new file mode 100644 index 0000000..16605bd --- /dev/null +++ b/.build/_obj.rsp @@ -0,0 +1 @@ +..\.build\xburn.xc.o diff --git a/.build/_pca.rsp b/.build/_pca.rsp new file mode 100644 index 0000000..1d8210d --- /dev/null +++ b/.build/_pca.rsp @@ -0,0 +1 @@ + .build/xburn.xc.pca.xml diff --git a/.build/pca.d b/.build/pca.d new file mode 100644 index 0000000..e69de29 diff --git a/.build/pca.xml b/.build/pca.xml new file mode 100644 index 0000000..fce43b6 --- /dev/null +++ b/.build/pca.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.build/xburn.d b/.build/xburn.d new file mode 100644 index 0000000..e61f16e --- /dev/null +++ b/.build/xburn.d @@ -0,0 +1,4 @@ +xburn.o: \ + ../xburn.xc \ + C:/Users/qiu/Desktop/新建文件夹/otp.h + diff --git a/.build/xburn.xc.d b/.build/xburn.xc.d new file mode 100644 index 0000000..50638c8 --- /dev/null +++ b/.build/xburn.xc.d @@ -0,0 +1,5 @@ +.build/xburn.xc.d .build/xburn.xc.o .build/xburn.xc.pca.xml: \ + ././xburn.xc \ + C:/Users/qiu/Desktop/新建文件夹/otp.h + + diff --git a/.build/xburn.xc.o b/.build/xburn.xc.o new file mode 100644 index 0000000000000000000000000000000000000000..7177b6986690e090e34637d7f4b0d48aa4f100d6 GIT binary patch literal 23834 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 literal 0 HcmV?d00001 diff --git a/.build/xburn.xc.pca.xml b/.build/xburn.xc.pca.xml new file mode 100644 index 0000000..c2c5813 --- /dev/null +++ b/.build/xburn.xc.pca.xml @@ -0,0 +1,98 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..e4a8a33 --- /dev/null +++ b/Makefile @@ -0,0 +1,32 @@ +# The TARGET variable determines what target system the application is +# compiled for. It either refers to an XN file in the source directories +# or a valid argument for the --target option when compiling +TARGET = SLICEKIT-L16 + +# The APP_NAME variable determines the name of the final .xe file. It should +# not include the .xe postfix. If left blank the name will default to +# the project name +APP_NAME =otp_write + +# The USED_MODULES variable lists other module used by the application. +USED_lib = libotp + +# The flags passed to xcc when building the application +# You can also set the following to override flags for a particular language: +# XCC_XC_FLAGS, XCC_C_FLAGS, XCC_ASM_FLAGS, XCC_CPP_FLAGS +# If the variable XCC_MAP_FLAGS is set it overrides the flags passed to +# xcc for the final link (mapping) stage. +XCC_FLAGS = -g -O2 + +# The VERBOSE variable, if set to 1, enables verbose output from the make +# system. +VERBOSE = 0 + +XCC_FLAGS = $(XCC_FLAGS_Release) + +#============================================================================= +# The following part of the Makefile includes the common build infrastructure +# for compiling XMOS applications. You should not need to edit below here. + +XMOS_MAKE_PATH ?= ../.. +include $(XMOS_MAKE_PATH)/xcommon/module_xcommon/build/Makefile.common diff --git a/OTP_Cache_backUp/.build/_iflag.rsp b/OTP_Cache_backUp/.build/_iflag.rsp new file mode 100644 index 0000000..de6fbbc --- /dev/null +++ b/OTP_Cache_backUp/.build/_iflag.rsp @@ -0,0 +1 @@ +-I"../." -I".././lib" -I".././src" -I".././src/core" -I".././src/extensions" diff --git a/OTP_Cache_backUp/.build/_obj.rsp b/OTP_Cache_backUp/.build/_obj.rsp new file mode 100644 index 0000000..c0c7064 --- /dev/null +++ b/OTP_Cache_backUp/.build/_obj.rsp @@ -0,0 +1 @@ +..\.build\src\xburn.xc.o diff --git a/OTP_Cache_backUp/.build/_pca.rsp b/OTP_Cache_backUp/.build/_pca.rsp new file mode 100644 index 0000000..df8beef --- /dev/null +++ b/OTP_Cache_backUp/.build/_pca.rsp @@ -0,0 +1 @@ + .build/src/xburn.xc.pca.xml diff --git a/OTP_Cache_backUp/.build/pca.d b/OTP_Cache_backUp/.build/pca.d new file mode 100644 index 0000000..e69de29 diff --git a/OTP_Cache_backUp/.build/pca.xml b/OTP_Cache_backUp/.build/pca.xml new file mode 100644 index 0000000..fce43b6 --- /dev/null +++ b/OTP_Cache_backUp/.build/pca.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/OTP_Cache_backUp/.build/src/xburn.xc.d b/OTP_Cache_backUp/.build/src/xburn.xc.d new file mode 100644 index 0000000..76ed9c3 --- /dev/null +++ b/OTP_Cache_backUp/.build/src/xburn.xc.d @@ -0,0 +1,5 @@ +.build/src/xburn.xc.d .build/src/xburn.xc.o .build/src/xburn.xc.pca.xml: \ + ././src/xburn.xc \ + C:/Users/qiu/Desktop/新建文件夹/OTP_Cache_backUp/src/extensions/otp.h + + diff --git a/OTP_Cache_backUp/.build/src/xburn.xc.o b/OTP_Cache_backUp/.build/src/xburn.xc.o new file mode 100644 index 0000000000000000000000000000000000000000..18246fb0a821837f028eb45fe700f7e8df0180c5 GIT binary patch literal 24342 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 I0g1=|1KXYS!T + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/OTP_Cache_backUp/.build/src/xburn.xc.pca.xml.decouple b/OTP_Cache_backUp/.build/src/xburn.xc.pca.xml.decouple new file mode 100644 index 0000000..05e1568 --- /dev/null +++ b/OTP_Cache_backUp/.build/src/xburn.xc.pca.xml.decouple @@ -0,0 +1,98 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/OTP_Cache_backUp/.build/xburn.d b/OTP_Cache_backUp/.build/xburn.d new file mode 100644 index 0000000..f6e1844 --- /dev/null +++ b/OTP_Cache_backUp/.build/xburn.d @@ -0,0 +1,4 @@ +xburn.o: \ + ../src/xburn.xc \ + C:/Users/qiu/Desktop/新建文件夹/OTP_Cache_backUp/src/extensions/otp.h + diff --git a/OTP_Cache_backUp/Makefile b/OTP_Cache_backUp/Makefile new file mode 100644 index 0000000..0c98419 --- /dev/null +++ b/OTP_Cache_backUp/Makefile @@ -0,0 +1,32 @@ +# The TARGET variable determines what target system the application is +# compiled for. It either refers to an XN file in the source directories +# or a valid argument for the --target option when compiling +TARGET = SLICEKIT-L16 + +# The APP_NAME variable determines the name of the final .xe file. It should +# not include the .xe postfix. If left blank the name will default to +# the project name +APP_NAME =otp_write + +# The USED_MODULES variable lists other module used by the application. +# USED_lib = libotp + +# The flags passed to xcc when building the application +# You can also set the following to override flags for a particular language: +# XCC_XC_FLAGS, XCC_C_FLAGS, XCC_ASM_FLAGS, XCC_CPP_FLAGS +# If the variable XCC_MAP_FLAGS is set it overrides the flags passed to +# xcc for the final link (mapping) stage. +XCC_FLAGS = -g -O2 -L../lib -lotp -I../lib + +# The VERBOSE variable, if set to 1, enables verbose output from the make +# system. +VERBOSE = 0 + +XCC_FLAGS = $(XCC_FLAGS_Release) + +#============================================================================= +# The following part of the Makefile includes the common build infrastructure +# for compiling XMOS applications. You should not need to edit below here. + +XMOS_MAKE_PATH ?= ../.. +include $(XMOS_MAKE_PATH)/xcommon/module_xcommon/build/Makefile.common diff --git a/OTP_Cache_backUp/lib/libotp.a b/OTP_Cache_backUp/lib/libotp.a new file mode 100644 index 0000000000000000000000000000000000000000..00573c0648b7adc6db360cb2ee5422e3ff96fac1 GIT binary patch literal 249878 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 z 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 literal 0 HcmV?d00001 diff --git a/OTP_Cache_backUp/lib/libotp3.a b/OTP_Cache_backUp/lib/libotp3.a new file mode 100644 index 0000000000000000000000000000000000000000..6c5bb12522b3b72cc6af58d3c3ae03c82b816cd2 GIT binary patch literal 153990 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 literal 0 HcmV?d00001 diff --git a/libotp3.a b/libotp3.a new file mode 100644 index 0000000000000000000000000000000000000000..6c5bb12522b3b72cc6af58d3c3ae03c82b816cd2 GIT binary patch literal 153990 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 literal 0 HcmV?d00001 diff --git a/otp.h b/otp.h new file mode 100644 index 0000000..3bada2a --- /dev/null +++ b/otp.h @@ -0,0 +1,277 @@ +/** + * \file otp.h + * + * This API provides functions to program and read the OTP (One Time + * Programmable) memory of an xCORE. Functions are provided to program and read + * the OTP memory using both single-ended and differential modes. Functions are + * also provided that allow automatic repair of failed programming locations + * using the OTP redundancy registers. Access is also provided to program and + * read the OTP special registers. + */ + +#ifndef _OTP_H_ +#define _OTP_H_ + +#include + +#ifdef __otp_conf_h_exists__ +#include "otp_conf.h" +#endif + +//////////////////////////////////////////////////////////////////////////////// + +/** + * OTP Statistics gathering is disabled by default. #define OTP_STATS 1 in + * user defined otp_conf.h to enable + */ +#ifndef OTP_STATS +#define OTP_STATS 0 +#endif //OTP_STATS + +/** + * Maximum size of OTP memory + */ +#define OTP_SIZE 0x800 + +/** + * Standard initializer for an otp_ports_t structure. Use as follows: + * on stdcore[0]: OTPPorts otp_ports = OTP_PORTS_INITIALIZER; + */ +#define OTP_PORTS_INITIALIZER \ +{ \ + XS1_PORT_32B, \ + XS1_PORT_16C, \ + XS1_PORT_16D \ +} + +//////////////////////////////////////////////////////////////////////////////// + +/** + * Structure contains ports used to access OTP memory. + */ +typedef struct OTPPorts +{ + port data; +#if (__XC__) + out port addr; + out port ctrl; +#else + port addr; + port ctrl; +#endif +} OTPPorts; + +/** + * If OTP_STATS is set then the OTP library will record statistics + * during OTP memory programming. These statistics can then be used to + * determine the success/failure status from the programming event. Stats can + * the be retrieved using function OTPStats_GetStats. + */ +#if (OTP_STATS) +typedef struct OTPStats +{ + unsigned programmed_words; ///< Number of words that were successfully programmed + unsigned programmed_bits; ///< Number of bits that were successfully programmed using the short programming pulse + unsigned soaked_bits; ///< Number of bits that were successfully programmed using the long programming pulse + unsigned leaky_bits; ///< Number of bits that are already in the programmed state before programming commenced but should not be programmed + unsigned failed_to_program_words; ///< Number of words that failed to program + unsigned redundant_sectors_used; ///< Number of redundant sectors used (L1 family only) +} OTPStats; +#endif //OTP_STATS + + +//////////////////////////////////////////////////////////////////////////////// + +/** + * This function programs a block of OTP memory of defined size at address + * using default single_ended mode. This function will attempt to repair any + * failures using the redundancy registers on the L1 family of processors. + * + * \param[in] ports : OTPPorts - the OTPPorts structure. + * \param[in] address : unsigned - the location in OTP memory to write to. + * \param[in] data : const unsigned[] - an array of data to be written. + * \param[in] size : unsigned - the amount of data to be written. + * \returns 1 if successful; 0 if failed. + */ +int otp_program(REFERENCE_PARAM(OTPPorts, ports), + unsigned address, + const unsigned data[], + unsigned size); + +/** + * This function programs a block of OTP memory of defined size at address + * using enhanced differential mode. This function will attempt to repair any + * failures using the redundancy registers on the L1 family of processors. + * Differential mode programming is not available on the G4 family of + * processors and will simply return 0 (failed). + * + * \param[in] ports : OTPPorts - the OTPPorts structure. + * \param[in] address : unsigned - the location in OTP memory to write to. + * \param[in] data : const unsigned[] - an array of data to be written. + * \param[in] size : unsigned - the amount of data to be written. + * \returns 1 if successful; 0 if failed. + */ +int otp_program_differential(REFERENCE_PARAM(OTPPorts, ports), + unsigned address, + const unsigned data[], + unsigned size); + +/** + * This function programs a block of OTP memory of defined size at address + * using default single_ended mode. No attempt to repair unprogrammed/faulty + * bits will take place using this function however a failure map is returned + * providing an indication of otp memory that was not successfully programmed. + * + * \param[in] ports : OTPPorts - the OTPPorts structure. + * \param[in] address : unsigned - the location in OTP memory to write to. + * \param[in] data : const unsigned[] - an array of data to be written. + * \param[in] size : unsigned - the amount of data to be written. + * \param[out] failmap : unsigned [] - location of bits that failed to program + * successfully. + * \returns 1 if successful; 0 if failed. + */ +int otp_program_no_repair(REFERENCE_PARAM(OTPPorts, ports), + unsigned address, + const unsigned data[], + unsigned size, + char failmap[]); + +/** + * This function programs a block of OTP memory of defined size at address + * using enhanced differential mode. No attempt to repair unprogrammed/faulty + * bits will take place using this function however a failure map is returned + * providing an indication of otp memory that was not successfully programmed. + * Differential mode programming is not available on the G4 family of + * processors and will simply return 0 (failed). + * + * \param[in] ports : OTPPorts - the OTPPorts structure. + * \param[in] address : unsigned - the location in OTP memory to write to. + * \param[in] data : const unsigned[] - an array of data to be written. + * \param[in] size : unsigned - the amount of data to be written. + * \param[out] failmap : unsigned [] - location of bits that failed to program + * successfully. + * \returns 1 if successful; 0 if failed. + */ +int otp_program_differential_no_repair(REFERENCE_PARAM(OTPPorts, ports), + unsigned address, + const unsigned data[], + unsigned size, + char failmap[]); + +/** + * OTP_ProgramSpecialRegister programs a word to the OTP special register. + * + * \param[in] ports : OTPPorts - the OTPPorts structure. + * \param[in] t : timer - a timer handle. + * \param[in] data : unsigned - the data to be written. + * \returns 1 if successful; 0 if failed. + */ +int otp_program_special_register(REFERENCE_PARAM(OTPPorts, ports), unsigned data); + +/** + * otp_program_secure_config_register programs a word to the OTP secure config + * register. + * + * \param[in] ports : OTPPorts - the OTPPorts structure. + * \param[in] t : timer - a timer handle. + * \param[in] data : unsigned - the data to be written. + * \returns 1 if successful; 0 if failed. + */ +int otp_program_secure_config_register(REFERENCE_PARAM(OTPPorts, ports), unsigned data); + +//Program a single word without repairing any errors +int otpprogram_writeword_norepair(REFERENCE_PARAM(OTPPorts, ports), + unsigned address, + unsigned data); + +/** + * OTP_Read reads a block of OTP data of defined size from address using + * default single_ended mode. + * + * \param[in] ports : OTPPorts - the OTPPorts structure. + * \param[in] address : unsigned - the location in OTP memory to read from. + * \param[out] data : unsigned[] - an array of words that the data being + * read can be stored in. + * \param[in] size : unsigned - the amount of data to be read. + */ +void otp_read(REFERENCE_PARAM(OTPPorts, ports), + unsigned address, + unsigned data[], + unsigned size); + +/** + * OTP_ReadDifferential reads a block of OTP data of defined size from address + * using enhanced differential mode. + * + * \param[in] ports : OTPPorts - the OTPPorts structure. + * \param[in] address : unsigned - the location in OTP memory to read from. + * \param[out] data : unsigned[] - an array of words that the data being read + * can be stored in. + * \param[in] size : unsigned - the amount of data to be read. + */ +void otp_read_differential(REFERENCE_PARAM(OTPPorts, ports), + unsigned address, + unsigned data[], + unsigned size); + +/** + * OTP_ReadSpecialRegister reads a word from the OTP special register. + * + * \param[in] ports : OTPPorts - the OTPPorts structure. + * \param[out] data : unsigned - the word read from the special register. + */ +void otp_read_special_register(REFERENCE_PARAM(OTPPorts, ports), REFERENCE_PARAM(unsigned, data)); + +/** + * otp_read_secure_config_register reads a word from the OTP secure config + * register. + * + * \param[in] ports : OTPPorts - the OTPPorts structure. + * \param[out] data : unsigned - the word read from the special register. + */ +void otp_read_secure_config_register(REFERENCE_PARAM(OTPPorts, ports), REFERENCE_PARAM(unsigned, data)); + +//////////////////////////////////////////////////////////////////////////////// + +#if (OTP_STATS) + +/** + * This function retrieves the statistics from the last programming event. + * Requires the #define OTP_STATS to be set to 1 in user defined otp_conf.h + * to activate statistic gathering. + * + * \param[out] stats : OTPStats - structure that will contain the statitic + * information + */ +void otpstats_get_stats(REFERENCE_PARAM(OTPStats, stats)); + +/** + * This function allows two OTPStats structs to be merged together. + * Requires the #define OTP_STATS to be set to 1 in user defined otp_conf.h + * to activate statistic gathering. + * + * \param[in, out] a : OTPStats - structure contains the original stats and + * param b will be merged with them + * \param[in] b : OTPStats - structure contains the stats that are to be merged + * with param a + */ +void otpstats_merge_stats(REFERENCE_PARAM(OTPStats, a), + REFERENCE_PARAM(const OTPStats, b)); + +/** + * This function outputs the statistics from the given OTPStats struct. + * Requires the #define OTP_STATS to be set to 1 in user defined otp_conf.h + * to activate statistic gathering. + * + * \param[in] stats : OTPStats - structure containing the stats to be printed. + * + */ +void otpstats_print_stats(REFERENCE_PARAM(const OTPStats, stats)); + +#endif //OTP_STATS + +//////////////////////////////////////////////////////////////////////////////// + +#endif //_OTP_H_ + +//////////////////////////////////////////////////////////////////////////////// diff --git a/otp3.h b/otp3.h new file mode 100644 index 0000000..39445fb --- /dev/null +++ b/otp3.h @@ -0,0 +1,270 @@ +/** + * \file otp.h + * + * This API provides functions to program and read the OTP (One Time + * Programmable) memory of an xCORE. Functions are provided to program and read + * the OTP memory using both single-ended and differential modes. Functions are + * also provided that allow automatic repair of failed programming locations + * using the OTP redundancy registers. Access is also provided to program and + * read the OTP special registers. + */ + +#ifndef _OTP3_H_ +#define _OTP3_H_ + +#include + +#ifdef __otp_conf_h_exists__ +#include "otp_conf.h" +#endif + +//////////////////////////////////////////////////////////////////////////////// + +/** + * OTP Statistics gathering is disabled by default. #define OTP_STATS 1 in + * user defined otp_conf.h to enable + */ +#ifndef OTP_STATS +#define OTP_STATS 0 +#endif //OTP_STATS + +/** + * Maximum size of OTP memory per tile in words. The 8kB OTP is split into two halves, each allocated to a tile. + */ +#define OTP_SIZE (0x800 / 2) + +/** + * Standard initializer for an otp_ports_t structure. Use as follows: + * on stdcore[0]: OTPPorts otp_ports = OTP_PORTS_INITIALIZER; + */ +#define OTP_PORTS_INITIALIZER \ +{ \ + 0, \ + XS1_PORT_32B \ +} + +//////////////////////////////////////////////////////////////////////////////// + +/** + * Structure contains ports used to access OTP memory. + */ +typedef struct OTPPorts +{ + unsigned otp_shadow_g; + port otp_data_g; +} OTPPorts; + +/** + * If OTP_STATS is set then the OTP library will record statistics + * during OTP memory programming. These statistics can then be used to + * determine the success/failure status from the programming event. Stats can + * the be retrieved using function OTPStats_GetStats. + */ +#if (OTP_STATS) +typedef struct OTPStats +{ + unsigned programmed_words; ///< Number of words that were successfully programmed + unsigned programmed_bits; ///< Number of bits that were successfully programmed using the short programming pulse + unsigned soaked_bits; ///< Number of bits that were successfully programmed using the long programming pulse + unsigned leaky_bits; ///< Number of bits that are already in the programmed state before programming commenced but should not be programmed + unsigned failed_to_program_words; ///< Number of words that failed to program + unsigned redundant_sectors_used; ///< Number of redundant sectors used (L1 family only) +} OTPStats; +#endif //OTP_STATS + + +//////////////////////////////////////////////////////////////////////////////// + +/** + * This function programs a block of OTP memory of defined size at address + * using default single_ended mode. This function will attempt to repair any + * failures using the redundancy registers on the L1 family of processors. + * + * \param[in] ports : OTPPorts - the OTPPorts structure. + * \param[in] address : unsigned - the location in OTP memory to write to. + * \param[in] data : const unsigned[] - an array of data to be written. + * \param[in] size : unsigned - the amount of data to be written. + * \returns 1 if successful; 0 if failed. + */ +int otp_program(REFERENCE_PARAM(OTPPorts, ports), + unsigned address, + const unsigned data[], + unsigned size); + +/** + * This function programs a block of OTP memory of defined size at address + * using enhanced differential mode. This function will attempt to repair any + * failures using the redundancy registers on the L1 family of processors. + * Differential mode programming is not available on the G4 family of + * processors and will simply return 0 (failed). + * + * \param[in] ports : OTPPorts - the OTPPorts structure. + * \param[in] address : unsigned - the location in OTP memory to write to. + * \param[in] data : const unsigned[] - an array of data to be written. + * \param[in] size : unsigned - the amount of data to be written. + * \returns 1 if successful; 0 if failed. + */ +int otp_program_differential(REFERENCE_PARAM(OTPPorts, ports), + unsigned address, + const unsigned data[], + unsigned size); + +/** + * This function programs a block of OTP memory of defined size at address + * using default single_ended mode. No attempt to repair unprogrammed/faulty + * bits will take place using this function however a failure map is returned + * providing an indication of otp memory that was not successfully programmed. + * + * \param[in] ports : OTPPorts - the OTPPorts structure. + * \param[in] address : unsigned - the location in OTP memory to write to. + * \param[in] data : const unsigned[] - an array of data to be written. + * \param[in] size : unsigned - the amount of data to be written. + * \param[out] failmap : unsigned [] - location of bits that failed to program + * successfully. + * \returns 1 if successful; 0 if failed. + */ +int otp_program_no_repair(REFERENCE_PARAM(OTPPorts, ports), + unsigned address, + const unsigned data[], + unsigned size, + char failmap[]); + +/** + * This function programs a block of OTP memory of defined size at address + * using enhanced differential mode. No attempt to repair unprogrammed/faulty + * bits will take place using this function however a failure map is returned + * providing an indication of otp memory that was not successfully programmed. + * Differential mode programming is not available on the G4 family of + * processors and will simply return 0 (failed). + * + * \param[in] ports : OTPPorts - the OTPPorts structure. + * \param[in] address : unsigned - the location in OTP memory to write to. + * \param[in] data : const unsigned[] - an array of data to be written. + * \param[in] size : unsigned - the amount of data to be written. + * \param[out] failmap : unsigned [] - location of bits that failed to program + * successfully. + * \returns 1 if successful; 0 if failed. + */ +int otp_program_differential_no_repair(REFERENCE_PARAM(OTPPorts, ports), + unsigned address, + const unsigned data[], + unsigned size, + char failmap[]); + +/** + * OTP_ProgramSpecialRegister programs a word to the OTP special register. + * + * \param[in] ports : OTPPorts - the OTPPorts structure. + * \param[in] t : timer - a timer handle. + * \param[in] data : unsigned - the data to be written. + * \returns 1 if successful; 0 if failed. + */ +int otp_program_special_register(REFERENCE_PARAM(OTPPorts, ports), unsigned data); + +/** + * otp_program_secure_config_register programs a word to the OTP secure config + * register. + * + * \param[in] ports : OTPPorts - the OTPPorts structure. + * \param[in] t : timer - a timer handle. + * \param[in] data : unsigned - the data to be written. + * \returns 1 if successful; 0 if failed. + */ +int otp_program_secure_config_register(REFERENCE_PARAM(OTPPorts, ports), unsigned data); + +//Program a single word without repairing any errors +int otpprogram_writeword_norepair(REFERENCE_PARAM(OTPPorts, ports), + unsigned address, + unsigned data); + +/** + * OTP_Read reads a block of OTP data of defined size from address using + * default single_ended mode. + * + * \param[in] ports : OTPPorts - the OTPPorts structure. + * \param[in] address : unsigned - the location in OTP memory to read from. + * \param[out] data : unsigned[] - an array of words that the data being + * read can be stored in. + * \param[in] size : unsigned - the amount of data to be read. + */ +void otp_read(REFERENCE_PARAM(OTPPorts, ports), + unsigned address, + unsigned data[], + unsigned size); + +/** + * OTP_ReadDifferential reads a block of OTP data of defined size from address + * using enhanced differential mode. + * + * \param[in] ports : OTPPorts - the OTPPorts structure. + * \param[in] address : unsigned - the location in OTP memory to read from. + * \param[out] data : unsigned[] - an array of words that the data being read + * can be stored in. + * \param[in] size : unsigned - the amount of data to be read. + */ +void otp_read_differential(REFERENCE_PARAM(OTPPorts, ports), + unsigned address, + unsigned data[], + unsigned size); + +/** + * OTP_ReadSpecialRegister reads a word from the OTP special register. + * + * \param[in] ports : OTPPorts - the OTPPorts structure. + * \param[out] data : unsigned - the word read from the special register. + */ +void otp_read_special_register(REFERENCE_PARAM(OTPPorts, ports), REFERENCE_PARAM(unsigned, data)); + +/** + * otp_read_secure_config_register reads a word from the OTP secure config + * register. + * + * \param[in] ports : OTPPorts - the OTPPorts structure. + * \param[out] data : unsigned - the word read from the special register. + */ +void otp_read_secure_config_register(REFERENCE_PARAM(OTPPorts, ports), REFERENCE_PARAM(unsigned, data)); + +//////////////////////////////////////////////////////////////////////////////// + +#if (OTP_STATS) + +/** + * This function retrieves the statistics from the last programming event. + * Requires the #define OTP_STATS to be set to 1 in user defined otp_conf.h + * to activate statistic gathering. + * + * \param[out] stats : OTPStats - structure that will contain the statitic + * information + */ +void otpstats_get_stats(REFERENCE_PARAM(OTPStats, stats)); + +/** + * This function allows two OTPStats structs to be merged together. + * Requires the #define OTP_STATS to be set to 1 in user defined otp_conf.h + * to activate statistic gathering. + * + * \param[in, out] a : OTPStats - structure contains the original stats and + * param b will be merged with them + * \param[in] b : OTPStats - structure contains the stats that are to be merged + * with param a + */ +void otpstats_merge_stats(REFERENCE_PARAM(OTPStats, a), + REFERENCE_PARAM(const OTPStats, b)); + +/** + * This function outputs the statistics from the given OTPStats struct. + * Requires the #define OTP_STATS to be set to 1 in user defined otp_conf.h + * to activate statistic gathering. + * + * \param[in] stats : OTPStats - structure containing the stats to be printed. + * + */ +void otpstats_print_stats(REFERENCE_PARAM(const OTPStats, stats)); + +#endif //OTP_STATS + +//////////////////////////////////////////////////////////////////////////////// + +#endif //_OTP3_H_ + +//////////////////////////////////////////////////////////////////////////////// diff --git a/xburn-28017de4 b/xburn-28017de4 new file mode 100644 index 0000000000000000000000000000000000000000..3bfb91307c932c10e9750c9078f4e0a3937cf75f GIT binary patch literal 240120 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 LyT^~UBKY-xZ#y0l literal 0 HcmV?d00001 diff --git a/xburn-e90e989d b/xburn-e90e989d new file mode 100644 index 0000000000000000000000000000000000000000..032caeec5ddfbe96ecbf7fec7e74a61f262c3d92 GIT binary patch literal 240632 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 V*yal0@L&G@KmP6G$AuyI^*?}Bm+1fi literal 0 HcmV?d00001 diff --git a/xburn.xc b/xburn.xc new file mode 100644 index 0000000..26322f9 --- /dev/null +++ b/xburn.xc @@ -0,0 +1,362 @@ +#undef _XSCOPE_PROBES_INCLUDE_FILE + +#define __XC__ 1 +#define __llvm__ 1 +#define __ATOMIC_RELAXED 0 +#define __ATOMIC_CONSUME 1 +#define __ATOMIC_ACQUIRE 2 +#define __ATOMIC_RELEASE 3 +#define __ATOMIC_ACQ_REL 4 +#define __ATOMIC_SEQ_CST 5 +#define __PRAGMA_REDEFINE_EXTNAME 1 +#define __VERSION__ "4.2.1 Compatible XMOS-235-acbb966-Dec-01-2019 Clang 3.6.0 " +#define __CONSTANT_CFSTRINGS__ 1 +#define __ORDER_LITTLE_ENDIAN__ 1234 +#define __ORDER_BIG_ENDIAN__ 4321 +#define __ORDER_PDP_ENDIAN__ 3412 +#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__ +#define __LITTLE_ENDIAN__ 1 +#define _ILP32 1 +#define __ILP32__ 1 +#define __CHAR_BIT__ 8 +#define __SCHAR_MAX__ 127 +#define __SHRT_MAX__ 32767 +#define __INT_MAX__ 2147483647 +#define __LONG_MAX__ 2147483647L +#define __LONG_LONG_MAX__ 9223372036854775807LL +#define __WCHAR_MAX__ 255 +#define __INTMAX_MAX__ 9223372036854775807LL +#define __SIZE_MAX__ 4294967295U +#define __SIZEOF_DOUBLE__ 8 +#define __SIZEOF_FLOAT__ 4 +#define __SIZEOF_INT__ 4 +#define __SIZEOF_LONG__ 4 +#define __SIZEOF_LONG_DOUBLE__ 8 +#define __SIZEOF_LONG_LONG__ 8 +#define __SIZEOF_POINTER__ 4 +#define __SIZEOF_SHORT__ 2 +#define __SIZEOF_PTRDIFF_T__ 4 +#define __SIZEOF_SIZE_T__ 4 +#define __SIZEOF_WCHAR_T__ 1 +#define __SIZEOF_WINT_T__ 4 +#define __INTMAX_TYPE__ long long int +#define __INTMAX_FMTd__ "lld" +#define __INTMAX_FMTi__ "lli" +#define __INTMAX_C_SUFFIX__ LL +#define __UINTMAX_TYPE__ long long unsigned int +#define __UINTMAX_FMTo__ "llo" +#define __UINTMAX_FMTu__ "llu" +#define __UINTMAX_FMTx__ "llx" +#define __UINTMAX_FMTX__ "llX" +#define __UINTMAX_C_SUFFIX__ ULL +#define __INTMAX_WIDTH__ 64 +#define __PTRDIFF_TYPE__ int +#define __PTRDIFF_FMTd__ "d" +#define __PTRDIFF_FMTi__ "i" +#define __PTRDIFF_WIDTH__ 32 +#define __INTPTR_TYPE__ int +#define __INTPTR_FMTd__ "d" +#define __INTPTR_FMTi__ "i" +#define __INTPTR_WIDTH__ 32 +#define __SIZE_TYPE__ unsigned int +#define __SIZE_FMTo__ "o" +#define __SIZE_FMTu__ "u" +#define __SIZE_FMTx__ "x" +#define __SIZE_FMTX__ "X" +#define __SIZE_WIDTH__ 32 +#define __WCHAR_TYPE__ unsigned char +#define __WCHAR_WIDTH__ 8 +#define __WINT_TYPE__ unsigned int +#define __WINT_WIDTH__ 32 +#define __SIG_ATOMIC_WIDTH__ 32 +#define __SIG_ATOMIC_MAX__ 2147483647 +#define __CHAR16_TYPE__ unsigned short +#define __CHAR32_TYPE__ unsigned int +#define __FLT_DENORM_MIN__ 1.40129846e-45F +#define __FLT_HAS_DENORM__ 1 +#define __FLT_DIG__ 6 +#define __FLT_EPSILON__ 1.19209290e-7F +#define __FLT_HAS_INFINITY__ 1 +#define __FLT_HAS_QUIET_NAN__ 1 +#define __FLT_MANT_DIG__ 24 +#define __FLT_MAX_10_EXP__ 38 +#define __FLT_MAX_EXP__ 128 +#define __FLT_MAX__ 3.40282347e+38F +#define __FLT_MIN_10_EXP__ (-37) +#define __FLT_MIN_EXP__ (-125) +#define __FLT_MIN__ 1.17549435e-38F +#define __DBL_DENORM_MIN__ 4.9406564584124654e-324 +#define __DBL_HAS_DENORM__ 1 +#define __DBL_DIG__ 15 +#define __DBL_EPSILON__ 2.2204460492503131e-16 +#define __DBL_HAS_INFINITY__ 1 +#define __DBL_HAS_QUIET_NAN__ 1 +#define __DBL_MANT_DIG__ 53 +#define __DBL_MAX_10_EXP__ 308 +#define __DBL_MAX_EXP__ 1024 +#define __DBL_MAX__ 1.7976931348623157e+308 +#define __DBL_MIN_10_EXP__ (-307) +#define __DBL_MIN_EXP__ (-1021) +#define __DBL_MIN__ 2.2250738585072014e-308 +#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L +#define __LDBL_HAS_DENORM__ 1 +#define __LDBL_DIG__ 15 +#define __LDBL_EPSILON__ 2.2204460492503131e-16L +#define __LDBL_HAS_INFINITY__ 1 +#define __LDBL_HAS_QUIET_NAN__ 1 +#define __LDBL_MANT_DIG__ 53 +#define __LDBL_MAX_10_EXP__ 308 +#define __LDBL_MAX_EXP__ 1024 +#define __LDBL_MAX__ 1.7976931348623157e+308L +#define __LDBL_MIN_10_EXP__ (-307) +#define __LDBL_MIN_EXP__ (-1021) +#define __LDBL_MIN__ 2.2250738585072014e-308L +#define __POINTER_WIDTH__ 32 +#define __CHAR_UNSIGNED__ 1 +#define __WCHAR_UNSIGNED__ 1 +#define __WINT_UNSIGNED__ 1 +#define __INT8_TYPE__ signed char +#define __INT8_FMTd__ "hhd" +#define __INT8_FMTi__ "hhi" +#define __INT8_C_SUFFIX__ +#define __INT16_TYPE__ short +#define __INT16_FMTd__ "hd" +#define __INT16_FMTi__ "hi" +#define __INT16_C_SUFFIX__ +#define __INT32_TYPE__ int +#define __INT32_FMTd__ "d" +#define __INT32_FMTi__ "i" +#define __INT32_C_SUFFIX__ +#define __INT64_TYPE__ long long int +#define __INT64_FMTd__ "lld" +#define __INT64_FMTi__ "lli" +#define __INT64_C_SUFFIX__ LL +#define __USER_LABEL_PREFIX__ _ +#define __FINITE_MATH_ONLY__ 0 +#define __FLT_EVAL_METHOD__ 0 +#define __FLT_RADIX__ 2 +#define __DECIMAL_DIG__ 17 +#define __xcore__ 1 +#define __XS1B__ 1 +#define __STDC_HOSTED__ 1 +#define __STDC_UTF_16__ 1 +#define __STDC_UTF_32__ 1 + +#define OTP_STATS 1 +#define __xcore__ 1 +#define __XS1B__ 1 +#define XCC_VERSION_YEAR 14 +#define XCC_VERSION_MONTH 4 +#define XCC_VERSION_MAJOR 1404 +#define XCC_VERSION_MINOR 1 +#define __XCC_HAVE_FLOAT__ 1 +#define _XSCOPE_PROBES_INCLUDE_FILE "c:\\Users\\swnb\\Temp\\ccQPcbaa.h" + +#define _xburn_h_ + + +#define _OTP_H_ + + +#define _xccompat_h_ +#define REFERENCE_PARAM(type,name) type &name +#define NULLABLE_REFERENCE_PARAM(type,name) type &?name +#define NULLABLE_RESOURCE(type,name) type ?name +#define NULLABLE_ARRAY_OF(type,name) type (&?name)[] +#define ARRAY_OF_SIZE(type,name,size) type name[size] +#define NULLABLE_ARRAY_OF_SIZE(type,name,size) type (&?name)[size] +#define CLIENT_INTERFACE(tag,name) client interface tag name +#define SERVER_INTERFACE(tag,name) server interface tag name +typedef streaming chanend streaming_chanend_t; + +typedef in buffered port:1 in_buffered_port_1_t; +typedef in buffered port:4 in_buffered_port_4_t; +typedef in buffered port:8 in_buffered_port_8_t; +typedef in buffered port:16 in_buffered_port_16_t; +typedef in buffered port:32 in_buffered_port_32_t; + +typedef out buffered port:1 out_buffered_port_1_t; +typedef out buffered port:4 out_buffered_port_4_t; +typedef out buffered port:8 out_buffered_port_8_t; +typedef out buffered port:16 out_buffered_port_16_t; +typedef out buffered port:32 out_buffered_port_32_t; +#define OTP_SIZE 0x800 + + + + + +#define OTP_PORTS_INITIALIZER { XS1_PORT_32B, XS1_PORT_16C, XS1_PORT_16D } +typedef struct OTPPorts +{ + port data; + out port addr; + out port ctrl; +} OTPPorts; +typedef struct OTPStats +{ + unsigned programmed_words; + unsigned programmed_bits; + unsigned soaked_bits; + unsigned leaky_bits; + unsigned failed_to_program_words; + unsigned redundant_sectors_used; +} OTPStats; +int otp_program(OTPPorts &ports, + unsigned address, + const unsigned data[], + unsigned size); +int otp_program_differential(OTPPorts &ports, + unsigned address, + const unsigned data[], + unsigned size); +int otp_program_no_repair(OTPPorts &ports, + unsigned address, + const unsigned data[], + unsigned size, + char failmap[]); +int otp_program_differential_no_repair(OTPPorts &ports, + unsigned address, + const unsigned data[], + unsigned size, + char failmap[]); +int otp_program_special_register(OTPPorts &ports, unsigned data); +int otp_program_secure_config_register(OTPPorts &ports, unsigned data); + + +int otpprogram_writeword_norepair(OTPPorts &ports, + unsigned address, + unsigned data); +void otp_read(OTPPorts &ports, + unsigned address, + unsigned data[], + unsigned size); +void otp_read_differential(OTPPorts &ports, + unsigned address, + unsigned data[], + unsigned size); + + + + + + + +void otp_read_special_register(OTPPorts &ports, unsigned &data); +void otp_read_secure_config_register(OTPPorts &ports, unsigned &data); +void otpstats_get_stats(OTPStats &stats); +void otpstats_merge_stats(OTPStats &a, + const OTPStats &b); +void otpstats_print_stats(const OTPStats &stats); + + + + + +int ProgramSRMasked(OTPPorts &ports, unsigned sr, unsigned sr_mask); +int ProgramSecurityConfigMasked(OTPPorts &ports, unsigned sec, unsigned sec_mask); +void PrintArray(OTPPorts &ports, chanend prev, chanend next, int differential); + + + + +void CollectStats(chanend c, OTPStats &stats); + +int ProgramSoftRedundancyForBoot(OTPPorts &ports, + int differential, unsigned address, + const unsigned (&?prefix)[], unsigned prefixSize, + const unsigned payload[], unsigned payloadSize, + unsigned maxSize, int writeDisableCrc); +int CheckStats(const OTPStats &stats, unsigned allowed); + +#define _otp_soft_redundancy_h_ +int otpsoftredundancy_program(OTPPorts &ports, + unsigned address, + const unsigned payload[], + unsigned payloadSize, + unsigned maxSize, + unsigned &size); +int otpsoftredundancy_program_differential(OTPPorts &ports, + unsigned address, + const unsigned payload[], + unsigned payloadSize, + unsigned maxSize, + unsigned &size); +int otpsoftredundancy_read(OTPPorts &ports, + unsigned address, + unsigned data[], + unsigned size); +int otpsoftredundancy_read_differential(OTPPorts &ports, + unsigned address, + unsigned data[], + unsigned size); + +#include +#include +#include +#include +enum BurnStatus { + STATUS_SUCCESS, + STATUS_FAIL_MARGINAL, + STATUS_FAIL_SOAKED, + STATUS_FAIL_WRITE +}; +on tile[0]: OTPPorts ports_0_0 = OTP_PORTS_INITIALIZER; +on tile[1]: OTPPorts ports_0_1 = OTP_PORTS_INITIALIZER; +unsigned mem_0_0_0[] = { + 0x00000000, + 0x04060709, + 0x00000102, + 0x4847ffff +}; +unsigned mem_0_1_0[] = { + 0x00000000, + 0x04060709, + 0x00000102, + 0x4847ffff +}; +int program_0_0() { + if(!otp_program(ports_0_0, 2044, mem_0_0_0, 4)) { + return 0; + } + return 1; +} +int program_0_1() { + if(!otp_program(ports_0_1, 2044, mem_0_1_0, 4)) { + return 0; + } + return 1; +} +int main() { + chan c[2]; + par { + on tile[0]: { + c[0] <: program_0_0(); + } + on tile[1]: { + c[1] <: program_0_1(); + } + on tile[0]: { + enum BurnStatus status = STATUS_SUCCESS; + for (unsigned i = 0; i < 2; i++) { + int coreSuccess; + c[i] :> coreSuccess; + if (!coreSuccess) { + status = STATUS_FAIL_WRITE; + } + } + switch (status) { + case STATUS_SUCCESS: + printstr("Device successfully burnt\n"); + break; + case STATUS_FAIL_WRITE: + printstr("Burning device failed\n"); + break; + } + if (status != STATUS_SUCCESS) { + exit(1); + } + } + } + return 0; +}

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 literal 0 HcmV?d00001 diff --git a/OTP_Cache_backUp/src/core/XU216-512-TQ128-C20.xn b/OTP_Cache_backUp/src/core/XU216-512-TQ128-C20.xn new file mode 100644 index 0000000..23c455a --- /dev/null +++ b/OTP_Cache_backUp/src/core/XU216-512-TQ128-C20.xn @@ -0,0 +1,36 @@ + + + Device + XU216-512-TQ128-C20 Device + + + tileref tile[2] + tileref usb_tile + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/OTP_Cache_backUp/src/extensions/otp.h b/OTP_Cache_backUp/src/extensions/otp.h new file mode 100644 index 0000000..3bada2a --- /dev/null +++ b/OTP_Cache_backUp/src/extensions/otp.h @@ -0,0 +1,277 @@ +/** + * \file otp.h + * + * This API provides functions to program and read the OTP (One Time + * Programmable) memory of an xCORE. Functions are provided to program and read + * the OTP memory using both single-ended and differential modes. Functions are + * also provided that allow automatic repair of failed programming locations + * using the OTP redundancy registers. Access is also provided to program and + * read the OTP special registers. + */ + +#ifndef _OTP_H_ +#define _OTP_H_ + +#include + +#ifdef __otp_conf_h_exists__ +#include "otp_conf.h" +#endif + +//////////////////////////////////////////////////////////////////////////////// + +/** + * OTP Statistics gathering is disabled by default. #define OTP_STATS 1 in + * user defined otp_conf.h to enable + */ +#ifndef OTP_STATS +#define OTP_STATS 0 +#endif //OTP_STATS + +/** + * Maximum size of OTP memory + */ +#define OTP_SIZE 0x800 + +/** + * Standard initializer for an otp_ports_t structure. Use as follows: + * on stdcore[0]: OTPPorts otp_ports = OTP_PORTS_INITIALIZER; + */ +#define OTP_PORTS_INITIALIZER \ +{ \ + XS1_PORT_32B, \ + XS1_PORT_16C, \ + XS1_PORT_16D \ +} + +//////////////////////////////////////////////////////////////////////////////// + +/** + * Structure contains ports used to access OTP memory. + */ +typedef struct OTPPorts +{ + port data; +#if (__XC__) + out port addr; + out port ctrl; +#else + port addr; + port ctrl; +#endif +} OTPPorts; + +/** + * If OTP_STATS is set then the OTP library will record statistics + * during OTP memory programming. These statistics can then be used to + * determine the success/failure status from the programming event. Stats can + * the be retrieved using function OTPStats_GetStats. + */ +#if (OTP_STATS) +typedef struct OTPStats +{ + unsigned programmed_words; ///< Number of words that were successfully programmed + unsigned programmed_bits; ///< Number of bits that were successfully programmed using the short programming pulse + unsigned soaked_bits; ///< Number of bits that were successfully programmed using the long programming pulse + unsigned leaky_bits; ///< Number of bits that are already in the programmed state before programming commenced but should not be programmed + unsigned failed_to_program_words; ///< Number of words that failed to program + unsigned redundant_sectors_used; ///< Number of redundant sectors used (L1 family only) +} OTPStats; +#endif //OTP_STATS + + +//////////////////////////////////////////////////////////////////////////////// + +/** + * This function programs a block of OTP memory of defined size at address + * using default single_ended mode. This function will attempt to repair any + * failures using the redundancy registers on the L1 family of processors. + * + * \param[in] ports : OTPPorts - the OTPPorts structure. + * \param[in] address : unsigned - the location in OTP memory to write to. + * \param[in] data : const unsigned[] - an array of data to be written. + * \param[in] size : unsigned - the amount of data to be written. + * \returns 1 if successful; 0 if failed. + */ +int otp_program(REFERENCE_PARAM(OTPPorts, ports), + unsigned address, + const unsigned data[], + unsigned size); + +/** + * This function programs a block of OTP memory of defined size at address + * using enhanced differential mode. This function will attempt to repair any + * failures using the redundancy registers on the L1 family of processors. + * Differential mode programming is not available on the G4 family of + * processors and will simply return 0 (failed). + * + * \param[in] ports : OTPPorts - the OTPPorts structure. + * \param[in] address : unsigned - the location in OTP memory to write to. + * \param[in] data : const unsigned[] - an array of data to be written. + * \param[in] size : unsigned - the amount of data to be written. + * \returns 1 if successful; 0 if failed. + */ +int otp_program_differential(REFERENCE_PARAM(OTPPorts, ports), + unsigned address, + const unsigned data[], + unsigned size); + +/** + * This function programs a block of OTP memory of defined size at address + * using default single_ended mode. No attempt to repair unprogrammed/faulty + * bits will take place using this function however a failure map is returned + * providing an indication of otp memory that was not successfully programmed. + * + * \param[in] ports : OTPPorts - the OTPPorts structure. + * \param[in] address : unsigned - the location in OTP memory to write to. + * \param[in] data : const unsigned[] - an array of data to be written. + * \param[in] size : unsigned - the amount of data to be written. + * \param[out] failmap : unsigned [] - location of bits that failed to program + * successfully. + * \returns 1 if successful; 0 if failed. + */ +int otp_program_no_repair(REFERENCE_PARAM(OTPPorts, ports), + unsigned address, + const unsigned data[], + unsigned size, + char failmap[]); + +/** + * This function programs a block of OTP memory of defined size at address + * using enhanced differential mode. No attempt to repair unprogrammed/faulty + * bits will take place using this function however a failure map is returned + * providing an indication of otp memory that was not successfully programmed. + * Differential mode programming is not available on the G4 family of + * processors and will simply return 0 (failed). + * + * \param[in] ports : OTPPorts - the OTPPorts structure. + * \param[in] address : unsigned - the location in OTP memory to write to. + * \param[in] data : const unsigned[] - an array of data to be written. + * \param[in] size : unsigned - the amount of data to be written. + * \param[out] failmap : unsigned [] - location of bits that failed to program + * successfully. + * \returns 1 if successful; 0 if failed. + */ +int otp_program_differential_no_repair(REFERENCE_PARAM(OTPPorts, ports), + unsigned address, + const unsigned data[], + unsigned size, + char failmap[]); + +/** + * OTP_ProgramSpecialRegister programs a word to the OTP special register. + * + * \param[in] ports : OTPPorts - the OTPPorts structure. + * \param[in] t : timer - a timer handle. + * \param[in] data : unsigned - the data to be written. + * \returns 1 if successful; 0 if failed. + */ +int otp_program_special_register(REFERENCE_PARAM(OTPPorts, ports), unsigned data); + +/** + * otp_program_secure_config_register programs a word to the OTP secure config + * register. + * + * \param[in] ports : OTPPorts - the OTPPorts structure. + * \param[in] t : timer - a timer handle. + * \param[in] data : unsigned - the data to be written. + * \returns 1 if successful; 0 if failed. + */ +int otp_program_secure_config_register(REFERENCE_PARAM(OTPPorts, ports), unsigned data); + +//Program a single word without repairing any errors +int otpprogram_writeword_norepair(REFERENCE_PARAM(OTPPorts, ports), + unsigned address, + unsigned data); + +/** + * OTP_Read reads a block of OTP data of defined size from address using + * default single_ended mode. + * + * \param[in] ports : OTPPorts - the OTPPorts structure. + * \param[in] address : unsigned - the location in OTP memory to read from. + * \param[out] data : unsigned[] - an array of words that the data being + * read can be stored in. + * \param[in] size : unsigned - the amount of data to be read. + */ +void otp_read(REFERENCE_PARAM(OTPPorts, ports), + unsigned address, + unsigned data[], + unsigned size); + +/** + * OTP_ReadDifferential reads a block of OTP data of defined size from address + * using enhanced differential mode. + * + * \param[in] ports : OTPPorts - the OTPPorts structure. + * \param[in] address : unsigned - the location in OTP memory to read from. + * \param[out] data : unsigned[] - an array of words that the data being read + * can be stored in. + * \param[in] size : unsigned - the amount of data to be read. + */ +void otp_read_differential(REFERENCE_PARAM(OTPPorts, ports), + unsigned address, + unsigned data[], + unsigned size); + +/** + * OTP_ReadSpecialRegister reads a word from the OTP special register. + * + * \param[in] ports : OTPPorts - the OTPPorts structure. + * \param[out] data : unsigned - the word read from the special register. + */ +void otp_read_special_register(REFERENCE_PARAM(OTPPorts, ports), REFERENCE_PARAM(unsigned, data)); + +/** + * otp_read_secure_config_register reads a word from the OTP secure config + * register. + * + * \param[in] ports : OTPPorts - the OTPPorts structure. + * \param[out] data : unsigned - the word read from the special register. + */ +void otp_read_secure_config_register(REFERENCE_PARAM(OTPPorts, ports), REFERENCE_PARAM(unsigned, data)); + +//////////////////////////////////////////////////////////////////////////////// + +#if (OTP_STATS) + +/** + * This function retrieves the statistics from the last programming event. + * Requires the #define OTP_STATS to be set to 1 in user defined otp_conf.h + * to activate statistic gathering. + * + * \param[out] stats : OTPStats - structure that will contain the statitic + * information + */ +void otpstats_get_stats(REFERENCE_PARAM(OTPStats, stats)); + +/** + * This function allows two OTPStats structs to be merged together. + * Requires the #define OTP_STATS to be set to 1 in user defined otp_conf.h + * to activate statistic gathering. + * + * \param[in, out] a : OTPStats - structure contains the original stats and + * param b will be merged with them + * \param[in] b : OTPStats - structure contains the stats that are to be merged + * with param a + */ +void otpstats_merge_stats(REFERENCE_PARAM(OTPStats, a), + REFERENCE_PARAM(const OTPStats, b)); + +/** + * This function outputs the statistics from the given OTPStats struct. + * Requires the #define OTP_STATS to be set to 1 in user defined otp_conf.h + * to activate statistic gathering. + * + * \param[in] stats : OTPStats - structure containing the stats to be printed. + * + */ +void otpstats_print_stats(REFERENCE_PARAM(const OTPStats, stats)); + +#endif //OTP_STATS + +//////////////////////////////////////////////////////////////////////////////// + +#endif //_OTP_H_ + +//////////////////////////////////////////////////////////////////////////////// diff --git a/OTP_Cache_backUp/src/extensions/otp3.h b/OTP_Cache_backUp/src/extensions/otp3.h new file mode 100644 index 0000000..39445fb --- /dev/null +++ b/OTP_Cache_backUp/src/extensions/otp3.h @@ -0,0 +1,270 @@ +/** + * \file otp.h + * + * This API provides functions to program and read the OTP (One Time + * Programmable) memory of an xCORE. Functions are provided to program and read + * the OTP memory using both single-ended and differential modes. Functions are + * also provided that allow automatic repair of failed programming locations + * using the OTP redundancy registers. Access is also provided to program and + * read the OTP special registers. + */ + +#ifndef _OTP3_H_ +#define _OTP3_H_ + +#include + +#ifdef __otp_conf_h_exists__ +#include "otp_conf.h" +#endif + +//////////////////////////////////////////////////////////////////////////////// + +/** + * OTP Statistics gathering is disabled by default. #define OTP_STATS 1 in + * user defined otp_conf.h to enable + */ +#ifndef OTP_STATS +#define OTP_STATS 0 +#endif //OTP_STATS + +/** + * Maximum size of OTP memory per tile in words. The 8kB OTP is split into two halves, each allocated to a tile. + */ +#define OTP_SIZE (0x800 / 2) + +/** + * Standard initializer for an otp_ports_t structure. Use as follows: + * on stdcore[0]: OTPPorts otp_ports = OTP_PORTS_INITIALIZER; + */ +#define OTP_PORTS_INITIALIZER \ +{ \ + 0, \ + XS1_PORT_32B \ +} + +//////////////////////////////////////////////////////////////////////////////// + +/** + * Structure contains ports used to access OTP memory. + */ +typedef struct OTPPorts +{ + unsigned otp_shadow_g; + port otp_data_g; +} OTPPorts; + +/** + * If OTP_STATS is set then the OTP library will record statistics + * during OTP memory programming. These statistics can then be used to + * determine the success/failure status from the programming event. Stats can + * the be retrieved using function OTPStats_GetStats. + */ +#if (OTP_STATS) +typedef struct OTPStats +{ + unsigned programmed_words; ///< Number of words that were successfully programmed + unsigned programmed_bits; ///< Number of bits that were successfully programmed using the short programming pulse + unsigned soaked_bits; ///< Number of bits that were successfully programmed using the long programming pulse + unsigned leaky_bits; ///< Number of bits that are already in the programmed state before programming commenced but should not be programmed + unsigned failed_to_program_words; ///< Number of words that failed to program + unsigned redundant_sectors_used; ///< Number of redundant sectors used (L1 family only) +} OTPStats; +#endif //OTP_STATS + + +//////////////////////////////////////////////////////////////////////////////// + +/** + * This function programs a block of OTP memory of defined size at address + * using default single_ended mode. This function will attempt to repair any + * failures using the redundancy registers on the L1 family of processors. + * + * \param[in] ports : OTPPorts - the OTPPorts structure. + * \param[in] address : unsigned - the location in OTP memory to write to. + * \param[in] data : const unsigned[] - an array of data to be written. + * \param[in] size : unsigned - the amount of data to be written. + * \returns 1 if successful; 0 if failed. + */ +int otp_program(REFERENCE_PARAM(OTPPorts, ports), + unsigned address, + const unsigned data[], + unsigned size); + +/** + * This function programs a block of OTP memory of defined size at address + * using enhanced differential mode. This function will attempt to repair any + * failures using the redundancy registers on the L1 family of processors. + * Differential mode programming is not available on the G4 family of + * processors and will simply return 0 (failed). + * + * \param[in] ports : OTPPorts - the OTPPorts structure. + * \param[in] address : unsigned - the location in OTP memory to write to. + * \param[in] data : const unsigned[] - an array of data to be written. + * \param[in] size : unsigned - the amount of data to be written. + * \returns 1 if successful; 0 if failed. + */ +int otp_program_differential(REFERENCE_PARAM(OTPPorts, ports), + unsigned address, + const unsigned data[], + unsigned size); + +/** + * This function programs a block of OTP memory of defined size at address + * using default single_ended mode. No attempt to repair unprogrammed/faulty + * bits will take place using this function however a failure map is returned + * providing an indication of otp memory that was not successfully programmed. + * + * \param[in] ports : OTPPorts - the OTPPorts structure. + * \param[in] address : unsigned - the location in OTP memory to write to. + * \param[in] data : const unsigned[] - an array of data to be written. + * \param[in] size : unsigned - the amount of data to be written. + * \param[out] failmap : unsigned [] - location of bits that failed to program + * successfully. + * \returns 1 if successful; 0 if failed. + */ +int otp_program_no_repair(REFERENCE_PARAM(OTPPorts, ports), + unsigned address, + const unsigned data[], + unsigned size, + char failmap[]); + +/** + * This function programs a block of OTP memory of defined size at address + * using enhanced differential mode. No attempt to repair unprogrammed/faulty + * bits will take place using this function however a failure map is returned + * providing an indication of otp memory that was not successfully programmed. + * Differential mode programming is not available on the G4 family of + * processors and will simply return 0 (failed). + * + * \param[in] ports : OTPPorts - the OTPPorts structure. + * \param[in] address : unsigned - the location in OTP memory to write to. + * \param[in] data : const unsigned[] - an array of data to be written. + * \param[in] size : unsigned - the amount of data to be written. + * \param[out] failmap : unsigned [] - location of bits that failed to program + * successfully. + * \returns 1 if successful; 0 if failed. + */ +int otp_program_differential_no_repair(REFERENCE_PARAM(OTPPorts, ports), + unsigned address, + const unsigned data[], + unsigned size, + char failmap[]); + +/** + * OTP_ProgramSpecialRegister programs a word to the OTP special register. + * + * \param[in] ports : OTPPorts - the OTPPorts structure. + * \param[in] t : timer - a timer handle. + * \param[in] data : unsigned - the data to be written. + * \returns 1 if successful; 0 if failed. + */ +int otp_program_special_register(REFERENCE_PARAM(OTPPorts, ports), unsigned data); + +/** + * otp_program_secure_config_register programs a word to the OTP secure config + * register. + * + * \param[in] ports : OTPPorts - the OTPPorts structure. + * \param[in] t : timer - a timer handle. + * \param[in] data : unsigned - the data to be written. + * \returns 1 if successful; 0 if failed. + */ +int otp_program_secure_config_register(REFERENCE_PARAM(OTPPorts, ports), unsigned data); + +//Program a single word without repairing any errors +int otpprogram_writeword_norepair(REFERENCE_PARAM(OTPPorts, ports), + unsigned address, + unsigned data); + +/** + * OTP_Read reads a block of OTP data of defined size from address using + * default single_ended mode. + * + * \param[in] ports : OTPPorts - the OTPPorts structure. + * \param[in] address : unsigned - the location in OTP memory to read from. + * \param[out] data : unsigned[] - an array of words that the data being + * read can be stored in. + * \param[in] size : unsigned - the amount of data to be read. + */ +void otp_read(REFERENCE_PARAM(OTPPorts, ports), + unsigned address, + unsigned data[], + unsigned size); + +/** + * OTP_ReadDifferential reads a block of OTP data of defined size from address + * using enhanced differential mode. + * + * \param[in] ports : OTPPorts - the OTPPorts structure. + * \param[in] address : unsigned - the location in OTP memory to read from. + * \param[out] data : unsigned[] - an array of words that the data being read + * can be stored in. + * \param[in] size : unsigned - the amount of data to be read. + */ +void otp_read_differential(REFERENCE_PARAM(OTPPorts, ports), + unsigned address, + unsigned data[], + unsigned size); + +/** + * OTP_ReadSpecialRegister reads a word from the OTP special register. + * + * \param[in] ports : OTPPorts - the OTPPorts structure. + * \param[out] data : unsigned - the word read from the special register. + */ +void otp_read_special_register(REFERENCE_PARAM(OTPPorts, ports), REFERENCE_PARAM(unsigned, data)); + +/** + * otp_read_secure_config_register reads a word from the OTP secure config + * register. + * + * \param[in] ports : OTPPorts - the OTPPorts structure. + * \param[out] data : unsigned - the word read from the special register. + */ +void otp_read_secure_config_register(REFERENCE_PARAM(OTPPorts, ports), REFERENCE_PARAM(unsigned, data)); + +//////////////////////////////////////////////////////////////////////////////// + +#if (OTP_STATS) + +/** + * This function retrieves the statistics from the last programming event. + * Requires the #define OTP_STATS to be set to 1 in user defined otp_conf.h + * to activate statistic gathering. + * + * \param[out] stats : OTPStats - structure that will contain the statitic + * information + */ +void otpstats_get_stats(REFERENCE_PARAM(OTPStats, stats)); + +/** + * This function allows two OTPStats structs to be merged together. + * Requires the #define OTP_STATS to be set to 1 in user defined otp_conf.h + * to activate statistic gathering. + * + * \param[in, out] a : OTPStats - structure contains the original stats and + * param b will be merged with them + * \param[in] b : OTPStats - structure contains the stats that are to be merged + * with param a + */ +void otpstats_merge_stats(REFERENCE_PARAM(OTPStats, a), + REFERENCE_PARAM(const OTPStats, b)); + +/** + * This function outputs the statistics from the given OTPStats struct. + * Requires the #define OTP_STATS to be set to 1 in user defined otp_conf.h + * to activate statistic gathering. + * + * \param[in] stats : OTPStats - structure containing the stats to be printed. + * + */ +void otpstats_print_stats(REFERENCE_PARAM(const OTPStats, stats)); + +#endif //OTP_STATS + +//////////////////////////////////////////////////////////////////////////////// + +#endif //_OTP3_H_ + +//////////////////////////////////////////////////////////////////////////////// diff --git a/OTP_Cache_backUp/src/xburn.xc b/OTP_Cache_backUp/src/xburn.xc new file mode 100644 index 0000000..26322f9 --- /dev/null +++ b/OTP_Cache_backUp/src/xburn.xc @@ -0,0 +1,362 @@ +#undef _XSCOPE_PROBES_INCLUDE_FILE + +#define __XC__ 1 +#define __llvm__ 1 +#define __ATOMIC_RELAXED 0 +#define __ATOMIC_CONSUME 1 +#define __ATOMIC_ACQUIRE 2 +#define __ATOMIC_RELEASE 3 +#define __ATOMIC_ACQ_REL 4 +#define __ATOMIC_SEQ_CST 5 +#define __PRAGMA_REDEFINE_EXTNAME 1 +#define __VERSION__ "4.2.1 Compatible XMOS-235-acbb966-Dec-01-2019 Clang 3.6.0 " +#define __CONSTANT_CFSTRINGS__ 1 +#define __ORDER_LITTLE_ENDIAN__ 1234 +#define __ORDER_BIG_ENDIAN__ 4321 +#define __ORDER_PDP_ENDIAN__ 3412 +#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__ +#define __LITTLE_ENDIAN__ 1 +#define _ILP32 1 +#define __ILP32__ 1 +#define __CHAR_BIT__ 8 +#define __SCHAR_MAX__ 127 +#define __SHRT_MAX__ 32767 +#define __INT_MAX__ 2147483647 +#define __LONG_MAX__ 2147483647L +#define __LONG_LONG_MAX__ 9223372036854775807LL +#define __WCHAR_MAX__ 255 +#define __INTMAX_MAX__ 9223372036854775807LL +#define __SIZE_MAX__ 4294967295U +#define __SIZEOF_DOUBLE__ 8 +#define __SIZEOF_FLOAT__ 4 +#define __SIZEOF_INT__ 4 +#define __SIZEOF_LONG__ 4 +#define __SIZEOF_LONG_DOUBLE__ 8 +#define __SIZEOF_LONG_LONG__ 8 +#define __SIZEOF_POINTER__ 4 +#define __SIZEOF_SHORT__ 2 +#define __SIZEOF_PTRDIFF_T__ 4 +#define __SIZEOF_SIZE_T__ 4 +#define __SIZEOF_WCHAR_T__ 1 +#define __SIZEOF_WINT_T__ 4 +#define __INTMAX_TYPE__ long long int +#define __INTMAX_FMTd__ "lld" +#define __INTMAX_FMTi__ "lli" +#define __INTMAX_C_SUFFIX__ LL +#define __UINTMAX_TYPE__ long long unsigned int +#define __UINTMAX_FMTo__ "llo" +#define __UINTMAX_FMTu__ "llu" +#define __UINTMAX_FMTx__ "llx" +#define __UINTMAX_FMTX__ "llX" +#define __UINTMAX_C_SUFFIX__ ULL +#define __INTMAX_WIDTH__ 64 +#define __PTRDIFF_TYPE__ int +#define __PTRDIFF_FMTd__ "d" +#define __PTRDIFF_FMTi__ "i" +#define __PTRDIFF_WIDTH__ 32 +#define __INTPTR_TYPE__ int +#define __INTPTR_FMTd__ "d" +#define __INTPTR_FMTi__ "i" +#define __INTPTR_WIDTH__ 32 +#define __SIZE_TYPE__ unsigned int +#define __SIZE_FMTo__ "o" +#define __SIZE_FMTu__ "u" +#define __SIZE_FMTx__ "x" +#define __SIZE_FMTX__ "X" +#define __SIZE_WIDTH__ 32 +#define __WCHAR_TYPE__ unsigned char +#define __WCHAR_WIDTH__ 8 +#define __WINT_TYPE__ unsigned int +#define __WINT_WIDTH__ 32 +#define __SIG_ATOMIC_WIDTH__ 32 +#define __SIG_ATOMIC_MAX__ 2147483647 +#define __CHAR16_TYPE__ unsigned short +#define __CHAR32_TYPE__ unsigned int +#define __FLT_DENORM_MIN__ 1.40129846e-45F +#define __FLT_HAS_DENORM__ 1 +#define __FLT_DIG__ 6 +#define __FLT_EPSILON__ 1.19209290e-7F +#define __FLT_HAS_INFINITY__ 1 +#define __FLT_HAS_QUIET_NAN__ 1 +#define __FLT_MANT_DIG__ 24 +#define __FLT_MAX_10_EXP__ 38 +#define __FLT_MAX_EXP__ 128 +#define __FLT_MAX__ 3.40282347e+38F +#define __FLT_MIN_10_EXP__ (-37) +#define __FLT_MIN_EXP__ (-125) +#define __FLT_MIN__ 1.17549435e-38F +#define __DBL_DENORM_MIN__ 4.9406564584124654e-324 +#define __DBL_HAS_DENORM__ 1 +#define __DBL_DIG__ 15 +#define __DBL_EPSILON__ 2.2204460492503131e-16 +#define __DBL_HAS_INFINITY__ 1 +#define __DBL_HAS_QUIET_NAN__ 1 +#define __DBL_MANT_DIG__ 53 +#define __DBL_MAX_10_EXP__ 308 +#define __DBL_MAX_EXP__ 1024 +#define __DBL_MAX__ 1.7976931348623157e+308 +#define __DBL_MIN_10_EXP__ (-307) +#define __DBL_MIN_EXP__ (-1021) +#define __DBL_MIN__ 2.2250738585072014e-308 +#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L +#define __LDBL_HAS_DENORM__ 1 +#define __LDBL_DIG__ 15 +#define __LDBL_EPSILON__ 2.2204460492503131e-16L +#define __LDBL_HAS_INFINITY__ 1 +#define __LDBL_HAS_QUIET_NAN__ 1 +#define __LDBL_MANT_DIG__ 53 +#define __LDBL_MAX_10_EXP__ 308 +#define __LDBL_MAX_EXP__ 1024 +#define __LDBL_MAX__ 1.7976931348623157e+308L +#define __LDBL_MIN_10_EXP__ (-307) +#define __LDBL_MIN_EXP__ (-1021) +#define __LDBL_MIN__ 2.2250738585072014e-308L +#define __POINTER_WIDTH__ 32 +#define __CHAR_UNSIGNED__ 1 +#define __WCHAR_UNSIGNED__ 1 +#define __WINT_UNSIGNED__ 1 +#define __INT8_TYPE__ signed char +#define __INT8_FMTd__ "hhd" +#define __INT8_FMTi__ "hhi" +#define __INT8_C_SUFFIX__ +#define __INT16_TYPE__ short +#define __INT16_FMTd__ "hd" +#define __INT16_FMTi__ "hi" +#define __INT16_C_SUFFIX__ +#define __INT32_TYPE__ int +#define __INT32_FMTd__ "d" +#define __INT32_FMTi__ "i" +#define __INT32_C_SUFFIX__ +#define __INT64_TYPE__ long long int +#define __INT64_FMTd__ "lld" +#define __INT64_FMTi__ "lli" +#define __INT64_C_SUFFIX__ LL +#define __USER_LABEL_PREFIX__ _ +#define __FINITE_MATH_ONLY__ 0 +#define __FLT_EVAL_METHOD__ 0 +#define __FLT_RADIX__ 2 +#define __DECIMAL_DIG__ 17 +#define __xcore__ 1 +#define __XS1B__ 1 +#define __STDC_HOSTED__ 1 +#define __STDC_UTF_16__ 1 +#define __STDC_UTF_32__ 1 + +#define OTP_STATS 1 +#define __xcore__ 1 +#define __XS1B__ 1 +#define XCC_VERSION_YEAR 14 +#define XCC_VERSION_MONTH 4 +#define XCC_VERSION_MAJOR 1404 +#define XCC_VERSION_MINOR 1 +#define __XCC_HAVE_FLOAT__ 1 +#define _XSCOPE_PROBES_INCLUDE_FILE "c:\\Users\\swnb\\Temp\\ccQPcbaa.h" + +#define _xburn_h_ + + +#define _OTP_H_ + + +#define _xccompat_h_ +#define REFERENCE_PARAM(type,name) type &name +#define NULLABLE_REFERENCE_PARAM(type,name) type &?name +#define NULLABLE_RESOURCE(type,name) type ?name +#define NULLABLE_ARRAY_OF(type,name) type (&?name)[] +#define ARRAY_OF_SIZE(type,name,size) type name[size] +#define NULLABLE_ARRAY_OF_SIZE(type,name,size) type (&?name)[size] +#define CLIENT_INTERFACE(tag,name) client interface tag name +#define SERVER_INTERFACE(tag,name) server interface tag name +typedef streaming chanend streaming_chanend_t; + +typedef in buffered port:1 in_buffered_port_1_t; +typedef in buffered port:4 in_buffered_port_4_t; +typedef in buffered port:8 in_buffered_port_8_t; +typedef in buffered port:16 in_buffered_port_16_t; +typedef in buffered port:32 in_buffered_port_32_t; + +typedef out buffered port:1 out_buffered_port_1_t; +typedef out buffered port:4 out_buffered_port_4_t; +typedef out buffered port:8 out_buffered_port_8_t; +typedef out buffered port:16 out_buffered_port_16_t; +typedef out buffered port:32 out_buffered_port_32_t; +#define OTP_SIZE 0x800 + + + + + +#define OTP_PORTS_INITIALIZER { XS1_PORT_32B, XS1_PORT_16C, XS1_PORT_16D } +typedef struct OTPPorts +{ + port data; + out port addr; + out port ctrl; +} OTPPorts; +typedef struct OTPStats +{ + unsigned programmed_words; + unsigned programmed_bits; + unsigned soaked_bits; + unsigned leaky_bits; + unsigned failed_to_program_words; + unsigned redundant_sectors_used; +} OTPStats; +int otp_program(OTPPorts &ports, + unsigned address, + const unsigned data[], + unsigned size); +int otp_program_differential(OTPPorts &ports, + unsigned address, + const unsigned data[], + unsigned size); +int otp_program_no_repair(OTPPorts &ports, + unsigned address, + const unsigned data[], + unsigned size, + char failmap[]); +int otp_program_differential_no_repair(OTPPorts &ports, + unsigned address, + const unsigned data[], + unsigned size, + char failmap[]); +int otp_program_special_register(OTPPorts &ports, unsigned data); +int otp_program_secure_config_register(OTPPorts &ports, unsigned data); + + +int otpprogram_writeword_norepair(OTPPorts &ports, + unsigned address, + unsigned data); +void otp_read(OTPPorts &ports, + unsigned address, + unsigned data[], + unsigned size); +void otp_read_differential(OTPPorts &ports, + unsigned address, + unsigned data[], + unsigned size); + + + + + + + +void otp_read_special_register(OTPPorts &ports, unsigned &data); +void otp_read_secure_config_register(OTPPorts &ports, unsigned &data); +void otpstats_get_stats(OTPStats &stats); +void otpstats_merge_stats(OTPStats &a, + const OTPStats &b); +void otpstats_print_stats(const OTPStats &stats); + + + + + +int ProgramSRMasked(OTPPorts &ports, unsigned sr, unsigned sr_mask); +int ProgramSecurityConfigMasked(OTPPorts &ports, unsigned sec, unsigned sec_mask); +void PrintArray(OTPPorts &ports, chanend prev, chanend next, int differential); + + + + +void CollectStats(chanend c, OTPStats &stats); + +int ProgramSoftRedundancyForBoot(OTPPorts &ports, + int differential, unsigned address, + const unsigned (&?prefix)[], unsigned prefixSize, + const unsigned payload[], unsigned payloadSize, + unsigned maxSize, int writeDisableCrc); +int CheckStats(const OTPStats &stats, unsigned allowed); + +#define _otp_soft_redundancy_h_ +int otpsoftredundancy_program(OTPPorts &ports, + unsigned address, + const unsigned payload[], + unsigned payloadSize, + unsigned maxSize, + unsigned &size); +int otpsoftredundancy_program_differential(OTPPorts &ports, + unsigned address, + const unsigned payload[], + unsigned payloadSize, + unsigned maxSize, + unsigned &size); +int otpsoftredundancy_read(OTPPorts &ports, + unsigned address, + unsigned data[], + unsigned size); +int otpsoftredundancy_read_differential(OTPPorts &ports, + unsigned address, + unsigned data[], + unsigned size); + +#include +#include +#include +#include +enum BurnStatus { + STATUS_SUCCESS, + STATUS_FAIL_MARGINAL, + STATUS_FAIL_SOAKED, + STATUS_FAIL_WRITE +}; +on tile[0]: OTPPorts ports_0_0 = OTP_PORTS_INITIALIZER; +on tile[1]: OTPPorts ports_0_1 = OTP_PORTS_INITIALIZER; +unsigned mem_0_0_0[] = { + 0x00000000, + 0x04060709, + 0x00000102, + 0x4847ffff +}; +unsigned mem_0_1_0[] = { + 0x00000000, + 0x04060709, + 0x00000102, + 0x4847ffff +}; +int program_0_0() { + if(!otp_program(ports_0_0, 2044, mem_0_0_0, 4)) { + return 0; + } + return 1; +} +int program_0_1() { + if(!otp_program(ports_0_1, 2044, mem_0_1_0, 4)) { + return 0; + } + return 1; +} +int main() { + chan c[2]; + par { + on tile[0]: { + c[0] <: program_0_0(); + } + on tile[1]: { + c[1] <: program_0_1(); + } + on tile[0]: { + enum BurnStatus status = STATUS_SUCCESS; + for (unsigned i = 0; i < 2; i++) { + int coreSuccess; + c[i] :> coreSuccess; + if (!coreSuccess) { + status = STATUS_FAIL_WRITE; + } + } + switch (status) { + case STATUS_SUCCESS: + printstr("Device successfully burnt\n"); + break; + case STATUS_FAIL_WRITE: + printstr("Burning device failed\n"); + break; + } + if (status != STATUS_SUCCESS) { + exit(1); + } + } + } + return 0; +} diff --git a/OTP_Cache_backUp/xburn-cf8579fe b/OTP_Cache_backUp/xburn-cf8579fe new file mode 100644 index 0000000000000000000000000000000000000000..142db756350eba587bb5c04abdfd01880e24ae57 GIT binary patch literal 262244 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 literal 0 HcmV?d00001 diff --git a/XU216-512-TQ128-C20.xn b/XU216-512-TQ128-C20.xn new file mode 100644 index 0000000..23c455a --- /dev/null +++ b/XU216-512-TQ128-C20.xn @@ -0,0 +1,36 @@ + + + Device + XU216-512-TQ128-C20 Device + + + tileref tile[2] + tileref usb_tile + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/libotp.a b/libotp.a new file mode 100644 index 0000000000000000000000000000000000000000..00573c0648b7adc6db360cb2ee5422e3ff96fac1 GIT binary patch literal 249878 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 z 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