sy-mengxinyu / uia-wafermap

Shot & Wafer map for semiconductor

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

uia-wafermap

How to build

  1. Install rollup.js package.
npm install -g rollup
  1. Change to the project directory and install dependencies modules.
npm install
  1. Test the project.
npm run test
  1. Build the project and output the result to dist/uia-wafermap.js.
npm run build
  1. Click the index.html to see the sample.

Example.js

var shotmap = uia.shotmap('wafer2')       // element id
  .wafer(200, 3, 9, 'bottom')             // wafer size
  .die(3.76, 3.74)                        // die size
  .reticle(5, 6, 0.3, -9.81)              // reticle size
  .create()                               // create shotmap
  .visibility('wafer2_cross', 'hidden');  // hide cross line

var data = shotmap.data(49, 51)           // create waferdata, (row,col) = (49,51)
  .layer('1', sampleLayer1);              // add layer1 sample data
  .layer('2', sampleLayer2);              // add layer2 sample data

shotmap.bind(data, 1, 0)                  // bind data to shotmap, offset of (x,y) is (1,0)
  .draw();                                // draw

WaferMap

ShotMap Helper Methods

create(diesGrid)

Draw grid line of dies or not.

var shotmap = uia.shotmap('wafer2')
  .wafer(200, 3, 9, 'bottom')
  .die(3.76, 3.74)
  .reticle(5, 6, 0.3, -9.81)
  .create(true)               // show grid

visibility(id, value)

Change visibility of some SVG elements.

  • id - the naming pattern is {shotmap}_{target}.
  • value = one of ['hidden' / 'visible']

{target} can be one of:

  • _cross
  • _rect_area
  • _reticles
  • _dies
var shotmap = uia.shotmap('wafer2')             // id
  .wafer(200, 3, 9, 'bottom')
  .die(3.76, 3.74)
  .reticle(5, 6, 0.3, -9.81)
  .create()
  .visibility('wafer2_cross', 'hidden')         // wafer2_xxxx
  .visibility('wafer2_rect_area', 'hidden');

diePalette(colorPicker)

Draw customize color depending on the grade of the die.

var shotmap = uia.shotmap('wafer2')
  .wafer(200, 3, 9, 'bottom')
  .die(3.76, 3.74)
  .reticle(5, 6, 0.3, -9.81)
  .diePalette(failedOnly)
  .create()

function failedOnly(grade) {
  if(grade === 'f') {
    return "red";
  }
  return 'none';
}

About

Shot & Wafer map for semiconductor

License:Apache License 2.0


Languages

Language:JavaScript 87.8%Language:HTML 9.4%Language:CSS 2.7%