|
|
#pragma once
|
|
|
#ifndef GLOBAL_H
|
|
|
#define GLOBAL_H
|
|
|
// !GLOBAL_H
|
|
|
|
|
|
#include <vector>
|
|
|
#include <QColor>
|
|
|
//相关全局定义
|
|
|
static int MAX_EXTEND_NUM = 1000;
|
|
|
static double JUDGE_DECIMAL = 0.0001;
|
|
|
static double DIE_SCALE = 100;
|
|
|
|
|
|
//特征矩形点大小
|
|
|
static double FEATURE_POINT_SIZE = 10;
|
|
|
static QColor FEATURE_POINT_COLOR = QColor::fromRgb(0,0,200);
|
|
|
static int FEATURE_POINT_LINE_WIDTH = 2;
|
|
|
|
|
|
static double PI_2 = 3.1415926;
|
|
|
static double H_ANGLE = 180.00;
|
|
|
static int SELECT_WIDTH = 8;
|
|
|
|
|
|
//定义mapping图颜色
|
|
|
static QColor BASE_POINT_COLOR = Qt::red;
|
|
|
static QColor MARK_POINT_COLOR = QColor::fromRgb(77, 225, 72);
|
|
|
static QColor RECT_COLOR = QColor::fromRgb(200, 200, 200);
|
|
|
static QColor CUR_SELECT_DIE = QColor::fromRgb(255, 0, 0);
|
|
|
static QColor AREA_LINE_COLOR = QColor::fromRgb(255, 242, 0);
|
|
|
|
|
|
//第一部分:晶圆厂提供mapping图定义
|
|
|
//wafer map头结构
|
|
|
typedef struct _tagMapHeadData
|
|
|
{
|
|
|
_tagMapHeadData()
|
|
|
: iBinCodeType(0)
|
|
|
, dDieWidth(0)
|
|
|
, dDieHight(0)
|
|
|
, dWaferSize(0)
|
|
|
, iRows(0)
|
|
|
, iCols(0)
|
|
|
, iAngle(0)
|
|
|
{}
|
|
|
int iBinCodeType; //bincode类型
|
|
|
double dDieWidth; //die宽 单位mm
|
|
|
double dDieHight; //die高 单位mm
|
|
|
double dWaferSize; //Wafer大小 单位mm
|
|
|
int iRows; //总行数
|
|
|
int iCols; //总列数
|
|
|
int iAngle; //起始角度:0,90,180,270
|
|
|
}MapHeadData;
|
|
|
//wafer die数据
|
|
|
typedef struct _tagDieData
|
|
|
{
|
|
|
_tagDieData()
|
|
|
: iRow(0)
|
|
|
, iCol(0)
|
|
|
, bValid(false)
|
|
|
, iMark(0)
|
|
|
, sBinCode("")
|
|
|
{}
|
|
|
_tagDieData(int row, int col, bool valid, int mark, std::string bincode)
|
|
|
: iRow(row)
|
|
|
, iCol(col)
|
|
|
, bValid(valid)
|
|
|
, iMark(mark)
|
|
|
, sBinCode(bincode)
|
|
|
{}
|
|
|
int iRow; //die所在行
|
|
|
int iCol; //die所在列
|
|
|
bool bValid; //die是否有效:false-无效 true-有效
|
|
|
int iMark; //die mark信息:0-不是mark 1-mark1 2-mark2
|
|
|
std::string sBinCode; //die bincode
|
|
|
}DieData;
|
|
|
typedef std::vector<DieData> vtDieData;
|
|
|
//wafer map数据信息
|
|
|
typedef struct _tagMapData
|
|
|
{
|
|
|
MapHeadData headData; //map图头信息
|
|
|
vtDieData vDies; //die数组
|
|
|
}MapData;
|
|
|
|
|
|
//第二部分:根据原始的晶圆数据进行布局
|
|
|
typedef struct _tagMaferRecipe {
|
|
|
double m_waferDia; //晶圆直接
|
|
|
double m_dieWidth; //die宽
|
|
|
double m_dieHeight; //die高
|
|
|
double m_baseDiePosX; //基准点X
|
|
|
double m_baseDiePosY; //基准点Y
|
|
|
double m_markPoint1X; //mark1点X
|
|
|
double m_markPoint1Y; //mark1点Y
|
|
|
double m_markPoint2X; //mark2点X
|
|
|
double m_markPoint2Y; //mark2点Y
|
|
|
int areaXDirectionNum; //区域X方向的个数
|
|
|
int areaYDirectionNum; //区域Y方向的个数
|
|
|
}MaferRecipe;
|
|
|
|
|
|
#endif
|
|
|
|