diff --git a/schlib/autogen/onfi/flash_decoder.py b/schlib/autogen/onfi/flash_decoder.py new file mode 100644 index 00000000..9f7e4c21 --- /dev/null +++ b/schlib/autogen/onfi/flash_decoder.py @@ -0,0 +1,319 @@ +#!/usr/bin/env python3 + +import sys, os, re, json + +micron = r'(^MT)(29)([E,F])(.{,3}[G,T])([0,1][1,8,6])([A,C,E]|.)([A,B,D,E,F,G,J,K,L,M,Q,R,T,U,V,]|.)([A,B,C,E,F,G,H,J,K,L]|.)([A,B,C,D,E]|.)([A,B,C,D]|.)([W,H,J][P,C,1-9]|..)($|-(\d{,2}|$)([A,I,W]{1,2}T|$)([E,M,R,S,X,Z]|$))' +kioxia = r'(^T[H,C])58([N,D,T,M]|.)([V,Y,A,B,D]|.)([M,G,T][0-9])([S,D,T]|.)([0-9]|.)([A-H]|.)(..)([0-9][A-Z]|.)' +samsung = r'(^K)' +winbond = r'(^W)' +macronix = r'(^MX)30(L)(F)(\d{,3}G)(E8A).-([T,XK,XQ])(I)' + +#regex = [micron, kioxia, samsung, winbond,macronix] +regex = [micron] + +def decode(var): + for r in regex: + matches = re.findall(r, var) + print(matches) + for flash in matches: + if flash[0] == 'MT': + return micron(flash) + if flash[0] in ['TH', 'TC']: + return kioxia(flash) + if flash[0] in ['K']: + return samsung(flash) + if flash[0] in ['MX']: + return macronix(flash) + if flash[0] in ['w']: + return winbond(flash) + else: + print ("unknown flash") + return(None) + +def samsung(id): + return { + 'vendor':'Samsung', + 'density':None, + 'width':None, + 'cells':None, + 'classification':{'die':None,'ce':None,'rb':None,'ch':None}, + 'voltage':{'Vcc':None,'Vccq':None}, + 'interface':None, + 'footprint':None, + 'speed':None, + 'temperature':str(None), + 'page_size':None, + 'block_size':None, + 'alias':None + } + +def macronix(id): + # VOLTAGE + if id[1] == 'L': + vcc='3.3V (2.7.-3.6V)' + else: + vcc=None;vccq=None + + # CELLS + if id[2] == 'F': + cells='SLC' + else: + cells=None + + # TEMPERATURE + if id[6] == 'I': + temperature='-40 +85C' + else: + temperature=None + + return { + 'vendor':'Macronix', + 'density':id[3], + 'width':None, + 'cells':cells, + 'classification':{'die':None,'ce':None,'rb':None,'ch':None}, + 'voltage':{'Vcc':vcc}, + 'interface':None, + 'footprint':None, + 'speed':None, + 'temperature':temperature, + 'page_size':None, + 'block_size':None, + 'alias':None + } + +def winbond(id): + return { + 'vendor':'Winbond', + 'density':None, + 'width':None, + 'cells':None, + 'classification':{'die':None,'ce':None,'rb':None,'ch':None}, + 'voltage':{'Vcc':None,'Vccq':None}, + 'interface':None, + 'footprint':None, + 'speed':None, + 'temperature':str(None), + 'page_size':None, + 'block_size':None, + 'alias':None + } + +def kioxia(id): + # CELLS + if id[4] in ['S','2']: + cells = 'SLC' + elif id[4] in ['D','4']: + cells = 'MLC' + elif id[4] in ['T','8']: + cells = 'TLC' + else: + cells = None + + # WIDTH + if id[5] in ['A','0','1','2','3','4']: + width = 'x8' + elif id[5] in ['F','G','5','6','7','8','9']: + width = 'x16' + else: + width = None + + # VOLTAGE + if id[2] == 'V': + vcc='3.3V';vccq=None + elif id[2] == 'Y': + vcc='1.8V';vccq=None + elif id[2] == 'A': + vcc='3.3V';vccq='1.8V' + elif id[2] == 'B': + vcc='3.3V';vccq='1.65-3.6V' + elif id[2] == 'D': + vcc='1.8V or 3.3V';vccq='1.8V or 3.3V' + else: + vcc=None;vccq=None + + # INTERFACE + if id[1] in ['N', 'D']: + sync=False;synca=True + elif id[1] in ['T']: + sync=True;synca=None + else: + sync=None;synca=None + + # CLASSIFICATION + if id[8] in ['0', 'I']: + die=None;ch=1;ce=None;rb=None + elif id[8] in ['2', 'K']: + die=None;ch=1;ce=2;rb=None + elif id[8] in ['4', 'M']: + die=None;ch=2;ce=2;rb=None + elif id[8] in ['7', 'R']: + die=None;ch=1;ce=4;rb=None + elif id[8] in ['8', 'S']: + die=None;ch=None;ce=4;rb=None + elif id[8] in ['A', 'U']: + die=None;ch=None;ce=6;rb=None + elif id[8] in ['B', 'V']: + die=None;ch=None;ce=8;rb=None + else: + die=None;ch=None;ce=None;rb=None + + + return { + 'vendor':'Kioxia', + 'density':str(2**int(id[3][1]))+id[3][0], + 'width':width, + 'cells':cells, + 'classification':{'die':die,'ce':ce,'rb':rb,'ch':ch}, + 'voltage':{'Vcc':vcc,'Vccq':vccq}, + 'interface':{'sync':sync,'async':synca}, + 'footprint':None, + 'speed':None, + 'temperature':str(None), + 'page_size':None, + 'block_size':None, + 'alias':None + } + +def micron(id): + # CELLS + if id[5] == 'A': + cells = 'SLC' + elif id[5] == 'C': + cells = 'MLC' + elif id[5] == 'E': + cells = 'TLC' + else: + cells = None + + # CLASSIFICATION + if id[6] == 'A': + die=1;ce=0;rb=0;ch=1 + elif id[6] == 'B': + die=1;ce=1;rb=1;ch=1 + elif id[6] == 'D': + die=2;ce=1;rb=1;ch=1 + elif id[6] == 'E': + die=2;ce=2;rb=2;ch=2 + elif id[6] == 'F': + die=2;ce=2;rb=2;ch=1 + elif id[6] == 'G': + die=3;ce=3;rb=3;ch=3 + elif id[6] == 'J': + die=4;ce=2;rb=2;ch=1 + elif id[6] == 'K': + die=4;ce=2;rb=2;ch=2 + elif id[6] == 'L': + die=4;ce=4;rb=4;ch=4 + elif id[6] == 'M': + die=4;ce=4;rb=4;ch=2 + elif id[6] == 'Q': + die=8;ce=4;rb=4;ch=4 + elif id[6] == 'R': + die=8;ce=2;rb=2;ch=2 + elif id[6] == 'T': + die=16;ce=8;rb=4;ch=2 + elif id[6] == 'U': + die=8;ce=4;rb=4;ch=2 + elif id[6] == 'V': + die=16;ce=8;rb=4;ch=4 + else: + die=None;ce=None;rb=None;ch=None + + # VOLTAGE + if id[7] == 'A': + vcc='3.3V (2.7-3.6V)';vccq='3.3V (2.7-3.6V)' + elif id[7] == 'B': + vcc='1.8V (1.7-1.95V)';vccq=None + elif id[7] == 'C': + vcc='3.3V (2.7-3.6V)';vccq='1.8V (1.7-1.95V)' + elif id[7] == 'E': + vcc='3.3V (2.7-3.6V)';vccq='3.3V (2.7-3.6V) or 1.8V (1.7-1.95V)' + elif id[7] == 'F': + vcc=' (2.5-3.6V)';vccq='1.2V (1.14-1.26V)' + elif id[7] == 'G': + vcc='3.3V (2.6-3.6V)';vccq='1.8V (1.7-1.95V)' + elif id[7] == 'H': + vcc='3.3V (2.5-3.6V)';vccq='1.2V (1.14-1.26V) or 1.8V (1.7-1.95V)' + elif id[7] == 'J': + vcc='3.3V (2.5-3.6V)';vccq='1.8V (1.7-1.95V)' + elif id[7] == 'K': + vcc='3.3V (2.6-3.6V)';vccq='3.3V (2.6-3.6V)' + elif id[7] == 'L': + vcc='3.3V (2.6-3.6V)';vccq='3.3V (2.6-3.6V) or 1.8 (1.7-1.95V)' + else: + vcc=None;vccq=None + + # INTERFACE + if id[9] == 'A': + sync=False;synca=True + elif id[9] == 'B': + sync=True;synca=True + elif id[9] == 'C': + sync=True;synca=False + else: + sync=None;synca=None + + # FOOTPRINT + if id[10] in ['WP', 'WC']: + footprint="Package_SO:TSOP-I-48_18.4x12mm_P0.5mm" + elif id[10] in ['H1', 'H2', 'H3']: + footprint="Package_BGA.pretty:BGA-100_10x17_Layout12x18mm_P1.0mm" + elif id[10] in ['H4', 'HC']: + footprint="Package_BGA:BGA-63_9x11mm_Layout10x12_P0.8mm" + elif id[10] in ['H6', 'H7', 'H8', 'J7']: + footprint="Package_BGA:BGA-152_14x18mm_Layout13x17_P1.0mm" + elif id[10] in ['J1', 'J2', 'J3', 'J4', 'J5', 'J6', 'J9']: + footprint="Package_BGA:BGA-132_12x18mm_Layout11x17_P1.0mm" + else: + footprint=None + + # SPEED + if id[12] == "12": + speed="166MT/s" + elif id[12] == "10": + speed="200MT/s" + elif id[12] == "6": + speed="333MT/s" + elif id[12] == "5": + speed="400MT/s" + elif id[12] == "4": + speed="533MT/s" + elif id[12] == "3": + speed="667MT/s" + else: + speed=None + + # TEMPERATURE + if id[13] == "": + temperature="0 to 70°C" + if id[13] == "AAT": + temperature="-40 to 105°C" + if id[13] == "AIT": + temperature="-40 to 85°C" + elif id[13] == "IT": + temperature="-40 to 85°C" + elif id[13] == "WT": + temperature="-25 to 85°C" + else: + temperature=None + + return { + 'vendor':'Micron', + 'density':id[3], + 'width':'x'+id[4].strip('0'), + 'cells':cells, + 'classification':{'die':die,'ce':ce,'rb':rb,'ch':ch}, + 'voltage':{'Vcc':vcc,'Vccq':vccq}, + 'interface':{'sync':sync,'async':synca}, + 'footprint':footprint, + 'page_size':None, + 'block_size':None, + 'temperature':temperature, + 'speed':speed + } + + +if __name__ == "__main__": + var = sys.argv[1] + print (decode(var)) \ No newline at end of file diff --git a/schlib/autogen/onfi/flashes.csv b/schlib/autogen/onfi/flashes.csv new file mode 100644 index 00000000..076e6c60 --- /dev/null +++ b/schlib/autogen/onfi/flashes.csv @@ -0,0 +1,143 @@ +part;vendor;datasheet;density;width;voltage;footprint_default;footprint_filters;temperature;ce;page_size;block_size;cells;speed;alias +MT29F128G08AJAAAWP;Micron;https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f128g08ajaaawp-itz;128Gb;x8;;Package_SO:TSOP-I-48_18.4x12mm_P0.5mm;"[""Package*:*TSOP*18.4x12mm*P0.5mm*""]";-40 to +85°C;;;;SLC;; +MT29F128G08AKCABH2;Micron;https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f128g08akcabh2-10it;128Gb;x8;;Package_BGA:BGA-100_10x17_Layout12x18mm_P1.0mm;"[""Package*:*BGA*10x17*Layout12x18*P1.0mm*""]";-40 to +85°C;;;;SLC;; +MT29F128G08AMCABH2;Micron;https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f128g08amcabh2-10itz;128Gb;x8;;Package_BGA:BGA-100_10x17_Layout12x18mm_P1.0mm;"[""Package*:*BGA*10x17*Layout12x18*P1.0mm*""]";-40 to +85°C;;;;SLC;; +MT29F128G08AMCDBJ5;Micron;https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f128g08amcdbj5-6;128Gb;x8;;Package_BGA:BGA-132_12x18mm_Layout11x17_P1.0mm;"[""Package*:*BGA*12x18mm*Layout11x17*P1.0mm*""]";0 to +70°C;;;;SLC;; +MT29F16G08ABABAWP;Micron;;16Gb;x8;;Package_SO:TSOP-I-48_18.4x12mm_P0.5mm;"[""Package*:*TSOP*18.4x12mm*P0.5mm*""]";-40 to +85°C;;;;SLC;;"[{""part"":""MT29F16G08ABABAWP-AIT"",""temperature"":""-40 to +85°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f16g08ababawp-ait""},{""part"":""MT29F16G08ABABAWP-IT"",""temperature"":""-40 to +85°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f16g08ababawp-it""}]" +MT29F16G08ABACAWP;Micron;https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f16g08abacawp-itz;16Gb;x8;;Package_SO:TSOP-I-48_18.4x12mm_P0.5mm;"[""Package*:*TSOP*18.4x12mm*P0.5mm*""]";-40 to +85°C;;;;SLC;; +MT29F16G08ABCBBH1;Micron;https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f16g08abcbbh1-12ait;16Gb;x8;;Package_BGA:BGA-100_10x17_Layout12x18mm_P1.0mm;"[""Package*:*BGA*10x17*Layout12x18*P1.0mm*""]";-40 to +85°C;;;;SLC;; +MT29F16G08ABCCBH1;Micron;https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f16g08abccbh1-10itz;16Gb;x8;;Package_BGA:BGA-100_10x17_Layout12x18mm_P1.0mm;"[""Package*:*BGA*10x17*Layout12x18*P1.0mm*""]";-40 to +85°C;;;;SLC;; +MT29F16G08AJADAWP;Micron;https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f16g08ajadawp-it;16Gb;x8;;Package_SO:TSOP-I-48_18.4x12mm_P0.5mm;"[""Package*:*TSOP*18.4x12mm*P0.5mm*""]";-40 to +85°C;;;;SLC;; +MT29F1G08ABADAH4;Micron;;1Gb;x8;;Package_BGA:BGA-63_9x11mm_Layout10x12_P0.8mm;"[""Package*:*BGA*Layout10x12*P0.8mm*""]";;;;;SLC;;"[{""part"":""MT29F1G08ABADAH4-IT"",""temperature"":""-40 to +85°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f1g08abadah4-it""},{""part"":""MT29F1G08ABADAH4-ITX"",""temperature"":""-40 to +85°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f1g08abadah4-itx""}]" +MT29F1G08ABADAWP;Micron;https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f1g08abadawp-itx;1Gb;x8;;Package_SO:TSOP-I-48_18.4x12mm_P0.5mm;"[""Package*:*TSOP*18.4x12mm*P0.5mm*""]";-40 to +85°C;;;;SLC;; +MT29F1G08ABAEAH4;Micron;https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f1g08abaeah4;1Gb;x8;;Package_BGA:BGA-63_9x11mm_Layout10x12_P0.8mm;"[""Package*:*BGA*Layout10x12*P0.8mm*""]";0 to +70°C;;;;SLC;;"[{""part"":""MT29F1G08ABAEAH4-AATX"",""temperature"":""-40 to +105°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f1g08abaeah4-aatx""},{""part"":""MT29F1G08ABAEAH4-AITX"",""temperature"":""-40 to +85°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f1g08abaeah4-aitx""},{""part"":""MT29F1G08ABAEAH4-ITX"",""temperature"":""-40 to +85°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f1g08abaeah4-itx""}]" +MT29F1G08ABAEAWP;Micron;https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f1g08abaeawp;1Gb;x8;;Package_SO:TSOP-I-48_18.4x12mm_P0.5mm;"[""Package*:*TSOP*18.4x12mm*P0.5mm*""]";0 to +70°C;;;;SLC;;"[{""part"":""MT29F1G08ABAEAWP-AATX"",""temperature"":""-40 to +105°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f1g08abaeawp-aatx""},{""part"":""MT29F1G08ABAEAWP-AITX"",""temperature"":""-40 to +85°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f1g08abaeawp-aitx""},{""part"":""MT29F1G08ABAEAWP-IT"",""temperature"":""-40 to +85°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f1g08abaeawp-it""},{""part"":""MT29F1G08ABAEAWP-ITX"",""temperature"":""-40 to +85°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f1g08abaeawp-itx""}]" +MT29F1G08ABAFAH4;Micron;https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f1g08abafah4-aat;1Gb;x8;;Package_BGA:BGA-63_9x11mm_Layout10x12_P0.8mm;"[""Package*:*BGA*Layout10x12*P0.8mm*""]";;;;;SLC;;"[{""part"":""MT29F1G08ABAFAH4-AAT"",""temperature"":""-40 to +105°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f1g08abafah4-aat""},{""part"":""MT29F1G08ABAFAH4-AATES"",""temperature"":""-40 to +105°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f1g08abafah4-aates""},{""part"":""MT29F1G08ABAFAH4-ITE"",""temperature"":""-40 to +85°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f1g08abafah4-ite""}]" +MT29F1G08ABAFAWP;Micron;;1Gb;x8;;Package_SO:TSOP-I-48_18.4x12mm_P0.5mm;"[""Package*:*TSOP*18.4x12mm*P0.5mm*""]";;;;;SLC;;"[{""part"":""MT29F1G08ABAFAWP-AAT"",""temperature"":""-40 to +105°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f1g08abafawp-aat""},{""part"":""MT29F1G08ABAFAWP-AATES"",""temperature"":""-40 to +105°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f1g08abafawp-aates""},{""part"":""MT29F1G08ABAFAWP-ITE"",""temperature"":""-40 to +85°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f1g08abafawp-ite""}]" +MT29F1G08ABBDAH4-ITX;Micron;https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f1g08abbdah4-itx;1Gb;x8;;Package_BGA:BGA-63_9x11mm_Layout10x12_P0.8mm;"[""Package*:*BGA*Layout10x12*P0.8mm*""]";-40 to +85°C;;;;SLC;; +MT29F1G08ABBEAH4;Micron;https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f1g08abbeah4-aitx;1Gb;x8;;Package_BGA:BGA-63_9x11mm_Layout10x12_P0.8mm;"[""Package*:*BGA*Layout10x12*P0.8mm*""]";-40 to +85°C;;;;SLC;;"[{""part"":""MT29F1G08ABBEAH4-AITX"",""temperature"":""-40 to +85°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f1g08abafawp-aitx""},{""part"":""MT29F1G08ABBEAH4-ITX"",""temperature"":""-40 to +85°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f1g08abafawp-itx""}]" +MT29F1G08ABBFAH4;Micron;https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f1g08abbfah4-aat;1Gb;x8;;Package_BGA:BGA-63_9x11mm_Layout10x12_P0.8mm;"[""Package*:*BGA*Layout10x12*P0.8mm*""]";;;;;SLC;;"[{""part"":""MT29F1G08ABBFAH4-AAT"",""temperature"":""-40 to +105°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f1g08abbfah4-aat""},{""part"":""MT29F1G08ABBFAH4-AATES"",""temperature"":""-40 to +105°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f1g08abbfah4-aates""},{""part"":""MT29F1G08ABBFAH4-ITE"",""temperature"":""-40 to +85°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f1g08abbfah4-ite""}]" +MT29F1G16ABBDAH4-ITX;Micron;https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f1g16abbdah4-itx;1Gb;x16;;Package_BGA:BGA-63_9x11mm_Layout10x12_P0.8mm;"[""Package*:*BGA*Layout10x12*P0.8mm*""]";-40 to +85°C;;;;SLC;; +MT29F1G16ABBDAHC-IT;Micron;https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f1g16abbdahc-it;1Gb;x16;;Package_BGA:BGA-63_9x11mm_Layout10x12_P0.8mm;"[""Package*:*BGA*Layout10x12*P0.8mm*""]";-40 to +85°C;;;;SLC;; +MT29F1G16ABBEAH4;Micron;;1Gb;x16;;Package_BGA:BGA-63_9x11mm_Layout10x12_P0.8mm;"[""Package*:*BGA*Layout10x12*P0.8mm*""]";;;;;SLC;;"[{""part"":""MT29F1G16ABBEAH4-AITX"",""temperature"":""-40 to +85°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f1g16abbeah4-aitx""},{""part"":""MT29F1G16ABBEAH4-ITX"",""temperature"":""-40 to +85°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f1g16abbeah4-itx""}]" +MT29F1G16ABBFAH4;Micron;;1Gb;x16;;Package_BGA:BGA-63_9x11mm_Layout10x12_P0.8mm;"[""Package*:*BGA*Layout10x12*P0.8mm*""]";;;;;SLC;;"[{""part"":""MT29F1G16ABBFAH4-AAT"",""temperature"":""-40 to +105°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f1g16abbfah4-aat""},{""part"":""MT29F1G16ABBFAH4-AATES"",""temperature"":""-40 to +105°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f1g16abbfah4-aates""},{""part"":""MT29F1G16ABBFAH4-IT"",""temperature"":""-40 to +85°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f1g16abbfah4-it""}]" +MT29F256G08AUCABH3-10ITZ;Micron;https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f256g08aucabh3-10itz;256Gb;x8;;Package_BGA:BGA-100_10x17_Layout12x18mm_P1.0mm;"[""Package*:*BGA*10x17*Layout12x18*P1.0mm*""]";-40 to +85°C;;;;SLC;; +MT29F2G08ABAEAH4;Micron;https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f2g08abaeah4;2Gb;x8;;Package_BGA:BGA-63_9x11mm_Layout10x12_P0.8mm;"[""Package*:*BGA*Layout10x12*P0.8mm*""]";0 to +70°C;;;;SLC;;"[{""part"":""MT29F2G08ABAEAH4-AATX"",""temperature"":""-40 to +105°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f2g08abaeah4-aatx""},{""part"":""MT29F2G08ABAEAH4-AITX"",""temperature"":""-40 to +85°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f2g08abaeah4-aitx""},{""part"":""MT29F2G08ABAEAH4-IT"",""temperature"":""-40 to +85°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f2g08abaeah4-it""},{""part"":""MT29F2G08ABAEAH4-ITX"",""temperature"":""-40 to +85°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f2g08abaeah4-itx""}]" +MT29F2G08ABAEAWP;Micron;https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f2g08abaeawp;2Gb;x8;;Package_SO:TSOP-I-48_18.4x12mm_P0.5mm;"[""Package*:*TSOP*18.4x12mm*P0.5mm*""]";0 to +70°C;;;;SLC;;"[{""part"":""MT29F2G08ABAEAWP-AATX"",""temperature"":""-40 to +105°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f2g08abaeawp-aatx""},{""part"":""MT29F2G08ABAEAWP-AITX"",""temperature"":""-40 to +85°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f2g08abaeawp-aitx""},{""part"":""MT29F2G08ABAEAWP-IT"",""temperature"":""-40 to +85°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f2g08abaeawp-it""},{""part"":""MT29F2G08ABAEAWP-ITX"",""temperature"":""-40 to +85°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f2g08abaeawp-itx""}]" +MT29F2G08ABAGAH4;Micron;;2Gb;x8;;Package_BGA:BGA-63_9x11mm_Layout10x12_P0.8mm;"[""Package*:*BGA*Layout10x12*P0.8mm*""]";;;;;SLC;;"[{""part"":""MT29F2G08ABAGAH4-AAT"",""temperature"":""-40 to +105°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f2g08abagah4-aat""},{""part"":""MT29F2G08ABAGAH4-AATES"",""temperature"":""-40 to +105°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f2g08abagah4-aates""},{""part"":""MT29F2G08ABAGAH4-AIT"",""temperature"":""-40 to +85°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f2g08abagah4-ait""},{""part"":""MT29F2G08ABAGAH4-AITES"",""temperature"":""-40 to +85°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f2g08abagah4-aites""},{""part"":""MT29F2G08ABAGAH4-IT"",""temperature"":""-40 to +85°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f2g08abagah4-it""},{""part"":""MT29F2G08ABAGAH4-ITE"",""temperature"":""-40 to +85°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f2g08abagah4-ite""}]" +MT29F2G08ABAGAWP-ITE;Micron;https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f2g08abagawp-ite;2Gb;x8;;Package_SO:TSOP-I-48_18.4x12mm_P0.5mm;"[""Package*:*TSOP*18.4x12mm*P0.5mm*""]";-40 to +85°C;;;;SLC;; +MT29F2G08ABBEAH4;Micron;;2Gb;x8;;Package_BGA:BGA-63_9x11mm_Layout10x12_P0.8mm;"[""Package*:*BGA*Layout10x12*P0.8mm*""]";-40 to +85°C;;;;SLC;;"[{""part"":""MT29F2G08ABBEAH4-AITX"",""temperature"":""-40 to +85°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f2g08abbeah4-aitx""},{""part"":""MT29F2G08ABBEAH4-IT"",""temperature"":""-40 to +85°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f2g08abbeah4-it""},{""part"":""MT29F2G08ABBEAH4-ITX"",""temperature"":""-40 to +85°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f2g08abbeah4-itx""}]" +MT29F2G08ABBEAHC-IT;Micron;https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f2g08abbeahc-it;2Gb;x8;;Package_BGA:BGA-63_9x11mm_Layout10x12_P0.8mm;"[""Package*:*BGA*Layout10x12*P0.8mm*""]";-40 to +85°C;;;;SLC;; +MT29F2G08ABBGAH4;Micron;;2Gb;x8;;Package_BGA:BGA-63_9x11mm_Layout10x12_P0.8mm;"[""Package*:*BGA*Layout10x12*P0.8mm*""]";;;;;SLC;;"[{""part"":""MT29F2G08ABBGAH4-AAT"",""temperature"":""-40 to +105°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f2g08abbgah4-aat""},{""part"":""MT29F2G08ABBGAH4-AATES"",""temperature"":""-40 to +105°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f2g08abbgah4-aates""},{""part"":""MT29F2G08ABBGAH4-IT"",""temperature"":""-40 to +85°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f2g08abbgah4-it""}]" +MT29F2G16ABAEAWP;Micron;;2Gb;x16;;Package_SO:TSOP-I-48_18.4x12mm_P0.5mm;"[""Package*:*TSOP*18.4x12mm*P0.5mm*""]";-40 to +85°C;;;;SLC;;"[{""part"":""MT29F2G16ABAEAWP-AAT"",""temperature"":""-40 to +85°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f2g16abaeawp-aat""},{""part"":""MT29F2G16ABAEAWP-AIT"",""temperature"":""-40 to +85°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f2g16abaeawp-ait""}]" +MT29F2G16ABAGAWP;Micron;;2Gb;x16;;Package_SO:TSOP-I-48_18.4x12mm_P0.5mm;"[""Package*:*TSOP*18.4x12mm*P0.5mm*""]";;;;;SLC;;"[{""part"":""MT29F2G16ABAGAWP-AATES"",""temperature"":""-40 to +105°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f2g16abagawp-aates""},{""part"":""MT29F2G16ABAGAWP-AIT"",""temperature"":""-40 to +85°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f2g16abagawp-ait""},{""part"":""MT29F2G16ABAGAWP-AITES"",""temperature"":""-40 to +85°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f2g16abagawp-aites""}]" +MT29F2G16ABBEAH4-AAT;Micron;https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f2g16abbeah4-aat;2Gb;x16;;Package_BGA:BGA-63_9x11mm_Layout10x12_P0.8mm;"[""Package*:*BGA*Layout10x12*P0.8mm*""]";0 to +85°C;;;;SLC;; +MT29F2G16ABBEAHC-AIT;Micron;https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f2g16abbeahc-ait;2Gb;x16;;Package_BGA:BGA-63_9x11mm_Layout10x12_P0.8mm;"[""Package*:*BGA*Layout10x12*P0.8mm*""]";-40 to +85°C;;;;SLC;; +MT29F2G16ABBGAH4;Micron;;2Gb;x16;;Package_BGA:BGA-63_9x11mm_Layout10x12_P0.8mm;"[""Package*:*BGA*Layout10x12*P0.8mm*""]";-40 to +105°C;;;;SLC;;"[{""part"":""MT29F2G16ABBGAH4-AATES"",""temperature"":""-40 to +105°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f2g16abbgah4-aates""},{""part"":""MT29F2G16ABBGAH4-AIT"",""temperature"":""-40 to +85°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f2g16abbgah4-ait""},{""part"":""MT29F2G16ABBGAH4-AITES"",""temperature"":""-40 to +85°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f2g16abbgah4-aites""}]" +MT29F32G08ABAAAWP-ITZ;Micron;https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f32g08abaaawp-itz;32Gb;x8;;Package_SO:TSOP-I-48_18.4x12mm_P0.5mm;"[""Package*:*TSOP*18.4x12mm*P0.5mm*""]";-40 to +85°C;;;;SLC;; +MT29F32G08ABCABH1-10ITZ;Micron;https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f32g08abcabh1-10itz;32Gb;x8;;Package_BGA:BGA-100_10x17_Layout12x18mm_P1.0mm;"[""Package*:*BGA*10x17*Layout12x18*P1.0mm*""]";-40 to +85°C;;;;SLC;; +MT29F32G08ABCDBJ4-6;Micron;https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f32g08abcdbj4-6;32Gb;x8;;Package_BGA:BGA-132_12x18mm_Layout11x17_P1.0mm;"[""Package*:*BGA*12x18mm*Layout11x17*P1.0mm*""]";0 to +70°C;;;;SLC;; +MT29F4G08ABADAH4;Micron;https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f4g08abadah4;4Gb;x8;;Package_BGA:BGA-63_9x11mm_Layout10x12_P0.8mm;"[""Package*:*BGA*Layout10x12*P0.8mm*""]";0 to +70°C;;;;SLC;;"[{""part"":""MT29F4G08ABADAH4-AATX"",""temperature"":""-40 to +105°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f4g08abadah4-aatx""},{""part"":""MT29F4G08ABADAH4-AITX"",""temperature"":""-40 to +85°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f4g08abadah4-aitx""},{""part"":""MT29F4G08ABADAH4-IT"",""temperature"":""-40 to +85°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f4g08abadah4-it""},{""part"":""MT29F4G08ABADAH4-ITX"",""temperature"":""-40 to +85°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f4g08abadah4-itx""}]" +MT29F4G08ABADAWP;Micron;https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f4g08abadawp;4Gb;x8;;Package_SO:TSOP-I-48_18.4x12mm_P0.5mm;"[""Package*:*TSOP*18.4x12mm*P0.5mm*""]";0 to +70°C;;;;SLC;;"[{""part"":""MT29F4G08ABADAWP-AATX"",""temperature"":""-40 to +105°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f4g08abadawp-aatx""},{""part"":""MT29F4G08ABADAWP-AITX"",""temperature"":""-40 to +85°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f4g08abadawp-aitx""},{""part"":""MT29F4G08ABADAWP-IT"",""temperature"":""-40 to +85°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f4g08abadawp-it""},{""part"":""MT29F4G08ABADAWP-ITX"",""temperature"":""-40 to +85°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f4g08abadawp-itx""}]" +MT29F4G08ABAEAH4;Micron;https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f4g08abaeah4;4Gb;x8;;Package_BGA:BGA-63_9x11mm_Layout10x12_P0.8mm;"[""Package*:*BGA*Layout10x12*P0.8mm*""]";0 to +70°C;;;;SLC;;"[{""part"":""MT29F4G08ABAEAH4-ITS"",""temperature"":""-40 to +85°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f4g08abaeah4-its""}]" +MT29F4G08ABAEAWP;Micron;https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f4g08abaeawp;4Gb;x8;;Package_SO:TSOP-I-48_18.4x12mm_P0.5mm;"[""Package*:*TSOP*18.4x12mm*P0.5mm*""]";0 to +70°C;;;;SLC;;"[{""part"":""MT29F4G08ABAEAWP-IT"",""temperature"":""-40 to +85°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f4g08abaeawp-it""}]" +MT29F4G08ABAFAH4;Micron;;4Gb;x8;;Package_BGA:BGA-63_9x11mm_Layout10x12_P0.8mm;"[""Package*:*BGA*Layout10x12*P0.8mm*""]";-40 to +105°C;;;;SLC;;"[{""part"":""MT29F4G08ABAFAH4-AAT"",""temperature"":""-40 to +105°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f4g08abafah4-aat""},{""part"":""MT29F4G08ABAFAH4-AIT"",""temperature"":""-40 to +85°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f4g08abafah4-ait""},{""part"":""MT29F4G08ABAFAH4-IT"",""temperature"":""-40 to +85°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f4g08abafah4-it""}]" +MT29F4G08ABAFAWP;Micron;;4Gb;x8;;Package_SO:TSOP-I-48_18.4x12mm_P0.5mm;"[""Package*:*TSOP*18.4x12mm*P0.5mm*""]";;;;;SLC;;"[{""part"":""MT29F4G08ABAFAWP-AAT"",""temperature"":""-40 to +105°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f4g08abafawp-aat""},{""part"":""MT29F4G08ABAFAWP-AIT"",""temperature"":""-40 to +85°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f4g08abafawp-ait""},{""part"":""MT29F4G08ABAFAWP-IT"",""temperature"":""-40 to +85°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f4g08abafawp-it""}]" +MT29F4G08ABBDAH4;Micron;https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f4g08abbdah4;4Gb;x8;;Package_BGA:BGA-63_9x11mm_Layout10x12_P0.8mm;"[""Package*:*BGA*Layout10x12*P0.8mm*""]";0 to +70°C;;;;SLC;;"[{""part"":""MT29F4G08ABBDAH4-AITX"",""temperature"":""-40 to +85°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f4g08abbdah4-aitx""},{""part"":""MT29F4G08ABBDAH4-IT"",""temperature"":""-40 to +85°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f4g08abbdah4-it""},{""part"":""MT29F4G08ABBDAH4-ITX"",""temperature"":""-40 to +85°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f4g08abbdah4-itx""}]" +MT29F4G08ABBDAHC;Micron;;4Gb;x8;;Package_BGA:BGA-63_9x11mm_Layout10x12_P0.8mm;"[""Package*:*BGA*Layout10x12*P0.8mm*""]";-40 to +85°C;;;;SLC;;"[{""part"":""MT29F4G08ABBDAHC-AIT"",""temperature"":""-40 to +85°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f4g08abbdahc-ait""},{""part"":""MT29F4G08ABBDAHC-IT"",""temperature"":""-40 to +85°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f4g08abbdahc-it""}]" +MT29F4G08ABBEAH4;Micron;;4Gb;x8;;Package_BGA:BGA-63_9x11mm_Layout10x12_P0.8mm;"[""Package*:*BGA*Layout10x12*P0.8mm*""]";0 to +70°C;;;;SLC;;"[{""part"":""MT29F4G08ABBEAH4-IT"",""temperature"":""-40 to +85°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/MT29F4G08ABBEAH4-it""}]" +MT29F4G08ABBFAH4;Micron;;4Gb;x8;;Package_BGA:BGA-63_9x11mm_Layout10x12_P0.8mm;"[""Package*:*BGA*Layout10x12*P0.8mm*""]";-40 to +105°C;;;;SLC;;"[{""part"":""MT29F4G08ABBFAH4-AAT"",""temperature"":""-40 to +105°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f4g08abbfah4-aat""},{""part"":""MT29F4G08ABBFAH4-AIT"",""temperature"":""-40 to +85°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f4g08abbfah4-ait""},{""part"":""MT29F4G08ABBFAH4-AITES"",""temperature"":""-40 to +85°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f4g08abbfah4-aites""}]" +MT29F4G16ABADAH4-AIT;Micron;https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f4g16abadah4-ait;4Gb;x16;;Package_BGA:BGA-63_9x11mm_Layout10x12_P0.8mm;"[""Package*:*BGA*Layout10x12*P0.8mm*""]";-40 to +85°C;;;;SLC;; +MT29F4G16ABADAWP-AIT;Micron;https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f4g16abadawp-ait;4Gb;x16;;Package_SO:TSOP-I-48_18.4x12mm_P0.5mm;"[""Package*:*TSOP*18.4x12mm*P0.5mm*""]";-40 to +85°C;;;;SLC;; +MT29F4G16ABBDAH4;Micron;;4Gb;x16;;Package_BGA:BGA-63_9x11mm_Layout10x12_P0.8mm;"[""Package*:*BGA*Layout10x12*P0.8mm*""]";;;;;SLC;;"[{""part"":""MT29F4G16ABBDAH4-AIT"",""temperature"":""-40 to +85°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f4g16abbdah4-ait""},{""part"":""MT29F4G16ABBDAH4-IT"",""temperature"":""-40 to +85°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f4g16abbdah4-it""}]" +MT29F4G16ABBFAH4-AAT;Micron;https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f4g16abbfah4-aat;4Gb;x16;;Package_BGA:BGA-63_9x11mm_Layout10x12_P0.8mm;"[""Package*:*BGA*Layout10x12*P0.8mm*""]";-40 to +105°C;;;;SLC;; +MT29F64G08AECABH1-10ITZ;Micron;https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f64g08aecabh1-10itz;64Gb;x8;;Package_BGA:BGA-100_10x17_Layout12x18mm_P1.0mm;"[""Package*:*BGA*10x17*Layout12x18*P1.0mm*""]";-40 to +85°C;;;;SLC;; +MT29F64G08AECDBJ4-6;Micron;https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f64g08aecdbj4-6;64Gb;x8;;Package_BGA:BGA-132_12x18mm_Layout11x17_P1.0mm;"[""Package*:*BGA*12x18mm*Layout11x17*P1.0mm*""]";0 to +70°C;;;;SLC;; +MT29F64G08AFAAAWP-ITZ;Micron;https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f64g08afaaawp-itz;64Gb;x8;;Package_SO:TSOP-I-48_18.4x12mm_P0.5mm;"[""Package*:*TSOP*18.4x12mm*P0.5mm*""]";-40 to +85°C;;;;SLC;; +MT29F64G08AJABAWP-IT;Micron;https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f64g08ajabawp-it;64Gb;x8;;Package_SO:TSOP-I-48_18.4x12mm_P0.5mm;"[""Package*:*TSOP*18.4x12mm*P0.5mm*""]";-40 to +85°C;;;;SLC;; +MT29F8G08ABABAWP;Micron;https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f8g08ababawp;8Gb;x8;;Package_SO:TSOP-I-48_18.4x12mm_P0.5mm;"[""Package*:*TSOP*18.4x12mm*P0.5mm*""]";;;;;SLC;;"[{""part"":""MT29F8G08ABABAWP-AATX"",""temperature"":""-40 to +105°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f8g08ababawp-aatx""},{""part"":""MT29F8G08ABABAWP-AITX"",""temperature"":""-40 to +85°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f8g08ababawp-aitx""},{""part"":""MT29F8G08ABABAWP-ITX"",""temperature"":""-40 to +85°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f8g08ababawp-itx""}]" +MT29F8G08ABACAH4-IT;Micron;https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f8g08abacah4-it;8Gb;x8;;Package_BGA:BGA-63_9x11mm_Layout10x12_P0.8mm;"[""Package*:*BGA*Layout10x12*P0.8mm*""]";-40 to +85°C;;;;SLC;; +MT29F8G08ABACAWP-IT;Micron;https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f8g08abacawp-it;8Gb;x8;;Package_SO:TSOP-I-48_18.4x12mm_P0.5mm;"[""Package*:*TSOP*18.4x12mm*P0.5mm*""]";-40 to +85°C;;;;SLC;; +MT29F8G08ABBCAH4-IT;Micron;https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f8g08abbcah4-it;8Gb;x8;;Package_BGA:BGA-63_9x11mm_Layout10x12_P0.8mm;"[""Package*:*BGA*Layout10x12*P0.8mm*""]";-40 to +85°C;;;;SLC;; +MT29F8G08ADADAH4-IT;Micron;https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f8g08adadah4-it;8Gb;x8;;Package_BGA:BGA-63_9x11mm_Layout10x12_P0.8mm;"[""Package*:*BGA*Layout10x12*P0.8mm*""]";-40 to +85°C;;;;SLC;; +MT29F8G08ADAFAH4-AAT;Micron;https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f8g08adafah4-aat;8Gb;x8;;Package_BGA:BGA-63_9x11mm_Layout10x12_P0.8mm;"[""Package*:*BGA*Layout10x12*P0.8mm*""]";-40 to +105°C;;;;SLC;; +MT29F8G08ADAFAWP;Micron;https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f8g08adafawp;8Gb;x8;;Package_SO:TSOP-I-48_18.4x12mm_P0.5mm;"[""Package*:*TSOP*18.4x12mm*P0.5mm*""]";;;;;SLC;;"[{""part"":""MT29F8G08ADAFAWP-AAT"",""temperature"":""-40 to +105°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f8g08adafawp-aat""},{""part"":""MT29F8G08ADAFAWP-AIT"",""temperature"":""-40 to +105°C"",""datasheet"":""https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f8g08adafawp-ait""}]" +MT29F8G08ADBDAH4-AAT;Micron;https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f8g08adbdah4-aat;8Gb;x8;;Package_BGA:BGA-63_9x11mm_Layout10x12_P0.8mm;"[""Package*:*BGA*Layout10x12*P0.8mm*""]";-40 to +105°C;;;;SLC;; +MT29F8G08ADBFAH4-AAT;Micron;https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f8g08adbfah4-aat;8Gb;x8;;Package_BGA:BGA-63_9x11mm_Layout10x12_P0.8mm;"[""Package*:*BGA*Layout10x12*P0.8mm*""]";-40 to +105°C;;;;SLC;; +MT29F8G16ABACAWP-IT;Micron;https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f8g16abacawp-it;8Gb;x16;;Package_SO:TSOP-I-48_18.4x12mm_P0.5mm;"[""Package*:*TSOP*18.4x12mm*P0.5mm*""]";-40 to +85°C;;;;SLC;; +MT29F8G16ADADAH4-IT;Micron;https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f8g16adadah4-it;8Gb;x16;;Package_BGA:BGA-63_9x11mm_Layout10x12_P0.8mm;"[""Package*:*BGA*Layout10x12*P0.8mm*""]";-40 to +85°C;;;;SLC;; +MT29F8G16ADBDAH4-AIT;Micron;https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f8g16adbdah4-ait;8Gb;x16;;Package_BGA:BGA-63_9x11mm_Layout10x12_P0.8mm;"[""Package*:*BGA*Layout10x12*P0.8mm*""]";-40 to +85°C;;;;SLC;; +K9F1G08U0F-5IB0;Samsung;https://www.samsung.com/semiconductor/slc-nand/K9F1G08U0F-5IB0/;1Gb;x8;2.7 to 3.6V;Package_BGA:BGA-63_9x11mm_Layout10x12_P0.8mm;"[""Package*:*BGA*Layout10x12*P0.8mm*""]";-40 to +85°C;;;;SLC;; +K9F1G08U0F-SIB0;Samsung;https://www.samsung.com/semiconductor/slc-nand/K9F1G08U0F-SIB0/;1Gb;x8;2.7 to 3.6V;Package_SO:TSOP-I-48_18.4x12mm_P0.5mm;"[""Package*:*TSOP*18.4x12mm*P0.5mm*""]";-40 to +85°C;;;;SLC;; +K9F2G08U0D-5IB0;Samsung;https://www.samsung.com/semiconductor/slc-nand/K9F2G08U0D-5IB0/;2Gb;x8;2.7 to 3.6V;Package_BGA:BGA-63_9x11mm_Layout10x12_P0.8mm;"[""Package*:*BGA*Layout10x12*P0.8mm*""]";-40 to +85°C;;;;SLC;; +K9F2G08U0D-SIB0;Samsung;https://www.samsung.com/semiconductor/slc-nand/K9F2G08U0D-SIB0/;2Gb;x8;2.7 to 3.6V;Package_SO:TSOP-I-48_18.4x12mm_P0.5mm;"[""Package*:*TSOP*18.4x12mm*P0.5mm*""]";-40 to +85°C;;;;SLC;; +K9F4G08U0F-5IB0;Samsung;https://www.samsung.com/semiconductor/slc-nand/K9F4G08U0F-5IB0/;4Gb;x8;2.7 to 3.6V;Package_BGA:BGA-63_9x11mm_Layout10x12_P0.8mm;"[""Package*:*BGA*Layout10x12*P0.8mm*""]";-40 to +85°C;;;;SLC;; +K9F4G08U0F-SIB0;Samsung;https://www.samsung.com/semiconductor/slc-nand/K9F4G08U0F-SIB0/;4Gb;x8;2.7 to 3.6V;Package_SO:TSOP-I-48_18.4x12mm_P0.5mm;"[""Package*:*TSOP*18.4x12mm*P0.5mm*""]";-40 to +85°C;;;;SLC;; +K9F8G08U0F-5IB0;Samsung;https://www.samsung.com/semiconductor/slc-nand/K9F8G08U0F-5IB0/;8Gb;x8;2.7 to 3.6V;Package_BGA:BGA-63_9x11mm_Layout10x12_P0.8mm;"[""Package*:*BGA*Layout10x12*P0.8mm*""]";-40 to +85°C;;;;SLC;; +K9K8G08U0F-SIB0;Samsung;https://www.samsung.com/semiconductor/slc-nand/K9K8G08U0F-SIB0/;8Gb;x8;2.7 to 3.6V;Package_SO:TSOP-I-48_18.4x12mm_P0.5mm;"[""Package*:*TSOP*18.4x12mm*P0.5mm*""]";-40 to +85°C;;;;SLC;; +K9WAG08U1F-SIB0;Samsung;https://www.samsung.com/semiconductor/slc-nand/K9WAG08U1F-SIB0/;16Gb;x8;2.7 to 3.6V;Package_SO:TSOP-I-48_18.4x12mm_P0.5mm;"[""Package*:*TSOP*18.4x12mm*P0.5mm*""]";-40 to +85°C;;;;SLC;; +MX30LF1G28AD;Macronix;;;x8;2.7 to 3.6V;;"[""Package*:*BGA*Layout10x12*P0.8mm*"",""Package*:*TSOP*18.4x12mm*P0.5mm*""]";-40 to +85°C;;2KB;;SLC;; +MX30LF1G18AC;Macronix;;;x8;2.7 to 3.6V;;"[""Package*:*BGA*Layout10x12*P0.8mm*"",""Package*:*TSOP*18.4x12mm*P0.5mm*""]";-40 to +85°C;;2KB;;SLC;; +MX30LF1GE8AB;Macronix;;;x8;2.7 to 3.6V;;"[""Package*:*BGA*Layout10x12*P0.8mm*"",""Package*:*TSOP*18.4x12mm*P0.5mm*""]";-40 to +85°C;;2KB;;SLC;; +MX30LF2G28AD;Macronix;;;x8;2.7 to 3.6V;;"[""Package*:*BGA*Layout10x12*P0.8mm*"",""Package*:*TSOP*18.4x12mm*P0.5mm*""]";-40 to +85°C;;2KB;;SLC;; +MX30LF2G18AC;Macronix;;;x8;2.7 to 3.6V;;"[""Package*:*BGA*Layout10x12*P0.8mm*"",""Package*:*TSOP*18.4x12mm*P0.5mm*""]";-40 to +85°C;;2KB;;SLC;; +MX30LF4G28AD;Macronix;;;x8;2.7 to 3.6V;;"[""Package*:*BGA*Layout10x12*P0.8mm*"",""Package*:*TSOP*18.4x12mm*P0.5mm*""]";-40 to +85°C;;4KB;;SLC;; +MX30LF4G18AC;Macronix;;;x8;2.7 to 3.6V;;"[""Package*:*BGA*Layout10x12*P0.8mm*"",""Package*:*TSOP*18.4x12mm*P0.5mm*""]";-40 to +85°C;;2KB;;SLC;; +MX60UF8G18AC;Macronix;;;x8;1.7 to 1.95V;;"[""Package*:*BGA*Layout10x12*P0.8mm*""]";-40 to +85°C;;2KB;;SLC;; +MX60LF8G28AD;Macronix;;;x8;2.7 to 3.6V;;"[""Package*:*BGA*Layout10x12*P0.8mm*"",""Package*:*TSOP*18.4x12mm*P0.5mm*""]";-40 to +85°C;;4KB;;SLC;; +MX60LF8G18AC;Macronix;;;x8;2.7 to 3.6V;;"[""Package*:*BGA*Layout10x12*P0.8mm*"",""Package*:*TSOP*18.4x12mm*P0.5mm*""]";-40 to +85°C;;2KB;;SLC;; +MX30UF4G18AC;Macronix;;;x8;1.7 to 1.95V;;"[""Package*:*BGA*Layout10x12*P0.8mm*"",""Package*:*TSOP*18.4x12mm*P0.5mm*""]";-40 to +85°C;;2KB;;SLC;; +MX30UF4G16AC;Macronix;;;x16;1.7 to 1.95V;;"[""Package*:*BGA*Layout10x12*P0.8mm*""]";-40 to +85°C;;2KB;;SLC;; +MX30UF4G28AC;Macronix;;;x8;1.7 to 1.95V;;"[""Package*:*BGA*Layout10x12*P0.8mm*""]";-40 to +85°C;;2KB;;SLC;; +MX30UF4G26AB;Macronix;;;x16;1.7 to 1.95V;;"[""Package*:*BGA*Layout10x12*P0.8mm*""]";-40 to +85°C;;2KB;;SLC;; +MX30UF2G18AC;Macronix;;;x8;1.7 to 1.95V;;"[""Package*:*BGA*Layout10x12*P0.8mm*"",""Package*:*TSOP*18.4x12mm*P0.5mm*""]";-40 to +85°C;;2KB;;SLC;; +MX30UF2G16AC;Macronix;;;x16;1.7 to 1.95V;;"[""Package*:*BGA*Layout10x12*P0.8mm*"",""Package*:*TSOP*18.4x12mm*P0.5mm*""]";-40 to +85°C;;2KB;;SLC;; +MX30UF2G16AB;Macronix;;;x16;1.7 to 1.95V;;"[""Package*:*BGA*Layout10x12*P0.8mm*""]";-40 to +85°C;;2KB;;SLC;; +MX30UF2G28AB;Macronix;;;x8;1.7 to 1.95V;;"[""Package*:*BGA*Layout10x12*P0.8mm*"",""Package*:*TSOP*18.4x12mm*P0.5mm*""]";-40 to +85°C;;2KB;;SLC;; +MX30UF1G18AC;Macronix;;;x8;1.7 to 1.95V;;"[""Package*:*BGA*Layout10x12*P0.8mm*"",""Package*:*TSOP*18.4x12mm*P0.5mm*""]";-40 to +85°C;;2KB;;SLC;; +MX30UF1G16AC;Macronix;;;x16;1.7 to 1.95V;;"[""Package*:*BGA*Layout10x12*P0.8mm*"",""Package*:*TSOP*18.4x12mm*P0.5mm*""]";-40 to +85°C;;2KB;;SLC;; +W29N04GZxxBF;Winbond;;;;;;;;;;;SLC;; +W29N08GVxxAA;Winbond;;;;;;;;;;;SLC;; +W29N08GVxxAF;Winbond;;;;;;;;;;;SLC;; +W29N08GWxxBA;Winbond;;;;;;;;;;;SLC;; +W29N08GWxxBF;Winbond;;;;;;;;;;;SLC;; +W29N08GZxxBA;Winbond;;;;;;;;;;;SLC;; +W29N08GZxxBF ;Winbond;;;;;;;;;;;SLC;; +W29N02GWxxBA;Winbond;;;;;;;;;;;SLC;; +W29N02GZxIBF;Winbond;;;;;;;;;;;SLC;; +W29N02GZxxBA;Winbond;;;;;;;;;;;SLC;; +W29N02KVxxAE;Winbond;;;;;;;;;;;SLC;; +W29N02KVxxAF;Winbond;;;;;;;;;;;SLC;; +W29N04GVxxAA;Winbond;;;;;;;;;;;SLC;; +W29N04GVxxAF ;Winbond;;;;;;;;;;;SLC;; +W29N04GWxxBA;Winbond;;;;;;;;;;;SLC;; +W29N04GWxxBF;Winbond;;;;;;;;;;;SLC;; +W29N04GZxxBA ;Winbond;;;;;;;;;;;SLC;; +W29N01GV;Winbond;;;;;;;;;;;SLC;; +W29N01GW;Winbond;;;;;;;;;;;SLC;; +W29N01GZ;Winbond;;;;;;;;;;;SLC;; +W29N01HVxINA;Winbond;;;;;;;;;;;SLC;; +W29N01HVxINF;Winbond;;;;;;;;;;;SLC;; +W29N01HZWxxNA;Winbond;;;;;;;;;;;SLC;; +W29N01HZWxxNF;Winbond;;;;;;;;;;;SLC;; +W29N02GVxIAA;Winbond;;;;;;;;;;;SLC;; +W29N02GVxIAF;Winbond;;;;;;;;;;;SLC;; +W29N02GWxIBF;Winbond;;;;;;;;;;;SLC;; +TC58NVG0S3HBAI4;Kioxia;https://business.kioxia.com/info/docget.jsp?did=14827&prodName=TC58NVG0S3HBAI4;1G;;"{""Vcc"":""2.7 to 3.6V""}";Package_BGA:BGA-63_9x11mm_Layout10x12_P0.8mm;"[""Package*:*BGA*Layout10x12*P0.8mm*""]";-40 to 85°C;;2048+128;128K+8K;SLC;; +TC58NVG0S3HTA00;Kioxia;https://business.kioxia.com/info/docget.jsp?did=14827&prodName=TC58NVG0S3HTA00;1G;;"{""Vcc"":""2.7 to 3.6V""}";Package_SO:TSOP-I-48_18.4x12mm_P0.5mm;"[""Package*:*TSOP*18.4x12mm*P0.5mm*""]";0 to 70°C;;2048+128;128K+8K;SLC;; +TC58NVG0S3HTAI0;Kioxia;https://business.kioxia.com/info/docget.jsp?did=14827&prodName=TC58NVG0S3HTAI0;1G;;"{""Vcc"":""2.7 to 3.6V""}";Package_SO:TSOP-I-48_18.4x12mm_P0.5mm;"[""Package*:*TSOP*18.4x12mm*P0.5mm*""]";-40 to 85°C;;2048+128;128K+8K;SLC;; +TC58NVG1S3HBAI4;Kioxia;https://business.kioxia.com/info/docget.jsp?did=14827&prodName=TC58NVG1S3HBAI4;2G;;"{""Vcc"":""2.7 to 3.6V""}";Package_BGA:BGA-63_9x11mm_Layout10x12_P0.8mm;"[""Package*:*BGA*Layout10x12*P0.8mm*""]";-40 to 85°C;;2048+128;128K+8K;SLC;; +TC58NVG1S3HTA00;Kioxia;https://business.kioxia.com/info/docget.jsp?did=14827&prodName=TC58NVG1S3HTA00;2G;;"{""Vcc"":""2.7 to 3.6V""}";Package_SO:TSOP-I-48_18.4x12mm_P0.5mm;"[""Package*:*TSOP*18.4x12mm*P0.5mm*""]";0 to 70°C;;2048+128;128K+8K;SLC;; +TC58NVG1S3HTAI0;Kioxia;https://business.kioxia.com/info/docget.jsp?did=14827&prodName=TC58NVG1S3HTAI0;2G;;"{""Vcc"":""2.7 to 3.6V""}";Package_SO:TSOP-I-48_18.4x12mm_P0.5mm;"[""Package*:*TSOP*18.4x12mm*P0.5mm*""]";-40 to 85°C;;2048+128;128K+8K;SLC;; +TC58NVG2S0HBAI4;Kioxia;https://business.kioxia.com/info/docget.jsp?did=14827&prodName=TC58NVG2S0HBAI4;4G;;"{""Vcc"":""2.7 to 3.6V""}";Package_BGA:BGA-63_9x11mm_Layout10x12_P0.8mm;"[""Package*:*BGA*Layout10x12*P0.8mm*""]";-40 to 85°C;;4096+256;256K+16K;SLC;; +TC58NVG2S0HTA00;Kioxia;https://business.kioxia.com/info/docget.jsp?did=14827&prodName=TC58NVG2S0HTA00;4G;;"{""Vcc"":""2.7 to 3.6V""}";Package_SO:TSOP-I-48_18.4x12mm_P0.5mm;"[""Package*:*TSOP*18.4x12mm*P0.5mm*""]";0 to 70°C;;4096+256;256K+16K;SLC;; +TC58NVG2S0HTAI0;Kioxia;https://business.kioxia.com/info/docget.jsp?did=14827&prodName=TC58NVG2S0HTAI0;4G;;"{""Vcc"":""2.7 to 3.6V""}";Package_SO:TSOP-I-48_18.4x12mm_P0.5mm;"[""Package*:*TSOP*18.4x12mm*P0.5mm*""]";-40 to 85°C;;4096+256;256K+16K;SLC;; +TC58NYG0S3HBAI4;Kioxia;https://business.kioxia.com/info/docget.jsp?did=14827&prodName=TC58NYG0S3HBAI4;1G;;"{""Vcc"":""1.7 to 1.95V""}";Package_BGA:BGA-63_9x11mm_Layout10x12_P0.8mm;"[""Package*:*BGA*Layout10x12*P0.8mm*""]";-40 to 85°C;;2048+128;128K+8K;SLC;; +TC58NYG1S3HBAI4;Kioxia;https://business.kioxia.com/info/docget.jsp?did=14827&prodName=TC58NYG1S3HBAI4;2G;;"{""Vcc"":""1.7 to 1.95V""}";Package_BGA:BGA-63_9x11mm_Layout10x12_P0.8mm;"[""Package*:*BGA*Layout10x12*P0.8mm*""]";-40 to 85°C;;2048+128;128K+8K;SLC;; +TC58NYG2S0HBAI4;Kioxia;https://business.kioxia.com/info/docget.jsp?did=14827&prodName=TC58NYG2S0HBAI4;4G;;"{""Vcc"":""1.7 to 1.95V""}";Package_BGA:BGA-63_9x11mm_Layout10x12_P0.8mm;"[""Package*:*BGA*Layout10x12*P0.8mm*""]";-40 to 85°C;;4096+256;256K+16K;SLC;; +TH58NVG3S0HBAI4;Kioxia;https://business.kioxia.com/info/docget.jsp?did=14827&prodName=TH58NVG3S0HBAI4;8G(4Gx2);;"{""Vcc"":""2.7 to 3.6V""}";Package_BGA:BGA-63_9x11mm_Layout10x12_P0.8mm;"[""Package*:*BGA*Layout10x12*P0.8mm*""]";-40 to 85°C;;4096+256;256K+16K;SLC;; +TH58NVG3S0HTA00;Kioxia;https://business.kioxia.com/info/docget.jsp?did=14827&prodName=TH58NVG3S0HTA00;8G(4Gx2);;"{""Vcc"":""2.7 to 3.6V""}";Package_SO:TSOP-I-48_18.4x12mm_P0.5mm;"[""Package*:*TSOP*18.4x12mm*P0.5mm*""]";0 to 70°C;;4096+256;256K+16K;SLC;; +TH58NVG3S0HTAI0;Kioxia;https://business.kioxia.com/info/docget.jsp?did=14827&prodName=TH58NVG3S0HTAI0;8G(4Gx2);;"{""Vcc"":""2.7 to 3.6V""}";Package_SO:TSOP-I-48_18.4x12mm_P0.5mm;"[""Package*:*TSOP*18.4x12mm*P0.5mm*""]";-40 to 85°C;;4096+256;256K+16K;SLC;; +TH58NVG4S0HTA20;Kioxia;https://business.kioxia.com/info/docget.jsp?did=14827&prodName=TH58NVG4S0HTA20;16G(4Gx4);;"{""Vcc"":""2.7 to 3.6V""}";Package_SO:TSOP-I-48_18.4x12mm_P0.5mm;"[""Package*:*TSOP*18.4x12mm*P0.5mm*""]";0 to 70°C;;4096+256;256K+16K;SLC;; +TH58NVG4S0HTAK0;Kioxia;https://business.kioxia.com/info/docget.jsp?did=14827&prodName=TH58NVG4S0HTAK0;16G(4Gx4);;"{""Vcc"":""2.7 to 3.6V""}";Package_SO:TSOP-I-48_18.4x12mm_P0.5mm;"[""Package*:*TSOP*18.4x12mm*P0.5mm*""]";-40 to 85°C;;4096+256;256K+16K;SLC;; +TH58NYG3S0HBAI4;Kioxia;https://business.kioxia.com/info/docget.jsp?did=14827&prodName=TH58NYG3S0HBAI4;8G(4Gx2);;"{""Vcc"":""1.7 to 1.95V""}";Package_BGA:BGA-63_9x11mm_Layout10x12_P0.8mm;"[""Package*:*BGA*Layout10x12*P0.8mm*""]";-40 to 85°C;;4096+256;256K+16K;SLC;; diff --git a/schlib/autogen/onfi/nand_generator.py b/schlib/autogen/onfi/nand_generator.py new file mode 100644 index 00000000..970d4c62 --- /dev/null +++ b/schlib/autogen/onfi/nand_generator.py @@ -0,0 +1,122 @@ +#!/usr/bin/env python3 + +import sys, os +import json, pyexcel +import flash_decoder +from csv import DictReader + +sys.path.append(os.path.join(sys.path[0], '..')) +from KiCadSymbolGenerator import * + +generator = SymbolGenerator('Memory_Flash_NAND') + +def format(row): + decode=flash_decoder.decode(row['part']) + + print(row['part']) + if decode is not None: + return { + 'part':row['part'], + 'vendor':row['vendor'] if row['vendor'] else decode['vendor'], + 'datasheet':row['datasheet'], + 'density':row['density'] if row['density'] else decode['density'], + 'width':row['width'] if row['width'] else decode['width'], + 'page_size':row['page_size'] if row['page_size'] else decode['page_size'], + 'page_size':'', + 'block_size':row['block_size'] if row['block_size'] else decode['block_size'], + 'block_size':'', + 'cells':row['cells'] if row['cells'] else decode['cells'], + 'voltage':json.loads(row['voltage']) if row['voltage'] else decode['voltage'], + 'classification':decode['classification'], + 'interface':decode['interface'], + 'footprint_default':row['footprint_default'] if row['footprint_default'] else decode['footprint_default'], + 'footprint_filters':row['footprint_filters'] if row['footprint_filters'] else decode['footprint_filters'], + 'temperature':row['temperature'] if row['temperature'] else decode['temperature'], + 'speed':row['speed'] if row['speed'] else decode['speed'], + 'alias':row['alias'] if row['alias'] else None + } + + +def generateSymbol(flash): + # get decoded values if no default in csv + flash = format(flash) + + if flash is not None: + # MODE + if flash['interface']['async']: + mode="DDR" + elif flash['interface']['sync']: + mode="SDR" + else: + return() + + # abort with invalid data + if (flash['classification']['ce'] is None) or (flash['classification']['ch'] is None) or (mode is None): + print ("flash not properly detected: " + str(flash)) + return() + + voltage="" + if flash['voltage'] is not None: + for key,value in flash['voltage'].items(): + if value: + voltage += key + ':' + str(value) + ', ' + page_size = flash['page_size'] + ' Page, ' if flash['page_size'] else '' + block_size = flash['block_size'] + ' Block, ' if flash['block_size'] else '' + temperature = flash['temperature'] if flash['temperature'] else '' + speed = flash['speed'] +', ' if flash['speed'] else '' + keywords = str(voltage + page_size + block_size + speed).rstrip(',') + description = flash['vendor'] + ' ' + flash['cells'] + ' NAND ' + flash['density'] + flash['width'] + ', ' + mode + + # symbol properties + current_symbol = generator.addSymbol(flash['part'], + dcm_options = { + 'datasheet': flash['datasheet'], + 'description': description, + 'keywords': keywords + temperature + },num_units=flash['classification']['ch']) + current_symbol.setReference('U', at={'x':0, 'y':100}) + current_symbol.setValue(at={'x':0, 'y':0}) + current_symbol.setDefaultFootprint (value=flash['footprint_default'], alignment_vertical=SymbolField.FieldAlignment.CENTER, visibility=SymbolField.FieldVisibility.INVISIBLE) + + # draw body + for u in range (0,flash['classification']['ch']): + rect = DrawingRectangle(start={'x':-700, 'y':1000}, end={'x':700, 'y':-1000}, fill=ElementFill.FILL_BACKGROUND,unit_idx=u) + current_symbol.drawing.append(rect) + + # add pins + current_symbol.pin_name_offset = 20 + package = pyexcel.get_sheet(file_name="pinmap.ods", name_columns_by_row=0, sheet_name=flash['footprint_default'].split(':')[1]) + for pin in package.to_records(): + if ((pin['interface'] == "") or (mode in pin['interface'].split(","))) and (pin['name']): + if (int(pin['ce']) <= flash['classification']['ce']) and (pin['width']==flash['width'] or not pin['width']): + if pin['visibility'] == 'N': + vis=DrawingPin.PinVisibility('N') + else: + vis=DrawingPin.PinVisibility('') + + current_symbol.drawing.append(DrawingPin(at=Point({'x':pin['x'], 'y':pin['y']}, + grid=50), number=pin['pin'], name = pin['name'], orientation = DrawingPin.PinOrientation(pin['orientation']), + pin_length = 200, visibility=vis, el_type=DrawingPin.PinElectricalType(pin['type']),unit_idx=pin['channel'])) + + # add alias + if flash['alias']: + for alias in json.loads(flash['alias']): + current_symbol.addAlias(alias['part'], dcm_options={ + 'description': description, + 'keywords': keywords + alias['temperature'], + 'datasheet': alias['datasheet']} + ) + + # add footprint filters + for filter in json.loads(flash['footprint_filters']): + current_symbol.addFootprintFilter(filter) + + print('---') + +if __name__ == '__main__': + with open('flashes.csv', 'r') as read_obj: + csv_dict_reader = DictReader(read_obj, delimiter=";") + for row in csv_dict_reader: + generateSymbol(row) + + generator.writeFiles() \ No newline at end of file diff --git a/schlib/autogen/onfi/pinmap.ods b/schlib/autogen/onfi/pinmap.ods new file mode 100644 index 00000000..ed4584c9 Binary files /dev/null and b/schlib/autogen/onfi/pinmap.ods differ