一種用于直寫式光刻機圖形發生器的凹四邊形fpga硬件填充方法
【技術領域】
[0001]本發明涉及直寫式光刻機圖形數據處理技術領域,具體來說是一種用于直寫式光刻機圖形發生器的凹四邊形FPGA硬件填充方法。
【背景技術】
[0002]直寫式光刻機是半導體生產過程中的必備設備,直寫式光刻機設備利用圖形發生器取代傳統光刻機的掩模板,通過DMD反射特定波長的激光與干膜或者光刻膠反應將曝光圖形直接轉移到PCB或者晶圓上。其與傳統曝光機的區別在于:首先經由計算機將曝光圖形資料解析,然后轉化為利于下位機處理的圖形坐標點數據,通過傳輸媒介輸送給下位機FPGA來填充還原成待曝光二進制圖形。但是由于受計算機和下位機處理圖形類別的限制,目前針對圖形類別的處理只能針對三角形(主要)和梯形(特殊的凸四邊形),遇到凹四角形的情況出現時,則需要先將其拆分成若干個三角形,形成多個三角形的組合,然后再對三角形進行一一處理,所涉及的圖形坐標點數據量大,且填充效率較低,進而影響了直寫式光刻設備的產能。如何能夠實現針對凹四邊形直接進行填充作業已經成為急需解決的技術問題。
【發明內容】
[0003]本發明的目的是為了解決現有技術中無法針對凹四邊形進行填充作業的缺陷,提供一種用于直寫式光刻機圖形發生器的凹四邊形FPGA硬件填充方法來解決上述問題。
[0004]為了實現上述目的,本發明的技術方案如下:
[0005]一種用于直寫式光刻機圖形發生器的凹四邊形FPGA硬件填充方法,包括以下步驟:
[0006]數據預處理,獲取頂點坐標信息,針對頂點進行坐標連線,畫出四邊形的四條邊;
[0007]數據錄入,針對四條邊建立四個邊存儲器,將四條邊的坐標值信息分別存儲至相應的邊存儲器中;
[0008]填充區域的確定,對四個邊存儲器均以¥_為起始地址進行同步遍歷填充處理,處理結束后四個邊存儲器均對Y_+1進行遍歷填充處理,直至讀地址為Y _。
[0009]所述的數據預處理包括以下步驟:
[0010]定義四邊形所在幀區域大小為Μ*Ν,獲取已知的四個頂點A (xl,yl)、B(x2, y2)、C(x3, y3)、D(x4, y4);
[0011]針對四個頂點A、B、C、D畫出四條邊,獲取到每條邊上的X、y值;
[0012]以y值為基準,對每條邊上同一 y值所對應的X值的最大值和最小值進行合并記錄,記錄為 Xall= (χ_,χ_);
[0013]計算出四個頂點A (xl,yl)、B(x2,y2)、C(x3,y3)、D(x4,y4)中 Y 坐標的最大值¥_、最小值Y_。
[0014]所述的數據錄入包括以下步驟:
[0015]建立四個邊存儲器,邊存儲器的大小均為:深度為N、寬度為2*(log2M+l)、所有位的初始值均為O ;
[0016]將四條邊Xall、Y坐標范圍內的邊坐標值信息以Y為寫地址信息、Xall+1為寫數據信息分別存放至四個邊存儲器中。
[0017]所述的遍歷填充處理包括以下步驟:
[0018]以Y_為起始地址讀取邊存儲器里的值,若讀出的值為0,則表示該邊存儲器對應的那條邊與當前Y值沒有交點;若讀出的值為非0,則表示該邊存儲器對應的那條邊與當前Y值存在交點,將其記錄;
[0019]若某一 Y值與四條邊都存在交點,則該四邊形為凹四邊形,讀出的這四條邊的X值求出這四個交點Xa、HXd^X a、HXd進行升序排列;將XA Xb之間和X。與Xd之間均填充為1,其余為0,并將填充結果存儲到幀處理器;
[0020]若某一 Y值與兩條邊都存在交點,讀出的這兩條邊的X值求出XjP Xb,將Xb之間填充為1,其余為0,并將填充結果存儲到幀處理器。
[0021]有益效果
[0022]本發明的一種用于直寫式光刻機圖形發生器的凹四邊形FPGA硬件填充方法,與現有技術相比能夠直接對凹四邊形進行填充。通過結合FPGA的可編程特性,利用其豐富的存儲器和邏輯門資源,用并行處理的方式快速的實現了凹四邊形的填充,不僅節省了數據傳輸的帶寬,也提高了直寫式光刻機的產能。
【附圖說明】
[0023]圖1為本發明的方法流程圖;
[0024]圖2a-圖2e為本發明中凹四邊形的填充示例過程圖;
[0025]圖3為本發明中遍歷填充處理步驟的填充示例圖;
[0026]圖4為本發明的數據預處理步驟中針對同一y值的X值的最大值和最小值進行合并記錄的輸出時序圖;
[0027]圖5為邊存儲器的硬件模型圖。
【具體實施方式】
[0028]為使對本發明的結構特征及所達成的功效有更進一步的了解與認識,用以較佳的實施例及附圖配合詳細的說明,說明如下:
[0029]如圖1所示,本發明所述的一種用于直寫式光刻機圖形發生器的凹四邊形FPGA硬件填充方法,包括以下步驟:
[0030]第一步,數據預處理。獲取頂點坐標信息,針對頂點進行坐標連線,畫出四邊形的四條邊,即通過數據預處理過程,能夠輸出獲取到凹四邊形上每條邊上的x、y值。其具體步驟如下:
[0031](I)定義四邊形所在幀區域大小為M*N,通過已知的四個頂點A(xl,yl)、B(x2, y2)、C(x3, y3)、D(x4, y4),如圖2a所示,直接可以定位出四邊形的四個頂點位置。
[0032](2)如圖2b所示,針對四個頂點A、B、C、D畫出四條邊,從而獲取到每條邊上的X、y值。
[0033](3)以y值為基準,對每條邊上同一 y值所對應的X值的最大值和最小值進行合并記錄,記錄為Xall= (Xmin,Xmax)。確定Xall的目的在于,當邊或者邊的延長線與X軸方向的夾角小于45度或者大于135度時,該邊相同的Y會有多個不同的X值。且當具有這樣特征的邊位于所在四邊形的左邊時,X_則尤為重要,當具有這樣特征的邊位于所在四邊形的右邊時,X_則尤為重要。在光刻機領域,圖形的精細度十分重要,為了不丟失圖形的邊緣細節信息,則需要精準的記錄相同Y值對應的所有X信息。該步驟模塊的輸出時序圖如圖4所示,如圖2b所示當邊或者邊的延長線與X方向的夾角小于45度或者大于135度時,針對相同的Y會有多個不同的X值(因為為了滿足這個傾斜角度,斜邊的走向在同一 Y值上像素格中必須要呈多個X值的連續分布,例如X8、XjP X 10),將最大值和最小值合并記錄為X3H= (x_,Xnax),由datavalid信號來標志當前Y值的有效Xall信號。當邊或者邊的延長線與X方向的夾角大于等于45度且小于等于135度時,同樣Xall= (X_,X_),但只是由于傾斜角度的原因,此時X_= X_。所有輸出的有效標志以datavalid信號為高電平‘I’為準。
[0034](4)計算出四個頂點 A(xl, yl)、B(x2, y2)、C