close

2011.0707
任務一之晶圓針側自動化測試資料

正式入部門第二天,今天上午許饅頭給了我一堆半導體晶圓針測的資料和整個晶圓由生產到出貨的整體流程的教育訓練文件,讓我對晶圓生產整體有概念,下午許饅頭花了兩小時跟我簡報關於晶圓偵測的自動化檢測細節,通過講解,對一些專有名詞的深層意義才有一種恍然大悟的感覺
Wafer (晶圓)
Die (wafer 上的小矩型電路元件區塊)
Software Bin (高解析)
Hardware Bin (低解析,混和多個softBin 成一個hardBin)
Datalog (保有所有測試項目的數據)
Lot (放置wafer披薩的盒子,至多25片)

關於以上機台檢測Bin的資料,需要透過檢測程式來控制機台去測試die取得
取得的測試資料,又不同機台有各種的輸出格式,
其中一種輸出標準,是一種二進位格式 .stdf
而我的第一個任務就是去解讀 這種二進位格式的來源檔,進而轉換成ascii明碼的數據資料

因為以前解過雙頻DGPS Raw Measurment 的二進位檔案 ,還有以前跟LD研究過的FAT16檔案系統,再加上16位元單晶片記憶體數值運算的經驗.由以上三大內功加持下,在跟許饅頭簡報討論結束後,仔細交叉比對這個.stdf格式的規格書和一個完成轉換輸出檔案,比了兩個小時後,又到了下午六點這個放飯時間了,也差不多搞懂了規則.

其中關於”用兩個Byte來表示一個數值”的表示法,透過許饅頭的高低位元交換的觀念提點後,讓我回家後還是忍不住做了些coding測試其證明所言屬實,在這部份我著墨了一些說明,有興趣的可以繼續往下看看.

關於:
由2個Byte來表示一個數值Int16
Int16 的範圍 255*255 = 0 ~ 65535
也就是16位元記憶體的數值表示方式 0xFF


‘=======JK解說時間==================================
一個Int16 Type 的數值是由兩個Byte 來表示
比如: 00 FF = 255
FF 00 ‘低8位 + 高8位 當寫入二進位檔案時會先寫低8位元(FF) +高8位元( 00 )

01 00 =256
00 01 ‘寫入BinaryFile時的樣子

01 02 =258
02 01 ‘寫入BinaryFile時的樣子


反過來說 讀取二進位檔案的2個Byte 型態的數值 比如Int16 (16bit=2Byte)
在BinaryFile 裡的 02 01 (先低再高)
要解讀成 01 02 ‘先交換Byte的高低順序 (左高右低)
16^3 * 0 = 0
16^2 * 1= 256
16^1 * 0= 0
16^0 * 2= 2

Sum=0+256+0+2=258 ‘此Int16 數值=258

了解這樣的高低位交換規則後,其實也可以不需要做交換一樣可以計算出數值.
在BinaryFile 裡的 02 01 (先低再高)
‘-------高位 01 --------
16^3 * 0 = 0
16^2 * 1= 256

‘-------低位 02 --------
16^1 * 0= 0
16^0 * 2= 2

‘===========/JK解說時間/===================================

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 prague12 的頭像
    prague12

    prague12

    prague12 發表在 痞客邦 留言(2) 人氣()