From 87ee5f05a6dd073740227564c22151e7e6331597 Mon Sep 17 00:00:00 2001 From: Michael Buesch Date: Tue, 16 Feb 2010 15:49:35 +0100 Subject: Add generic layout classes Signed-off-by: Michael Buesch --- reverse-engineering/vccx_layouts_dump | 135 ------------------------------- reverse-engineering/vpp_layouts_dump | 144 ---------------------------------- 2 files changed, 279 deletions(-) delete mode 100755 reverse-engineering/vccx_layouts_dump delete mode 100755 reverse-engineering/vpp_layouts_dump (limited to 'reverse-engineering') diff --git a/reverse-engineering/vccx_layouts_dump b/reverse-engineering/vccx_layouts_dump deleted file mode 100755 index 778004e..0000000 --- a/reverse-engineering/vccx_layouts_dump +++ /dev/null @@ -1,135 +0,0 @@ -#!/usr/bin/env python - -# This is a dump of the VCCX layouts. The array index is the -# layout ID and the array entries are the inverted shift -# register outputs. The least significant byte is the first -# shift register in the chain. - -vccx_layouts = [ - 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, - 0x000000, 0x000000, 0x000001, 0x000000, 0x000000, 0x002000, - 0x000000, 0x000002, 0x000000, 0x000000, 0x080000, 0x000004, - 0x000000, 0x000000, 0x010000, 0x004000, 0x000000, 0x000000, - 0x000008, 0x000010, 0x000020, 0x000040, 0x000080, 0x000000, - 0x000100, 0x000000, 0x000200, 0x000000, 0x000400, 0x000000, - 0x000800, 0x000000, 0x008000, 0x000000, 0x001000, 0x000000, - 0x020000, 0x000000, 0x040000, #0x000000, 0x000000, 0x000000, -# 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, -# 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, -# 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, -# 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, -# 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, -# 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, -# 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, -# 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, -# 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x012000, -# 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, -# 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, -# 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, -# 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, -# 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, -# 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, -# 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, -# 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, -# 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, -# 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, -# 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, -# 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, -# 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, -# 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, -# 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, -# 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, -# 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, -# 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, -# 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, -# 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, -# 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, -# 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, -# 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, -# 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, -# 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, -# 0x000000, 0x000000, 0x000000, 0x000000, -] - -shreg2zif_map = { - # SHREG.PIN : ZIF_PIN - - # left side - # 1 - # 2 - # 3 - # 4 - # 5 - # 6 - # 7 - # 8 - # 9 - # 10 - # 11 - "0.0" : 12, # Q8C - # 13 - # 14 - "1.5" : 15, # Q11C - # 16 - "0.1" : 17, # Q13C - # 18 - # 19 - "2.3" : 20, # Q16C - "0.2" : 21, # Q17C - # 22 - # 23 - "2.0" : 24, # Q20C - - # right side - "2.2" : 48, # Q44C - # 47 - "2.1" : 46, # Q42C - # 45 - "1.4" : 44, # Q40C - # 43 - "1.7" : 42, # Q38C - # 41 - "1.3" : 40, # Q36C - # 39 - "1.2" : 38, # Q34C - # 37 - "1.1" : 36, # Q32C - # 35 - "1.0" : 34, # Q30C - # 33 - "0.7" : 32, # Q28C - "0.6" : 31, # Q27C - "0.5" : 30, # Q26C - "0.4" : 29, # Q25C - "0.3" : 28, # Q24C - # 27 - # 26 - "1.6" : 25, # Q21C -} - -def printLayouts(): - for layoutNr in range(0, len(vccx_layouts)): - layout = vccx_layouts[layoutNr] - print "ZIF socket VCCX layout %d:" % layoutNr - hotPins = [] - for reg in range(0, 3): - for bit in range(0, 8): - mask = (1 << bit) << (reg * 8) - if layout & mask == 0: - continue - string = "%d.%d" % (reg, bit) - zifPin = shreg2zif_map[string] - hotPins.append(zifPin) - print " o---------o" - for pin in range(1, 25): - left = " " - right = "" - if pin in hotPins: - left = "VCCX >" - if (49 - pin) in hotPins: - right = "< VCCX" - print "%s | %2d | %2d | %s" % (left, pin, 49 - pin, right) - print " o---------o" - print "" - -printLayouts() diff --git a/reverse-engineering/vpp_layouts_dump b/reverse-engineering/vpp_layouts_dump deleted file mode 100755 index c209318..0000000 --- a/reverse-engineering/vpp_layouts_dump +++ /dev/null @@ -1,144 +0,0 @@ -#!/usr/bin/env python - -# This is a dump of the VPP layouts. The array index is the -# layout ID and the array entries are the inverted shift -# register outputs. The least significant byte is the first -# shift register in the chain. - -vpp_layouts = [ - 0x00000000, 0x02000000, 0x03000000, 0x03000008, 0x03000008, - 0x03100008, 0x03100008, 0x03120008, 0x03130008, 0x03134008, - 0x03136008, 0x03137008, 0x03137208, 0x03137208, 0x03137308, - 0x03137328, 0x03137328, 0x03137328, 0x03137328, 0x03137328, - 0x03137329, 0x03137329, 0x0313732B, 0x0313732B, 0x0313732B, - 0x0313732B, 0x0313732F, 0x0313733F, 0x0313737F, 0x031373FF, - 0x031377FF, 0x03137FFF, 0x03137FFF, 0x0313FFFF, 0x0317FFFF, - 0x031FFFFF, 0x031FFFFF, 0x033FFFFF, 0x033FFFFF, 0x037FFFFF, - 0x03FFFFFF, 0x03FFFFFF, 0x07FFFFFF, 0x0FFFFFFF, 0x8FFFFFFF, - 0xCFFFFFFF, 0xEFFFFFFF, 0xFFFFFFFF, #0xFFFFFFFF, 0xFFFFFFFF, -# 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, -# 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, -# 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, -# 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, -# 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, -# 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, -# 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, -# 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, -# 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, -# 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, -# 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, -# 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, -# 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, -# 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, -# 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, -# 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, -# 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, -# 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, -# 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, -# 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, -# 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, -# 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, -# 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, -# 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, -# 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, -# 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, -# 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, -# 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, -# 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, -# 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, -# 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, -# 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, -# 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, -# 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, -# 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, -# 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, -# 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, -# 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, -# 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, -# 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, -# 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, -# 0xFFFFFFFF, -] - -shreg2zif_map = { - # SHREG.PIN : ZIF_PIN - - # left side - "3.6" : 1, # QP31 - "3.5" : 2, # QP30 - "3.4" : 3, # QP29 - # 4 - "3.1" : 5, # QP26 - "3.0" : 6, # QP25 - "0.3" : 7, # QP4 - # 8 - "2.4" : 9, # QP21 - # 10 - "2.1" : 11, # QP18 - "2.0" : 12, # QP17 - "1.6" : 13, # QP15 - "1.5" : 14, # QP14 - "1.4" : 15, # QP13 - "1.1" : 16, # QP10 - # 17 - "1.0" : 18, # QP9 - "0.5" : 19, # QP6 - # 20 - # 21 - # 22 - # 23 - "0.0" : 24, # QP1 - - # right side - "3.7" : 48, # QP32 - "3.3" : 47, # QP28 - "3.2" : 46, # QP27 - # 45 - "2.7" : 44, # QP24 - "2.6" : 43, # QP23 - # 42 - "2.5" : 41, # QP22 - # 40 - "2.3" : 39, # QP20 - "2.2" : 38, # QP19 - "1.7" : 37, # QP16 - # 36 - "1.3" : 35, # QP12 - "1.2" : 34, # QP11 - "0.7" : 33, # QP8 - "0.6" : 32, # QP7 - "0.4" : 31, # QP5 - "0.2" : 30, # QP3 - # 29 - # 28 - # 27 - "0.1" : 26, # QP2 - # 25 -} - -def printLayouts(): - for layoutNr in range(0, len(vpp_layouts)): - layout = vpp_layouts[layoutNr] - print "ZIF socket VPP layout %d:" % layoutNr - hotPins = [] - for reg in range(0, 4): - for bit in range(0, 8): - mask = (1 << bit) << (reg * 8) - if layout & mask == 0: - continue - string = "%d.%d" % (reg, bit) - zifPin = shreg2zif_map[string] - hotPins.append(zifPin) - print " o---------o" - for pin in range(1, 25): - left = " " - right = "" - if pin in hotPins: - left = "VPP >" - if (49 - pin) in hotPins: - right = "< VPP" - print "%s | %2d | %2d | %s" % (left, pin, 49 - pin, right) - print " o---------o" - print "" - -printLayouts() -- cgit v1.2.3