{ "keyboard_name": "adkb96", "url": "", "maintainer": "qmk", "width": 16, "height": 6, "layouts": { "LAYOUT_ortho_6x16": { "key_count": 96, "layout": [ { "label": "L00", "x": 0, "y": 0 }, { "label": "L01", "x": 1, "y": 0 }, { "label": "L02", "x": 2, "y": 0 }, { "label": "L03", "x": 3, "y": 0 }, { "label": "L04", "x": 4, "y": 0 }, { "label": "L05", "x": 5, "y": 0 }, { "label": "L06", "x": 6, "y": 0 }, { "label": "L07", "x": 7, "y": 0 }, { "label": "R00", "x": 8, "y": 0 }, { "label": "R01", "x": 9, "y": 0 }, { "label": "R02", "x": 10, "y": 0 }, { "label": "R03", "x": 11, "y": 0 }, { "label": "R04", "x": 12, "y": 0 }, { "label": "R05", "x": 13, "y": 0 }, { "label": "R06", "x": 14, "y": 0 }, { "label": "R07", "x": 15, "y": 0 }, { "label": "L10", "x": 0, "y": 1 }, { "label": "L11", "x": 1, "y": 1 }, { "label": "L12", "x": 2, "y": 1 }, { "label": "L13", "x": 3, "y": 1 }, { "label": "L14", "x": 4, "y": 1 }, { "label": "L15", "x": 5, "y": 1 }, { "label": "L16", "x": 6, "y": 1 }, { "label": "L17", "x": 7, "y": 1 }, { "label": "R10", "x": 8, "y": 1 }, { "label": "R11", "x": 9, "y": 1 }, { "label": "R12", "x": 10, "y": 1 }, { "label": "R13", "x": 11, "y": 1 }, { "label": "R14", "x": 12, "y": 1 }, { "label": "R15", "x": 13, "y": 1 }, { "label": "R16", "x": 14, "y": 1 }, { "label": "R17", "x": 15, "y": 1 }, { "label": "L20", "x": 0, "y": 2 }, { "label": "L21", "x": 1, "y": 2 }, { "label": "L22", "x": 2, "y": 2 }, { "label": "L23", "x": 3, "y": 2 }, { "label": "L24", "x": 4, "y": 2 }, { "label": "L25", "x": 5, "y": 2 }, { "label": "L26", "x": 6, "y": 2 }, { "label": "L27", "x": 7, "y": 2 }, { "label": "R20", "x": 8, "y": 2 }, { "label": "R21", "x": 9, "y": 2 }, { "label": "R22", "x": 10, "y": 2 }, { "label": "R23", "x": 11, "y": 2 }, { "label": "R24", "x": 12, "y": 2 }, { "label": "R25", "x": 13, "y": 2 }, { "label": "R26", "x": 14, "y": 2 }, { "label": "R27", "x": 15, "y": 2 }, { "label": "L30", "x": 0, "y": 3 }, { "label": "L31", "x": 1, "y": 3 }, { "label": "L32", "x": 2, "y": 3 }, { "label": "L33", "x": 3, "y": 3 }, { "label": "L34", "x": 4, "y": 3 }, { "label": "L35", "x": 5, "y": 3 }, { "label": "L36", "x": 6, "y": 3 }, { "label": "L37", "x": 7, "y": 3 }, { "label": "R30", "x": 8, "y": 3 }, { "label": "R31", "x": 9, "y": 3 }, { "label": "R32", "x": 10, "y": 3 }, { "label": "R33", "x": 11, "y": 3 }, { "label": "R34", "x": 12, "y": 3 }, { "label": "R35", "x": 13, "y": 3 }, { "label": "R36", "x": 14, "y": 3 }, { "label": "R37", "x": 15, "y": 3 }, { "label": "L40", "x": 0, "y": 4 }, { "label": "L41", "x": 1, "y": 4 }, { "label": "L42", "x": 2, "y": 4 }, { "label": "L43", "x": 3
# Spartan 3A DSP block RAM rules.

bram $__XILINX_RAMB16BWER_TDP
  init 1
  abits  9     @a9d36
  dbits 36     @a9d36
  abits 10     @a10d18
  dbits 18     @a10d18
  abits 11     @a11d9
  dbits  9     @a11d9
  abits 12     @a12d4
  dbits  4     @a12d4
  abits 13     @a13d2
  dbits  2     @a13d2
  abits 14     @a14d1
  dbits  1     @a14d1
  groups 2
  ports  1 1
  wrmode 0 1
  enable 1 4   @a9d36
  enable 1 2   @a10d18
  enable 1 1   @a11d9 @a12d4 @a13d2 @a14d1
  transp 0 0
  clocks 2 3
  clkpol 2 3
endbram

match $__XILINX_RAMB16BWER_TDP
  min bits 4096
  min efficiency 5
  shuffle_enable B
  make_transp
endmatch