專利名稱:選擇子像素條形圖以表示與區(qū)域相交的邊的方法
技術(shù)領域:
本發(fā)明涉及一種選擇子像素條形圖以表示與區(qū)域相交的邊的方法。本發(fā)明可以應用于網(wǎng)線板(reticle)和大面積掩模的生產(chǎn),圖形的直接寫入和網(wǎng)線板或其他帶有圖形的工件的檢驗。本發(fā)明的方面可以應用于SLM和掃描技術(shù)。
背景技術(shù):
用于半導體制造的設備包括用于在網(wǎng)線板和大面積掩模上產(chǎn)生圖像、用于直接寫入芯片的圖形和用于檢驗帶有圖形的工件的寫入器和檢驗設備。漸漸地,隨著處理器、存儲器電路和其他半導體取得越來越大的容量,芯片變得越來越復雜密集。特別是存儲器電路和一般來說所有具有小圖形尺寸的電路已經(jīng)變得更為密集。用于這些電路的圖形已經(jīng)變得比電路更復雜,因為光接近度和激光接近度校正圖形已經(jīng)被增加到所述圖形。響應于對在芯片上的較小圖形和更緊密的臨界尺寸的要求,所述設備和寫入策略已經(jīng)變得越來越復雜。多年前開發(fā)的用于滿足半導體制造設備的需要的設備和寫入策略的一個說明可以在1996年頒發(fā)給Teitzel等的美國專利第5,533,170中找到。
對于制造商的另一個挑戰(zhàn)是補償在工藝化學中的變化,諸如抗蝕劑對曝光輻射的響應中的變化。在不同類型和甚至不同批次的抗蝕劑對曝光的響應中出現(xiàn)變化。
當制造商努力與摩爾定律保持一致時,持續(xù)需要可以處理大量的幾何圖形和在工件上產(chǎn)生精確圖形的寫入器和檢驗設備。因此在產(chǎn)生所需要的精密圖形的同時,需要補償在抗蝕劑和其他處理變量中的變化的技術(shù)、方法和設備。
發(fā)明內(nèi)容
本發(fā)明的方面可以被組合來使用例如SLM投射技術(shù)來處理大量的幾何圖形和產(chǎn)生在工件上的精確圖形。本發(fā)明的其他方面便利了補償在抗蝕劑響應和其他處理變量中的變化。
本發(fā)明的一個實施例是一個數(shù)據(jù)路徑和多個處理器,它接受被分割的幾何形狀數(shù)據(jù)來作為輸入,并且產(chǎn)生用于在微鏡陣列中的微鏡的驅(qū)動值來作為輸出。在這個實施例中,所述方法包括對應于從多個重疊曝光向工件的區(qū)域上的意欲的能量分布的圖形而將工件映射到重疊區(qū)域中;使用用于像素圖和用于對應于在像素圖中的像素的微像素陣列的雙分辨率存儲器來將分割的多邊形表達為灰度級像素值;根據(jù)重疊區(qū)域來計算用于灰度級像素值的曝光值;根據(jù)獨立的微鏡特征來勾畫曝光值;并且輸出所勾畫的曝光值。根據(jù)用于印刷的遍次的數(shù)量,所述映射步驟可以產(chǎn)生9個重疊區(qū)域、81個重疊區(qū)域或一些其他數(shù)量的重疊區(qū)域。所述計算步驟可以使用重疊區(qū)域來考慮從多個曝光產(chǎn)生的累積量。這種方法可以還包括在連接到一組鏡子像素驅(qū)動器的至少一個分段緩沖器中緩沖所勾畫的曝光值。所述緩沖器可以是雙段的,第一段對應于表達引擎,第二段對應于微鏡陣列的區(qū)域。緩沖器的第一段和第二段可以不同。可以使用多個緩沖器來收集數(shù)據(jù)以輸出。緩沖器的輸出可以到數(shù)模轉(zhuǎn)換器。這個實施例的另一個方面是重疊區(qū)域考慮到被施加到工件的能量的脈沖到脈沖變化。在印刷的過程期間,可以調(diào)整重疊區(qū)域的照明以考慮到在工件上的抗蝕劑的影響,諸如抗蝕劑的老化、由多次曝光對抗蝕劑的啟動和抗蝕劑的敏感度的變化,尤其是在工件的邊或角。
第一實施例的各種子集合本身是有益的。重疊區(qū)域在面向標記的處理中的應用是有益的。將幾何圖形表達為在包括像素圖和對應于在像素圖中的像素的微像素陣列的雙分辨率存儲器中的灰度級像素值是有益的。獨立地或組合地考慮到在標記之間的重疊、考慮到在多遍次之間的重疊和考慮到在曝光能量中的脈沖到脈沖變化的計算全是有益的?;讵毩⒌奈㈢R特征而不是微鏡陣列的一般特征的曝光值的勾畫是有益的。第一實施例的這些方面的成對組合也是有益的。
本發(fā)明的一個附加實施例是使用保護帶來作為截割的替代。這包括提供對應于存儲器的較小尋址窗口;提供一個較大尋址窗口來建立在所述較小尋址窗口周圍的保護帶,它是可以尋址的,但是不對應于存儲器;接收在所述較大尋址窗口中包括的多邊形;將所述多邊形的至少部分呈現(xiàn)到所述較大尋址窗口中;并且在丟棄在所述較小窗口之外的多邊形的呈現(xiàn)部分的同時向存儲器寫入用于在所述較小尋址窗口內(nèi)的多邊形的呈現(xiàn)部分的數(shù)據(jù)。這個實施例的另一個方面是所述呈現(xiàn)步驟被執(zhí)行而不用區(qū)別多邊形的部分在所述較小尋址窗口內(nèi)部或外部。這種方法可以被執(zhí)行而不用將多邊形截割以適合所述較小尋址窗口。通過比較存儲器地址與較小尋址窗口以使用比較結(jié)果來控制諸如寫使能信號的一個或多個存儲器仲裁信號,多邊形的呈現(xiàn)部分的丟棄可以發(fā)生在數(shù)據(jù)被過濾器發(fā)送到存儲器控制器之前、或者發(fā)生在存儲器控制器中。這個實施例及其各個方面的進一步被增強可以通過包括過濾一組多邊形的標記以便至少所接收和呈現(xiàn)的多邊形的一部分位于所述較小尋址窗口內(nèi)。
在替代實施例上的一個變化是向較大尋址窗口呈現(xiàn)多邊形,所述較大尋址窗口包括對應于存儲器的較小尋址窗口和在較小尋址窗口之外的保護帶,所述保護帶是可尋址的,但是不對應于存儲器。這種方法可以包括接收在較大尋址窗口中包括的多邊形;重復選擇多邊形的一部分和將其轉(zhuǎn)換為光柵化的表示數(shù)據(jù);處理所述光柵化的表示數(shù)據(jù)以便在較小尋址窗口內(nèi)的部分被寫入存儲器并且在那個窗口外的數(shù)據(jù)不被寫入存儲器中。這個變化的多個方面可以類似于在這個實施例上的第一變化。所述轉(zhuǎn)換步驟可以被執(zhí)行而不用區(qū)別在較小尋址窗口內(nèi)外的多邊形部分的區(qū)別。可以避免將多邊形截割以適合所述較小尋址窗口。光柵化的表示數(shù)據(jù)可以在被寫入到存儲器控制器或存儲器之前被過濾?;蛘撸缟纤?,它可以在存儲器控制器中被過濾。輸入的多邊形可以被過濾,以便每個多邊形的至少一部分位于較小尋址窗口內(nèi)。這種變化可以還包括限制所接收或輸入的多邊形以便那些多邊形足夠小以適應在保護帶內(nèi)。
對應于前一個實施例的器件可以呈現(xiàn)在較大尋址窗口內(nèi)包括的多邊形,所述較大尋址窗口包括較小尋址窗口和較小尋址窗口外部的保護帶。這個器件可以包括連接到輸入線的呈現(xiàn)器,用來接收在較大尋址窗口內(nèi)包括的多邊形和重復地將多邊形的一部分轉(zhuǎn)換為光柵化的表示數(shù)據(jù);存儲器,對應于較小尋址窗口。
連接到呈現(xiàn)器的存儲器控制器被適配來處理光柵化的表示數(shù)據(jù),并且將在較小尋址窗口內(nèi)的光柵化的表示數(shù)據(jù)寫入存儲器,并且丟棄在較小尋址窗口之外的光柵化的表示數(shù)據(jù)。這個器件的呈現(xiàn)器可以被適配來將多邊形的部分轉(zhuǎn)換為光柵化的表示數(shù)據(jù)而不區(qū)別在較小尋址窗口內(nèi)外的部分。所述器件可以操作而不用將所接收的多邊形截割以適應在較小尋址窗口內(nèi)并且不要求那個所接收的多邊形被包括在較小尋址窗口內(nèi)。這個器件的另一個變化是用于向存儲器寫入在較大尋址窗口內(nèi)包括的多邊形的一部分的器件,所述較大尋址窗口包括較小尋址窗口和在較小尋址窗口之外的保護帶,由光柵化的表示數(shù)據(jù)表示的部分和一個器件包括輸入線;對應于較小尋址窗口的存儲器;連接到輸入行和存儲器的存儲器控制器,用來引用較大尋址窗口來接收光柵化的表示數(shù)據(jù)、向存儲器寫入在較小尋址窗口內(nèi)的光柵化的表示數(shù)據(jù)的部分、丟棄在保護帶內(nèi)的光柵化的表示數(shù)據(jù)的部分。這個變化的多個方面可以從或者前述方法或者這個實施例的其他變化來獲得。
本發(fā)明的另一個實施例是使用至少兩個分辨率級來表示區(qū)域的方法,包括接收由邊限定的多邊形表示;重復選擇多邊形的一部分來用于呈現(xiàn),所述部分對應于像素;根據(jù)多邊形表示的邊來表示在第一數(shù)據(jù)結(jié)構(gòu)內(nèi)的像素被填充、空或部分被填充。在通過被填充或空的子像素的陣列表示在第二數(shù)據(jù)結(jié)構(gòu)中的部分填充的像素中,設置定義多邊形表示的邊的陣列和設置包括至少3×3子像素的陣列?;蛘?,所述陣列可以包括4×4或8×8子像素。所述多邊形可以是四邊形、凸四邊形、梯形或數(shù)據(jù)線。四邊形或梯形表示可以具有0長度的一邊。用于被填充的、空的或部分被填充的像素表示可以使用兩個數(shù)據(jù)比特。所述方法可以還包括保存對應于在陣列中的被填充的或空的子像素的部分被填充像素的總計。這些概述可以包括被填充或空的子像素的計數(shù)或子像素的加權(quán)評估。
本發(fā)明的一個相關實施例是使用至少兩個分辨率級來表示區(qū)域的方法,包括接收由邊限定的多邊形表示;重復選擇通過多邊形的一部分來用于呈現(xiàn),所述部分對應于像素;根據(jù)多邊形表示的邊來將所述像素分類為被填充、空或部分被填充;通過被分配強度級而不是填充或空值的子像素的陣列來表示部分填充的像素。子像素的陣列限定多邊形表示的邊。這些陣列可以包括至少3×3子像素、4×4子像素、8×8子像素或16×16子像素。同上面一樣,所述多邊形具有幾種不同的形式。將像素分類為被填充、空或部分被填充的所述像素圖可以包括用于每個像素的兩個比特。所述方法可以還包括保存對應于在陣列中子像素的強度級的部分被填充像素的總計。這些概述可以子像素強度級的概述或子像素的加權(quán)評估。
使用兩個分辨率級來表示具有至少一個邊的區(qū)域的數(shù)據(jù)結(jié)構(gòu)實施例包括至少一個存儲器;存儲在存儲器中的至少一個像素圖,將像素表示為被填充、空或部分被填充;對應于像素圖的、存儲在存儲器中的至少一個子像素圖,它通過被填充或空的子像素陣列來表示部分被填充的像素,所述子像素定義區(qū)域的邊,子像素陣列包括至少3×3子像素;被填充或空的像素,它被表示而不使用子像素值來表示它們。這個實施例的另一個方面是它可以還包括概述在陣列中的被填充或空子像素的子像素概述。這個實施例可以還包括用于像素圖和子像素陣列的獨立可尋址的存儲器。它可以還包括用于象素圖和子像素概述圖的獨立可尋址存儲器。
在這個實施例上的變化是使用兩個分辨率級來表示至少一個梯形的數(shù)據(jù)結(jié)構(gòu),所述梯形具有第一和第三平行邊以及第二和第四相對邊,所述第一和第三平行邊彼此平行并且與一個基準軸平行,所述數(shù)據(jù)結(jié)構(gòu)包括至少一個存儲器;存儲在存儲器中的至少一個像素圖,將像素表示為被填充、空或部分被填充;對應于在像素圖的一個像素的、存儲在存儲器中的至少一個子像素陣列,它通過子像素陣列來表示在平行邊和相對邊上的像素。在這些陣列中的所述子像素可以是被填充的或空的。這些陣列包括至少3×3子像素、4×4子像素、8×8子像素或16×16子像素。這種數(shù)據(jù)結(jié)構(gòu)可以還包括灰度值概述存儲器,用于概述或者被填充或者空的子像素。所述概述可以基于被填充或空的子像素的計數(shù)或子像素的加權(quán)評估。所述子像素可以具有二進制值或可以另外具有中間強度值。像素圖和子像素陣列可以被存儲在獨立可尋址的存儲器中。梯形的平行邊之一可以具有0長度。
本發(fā)明的多個方面的另一個實施例是一個協(xié)議,用于使用兩個分辨率級來發(fā)送表示具有多個邊的多邊形的圖形數(shù)據(jù),包括通過像素陣列來表示多邊形的部分,所述像素被分配被填充、空或部分被填充的一個值;通過子像素陣列來表示部分被填充的像素,所述子像素被分配被填充或空的一個值,用于限定邊的至少一部分,所述陣列包括至少3×3個子像素;使用至少第一信道和獨立的第二信道來發(fā)送像素陣列和多個子像素陣列的表示,第一信道用于像素陣列的表示,第二信道用于子像素的陣列。在這個實施例中,子像素陣列可以或者包括至少4×4、8×8或16×16個子像素。像素陣列的表示可以被行程編碼。所述多邊形可以是梯形,所述梯形具有與基準軸平行的第一和第三平行邊;多個沿著第一或第三平行邊的部分被填充的像素可以由單個子像素陣列來表示。這個協(xié)議可以還包括保存子像素概述圖,用于總計在陣列中的被填充或空子像素。所述概述可以是在陣列中的被填充或空子像素的計數(shù)或子像素的加權(quán)評估。所述子像素除了被填充或空值之外也可以具有中間強度值。像素和子像素陣列可以被存儲在獨立可尋址的存儲器中。類似地,像素和子像素概述圖可以被存儲在獨立可尋址的存儲器中。第一或第三平行邊的相鄰像素可以由同一子像素圖來表示。第一或第三平行邊可以被分配0長度。
本發(fā)明的另一個實施例是一種計算用于對應于多邊形的邊的部分的多值像素的值的方法,包括提供子像素陣列;對應于具有特定方向的邊而提供一組預先計算的子像素條形圖;通過應用所述預先計算的子像素條形圖而將多邊形的邊的部分表示為被填充或空的子像素;超級采樣對應于像素的一組子像素,并且向所述像素分配一個灰度值。在這種方法中,預先計算的子像素條形圖可以還被表示為填充條的陣列,應用預先計算的子像素圖可以還包括向?qū)谶吇蜻叺难娱L線與由子像素的陣列表示的區(qū)域的邊界的交點的填充條應用偏移值。
使用子像素陣列來表示多邊形邊的至少一部分的方法的另一個方面是在具有邊的一個區(qū)域內(nèi)定義多邊形的邊的方法,所述區(qū)域被細分為子像素。這種方法包括提供對應于多邊形邊和所述區(qū)域的邊的可能相交和方向的多個預先計算的子像素條形圖,其中所述可能相交被限于沿著所述區(qū)域的邊的離散位置,所述可能方向被限于連接所述離散位置的方向;確定在多邊形邊的方向中、多邊形邊與區(qū)域的邊的兩個相交的三中之二;并且應用對應于在所述方向中的兩個相交的三中之二的、預先計算的子像素條形圖之一。在本發(fā)明的一個方面,所述區(qū)域被細分為不超過256個子像素,并且所述離散位置被限制為每個子像素不超過65個位置?;蛘?,所述區(qū)域被細分為不超過64個子像素,并且所述離散位置被限制為每個子像素不超過33個位置。在另一個配置中,所述區(qū)域被細分為不超過32×16個子像素,并且沿著子像素的邊存在不超過17個離散位置;或所述區(qū)域可以被細分為不超過16×8個子像素,子像素的一個邊具有不超過9個離散位置。這個實施例的另一個方面是預先計算的子像素條形圖可以被限于形成大約45度范圍的一組可能的方向,并且這個預先計算的子像素條形圖的范圍可以被轉(zhuǎn)換為覆蓋大約180度的范圍。由多邊形邊相交的區(qū)域的邊可以或者是相對邊或相鄰邊。在這個實施例中的變化可能涉及使用多邊形邊和多邊形邊的延伸線來構(gòu)造與區(qū)域的邊的相交。多邊形邊的方向可以在本方法中被確定和利用,或者可以忽略它,因為兩個相交限定多邊形邊。
子像素條形圖選擇是本發(fā)明的另一個實施例。一種選擇子像素條形圖以表示與一個區(qū)域相交的邊的方法,所述區(qū)域具有至少第一和第二邊,并且所述區(qū)域被細分為子像素,所述方法包括構(gòu)造在沿著第一和第二邊的相交之間的線段,所述線段限定區(qū)域的第一和第二范圍。其中所述相交限于沿著區(qū)域的邊的離散位置;形成用于表示第一范圍的子像素的候選組,所述在候選組中的子像素完全或部分地在第一范圍內(nèi);確定在所述候選子組的面積覆蓋和第一范圍的面積覆蓋之間的偏差;計算通過組合候選子組與用于其他分段的子像素條形圖而形成的角;根據(jù)對所述偏差的確定與所述角的計算來在候選子組中選擇;在存儲器中存儲所選擇的子組。這個實施例還可以包括重復所述方法來用于限定沿著第一邊的可能相交和淘汰冗余的組的一組線段。淘汰冗余組可以考慮到用于表示所述線段組的組的最大數(shù)量,或者它可以考慮到使用組來表示線段組的最大可接受誤差。在這個實施例上的一個變化是一種預先計算用于對應于像素的子像素的子像素條形圖以便限定多邊形邊的部分的方法,包括沿著在一個像素對的第一邊上的子像素之一的邊來提供用于對應于多邊形邊的直線的第一相交;沿著與第一邊相對的、所述像素對的第二邊來提供用于所述直線的可能的第二相交,其中可能的第一和第二相交限于離散位置;提供跨越預定角范圍的、用于連接第一可能相交和第二可能相交的線段;選擇用于限定由線段限制的范圍的子像素條形圖,其中子像素圖的選擇考慮到在子像素條形圖的面積覆蓋和在范圍的面積覆蓋之間的差異,并且進一步考慮到通過組合子像素條形圖而形成的角的估計。由線段跨越的角的范圍可以包括大約45度或可以包括大約90度??梢蕴峁┳儞Q來將子像素圖應用到跨越大約180度的可能線段方向的范圍。
本發(fā)明的另一個應用是計算對應于一個角和多邊形的第一邊與第二邊的相交的像素的值的方法,包括提供存儲器,包括子像素的第一陣列和子像素的第二陣列,第一和第二陣列都對應于一個像素;將第一和第二邊擴展為第一和第二直線;對應于由第一直線限定的第一范圍而將第一陣列的子像素設置為被填充或空;對應于由第二直線限定的第二范圍而將第二陣列的子像素設置為被填充或空;計算第一陣列和第二陣列的相交;超級采樣在對應于一個像素的相交中的一組子像素,并且向所述像素分配灰度值。在這個實施例中,設置第一和第二陣列的子像素可以包括應用對應于第一和第二范圍的、預先計算的子像素條形圖。
一旦我寫SDU和邊位移權(quán)利要求,需要寫一個SDU和邊位移權(quán)利要求的概述。
圖1A-B是一對輻射吸收圖,它們描述了作為降低在邊上的曝光輻射的幅度的結(jié)果而將一個邊移動小于一個像素或柵格圖形。
圖2是提供本發(fā)明的一個數(shù)據(jù)路徑實現(xiàn)方面的概覽的方框圖。
圖3是在簇協(xié)調(diào)處理、支持和掩模寫入處理和呈現(xiàn)模塊之間的分層關系的方框圖概覽。
圖4A-B是一對用于圖解呈現(xiàn)窗口、保護窗口、標記帶、子帶和與呈現(xiàn)相關聯(lián)的其他元件的圖。圖4C是示出在調(diào)制器窗口、標記、帶、子帶和圖像之間的內(nèi)部關系的方框圖。圖4D是圖解在全局和本地協(xié)調(diào)系統(tǒng)之間的關系的向量圖。
圖5A-B是圖解與一個像素相交的一個邊的表示的一對子像素網(wǎng)格。
圖6包括一系列像素網(wǎng)格和對應于像素之一的一個子像素網(wǎng)格。其中圖解了向像素網(wǎng)格上映射一對幾何圖形。
圖7是超集采樣電路的方框圖。
圖8-10是幾何形狀、微像素高速緩存組和從那些幾何形狀產(chǎn)生的地址組的示例。
圖11A-D圖解了從一個像素和對應于所述像素的一個子像素陣列的一個角向一側(cè)擴展一個邊的四種情況。
圖12圖解了像素的水平和垂直對以及使用微像素條來呈現(xiàn)邊的其他特征。
圖13A-D圖解了可以從一組微像素條呈現(xiàn)的不同方向的四個邊。
圖14A-D圖解了使用一組微像素條來用于構(gòu)造從一個角位移的一個邊。
圖15A圖解了與呈現(xiàn)和保護帶重疊的梯形的特征。圖15B-C圖解了準備用于限定與像素相交的邊的子像素條形圖的界面。
圖16A-C圖解了構(gòu)造在子像素網(wǎng)格中的角和計算對應于所述角的像素灰度值。圖16D圖解了將訪問限定器應用到將一個幾何圖形覆蓋在另一個上。
圖17圖解了用于邊位移的橢圓結(jié)構(gòu)圖形。
圖18和19圖解了所謂的填充和滑動位移算法的操作。
圖20是可以用于實現(xiàn)以多達5×5灰度值像素的相鄰尺寸的邊位移的、邏輯元件的硬件方框圖。
圖21描述了與一個標記重疊的6個調(diào)制器或呈現(xiàn)窗口。圖22描述了一個標記和9個重疊子區(qū)。圖23A將子區(qū)概念擴展到在多遍次中印刷。圖23B圖解了從四個曝光遍次產(chǎn)生的81個重疊子區(qū)。圖23C-D是描述在標記、帶和子帶之間的關系的方框圖。圖24A-B圖解了在標記的呈現(xiàn)或調(diào)制器窗口內(nèi)的重疊子區(qū)以及對應于一些重疊子區(qū)的輻射量簡檔。
圖25是一個方框圖,其中包括向用于灰度級像素的多遍次補償照明值的計算應用重疊區(qū)和能量變化處理。
圖26是用于光柵化分割的幾何形狀的幾個處理的方框圖。
圖27是圖解鏡子傳遞函數(shù)的應用的硬件方框圖。
圖28描述了使用本征矢量方法計算的一對基本函數(shù)。
圖29是圖解可能的緩沖配置的方框圖。圖30圖解了數(shù)據(jù)從分割處通過安裝進入SLM的流程。
圖31是呈現(xiàn)模塊的硬件方框圖。圖32是作為呈現(xiàn)模塊的一部分的呈現(xiàn)處理器的硬件方框圖。圖33是作為呈現(xiàn)處理器的一部分的分割轉(zhuǎn)換器的硬件方框圖。圖34是微像素高速緩存產(chǎn)生器的方框圖。圖35是微像素高速緩存緩沖器的方框圖。圖36是幀緩沖器接口和相關部件的方框圖。
圖37圖解了在數(shù)據(jù)被寫入存儲器控制器之前實現(xiàn)的保護帶過濾器的操作。圖38-39提供了關于幀緩沖器接口的結(jié)構(gòu)的進一步細節(jié)。
圖40是提供關于預處理器核心的一種實現(xiàn)方式的細節(jié)的硬件方框圖。
圖41圖解了當通過處理器時存儲器塊的處理。
圖42是微像素高速緩存緩沖器的硬件方框圖。
圖43圖解了在本發(fā)明的硬件實現(xiàn)方面的一個實施例中的存儲器訪問。
圖44圖解了表示一個像素的子像素的對稱加權(quán)。圖45圖解了表示特定邊方向的對稱和非對稱子像素圖。
圖46-47圖解了在檢測一個角中使用的5×5鄰域的兩級卷積。
圖48-51圖解了邊位移的方面。圖52是邊位移的概覽流程圖。
圖53是應用Bresenham算法的流程圖。
圖54A-C是多個SLM配置的示例。
圖55圖解了使用校正因數(shù)來補償在從SLM向工件的投射中的最小缺陷和失真。
具體實施例方式
參照附圖來進行下面的詳細說明。優(yōu)選實施例的描述是為了說明本發(fā)明,而不是限制由權(quán)利要求限定的發(fā)明范圍。本領域內(nèi)的普通技術(shù)人員可以識別對于隨后的說明的多種等同的改變。
新的芯片設計要求高精度光刻設備來用于掩模制造和直接寫入。許多數(shù)據(jù)需要從幾何域轉(zhuǎn)換到由光刻設備可以使用的格式,以便投射期望的圖像。數(shù)據(jù)轉(zhuǎn)換技術(shù)可以與多種光刻投射設備組合。
光刻投射的一種變化形式使用微鏡或具有獨立像素的類似系統(tǒng)。微鏡系統(tǒng)使用陣列,諸如512×2048的像素陣列,其中每個像素具有65個灰度值。使用1kHz的脈沖速率的系統(tǒng)的這個尺寸要求每秒向微鏡陣列裝入大約1G個數(shù)據(jù)像素。諸如256×256灰度級像素的較小陣列要求較小但仍然很大的數(shù)據(jù)吞吐量。諸如每個像素257灰度值的較大深度的灰度級要求一定程度上更大的數(shù)據(jù)吞吐量。一種替代的微鏡系統(tǒng)可以使用掃過工件的微鏡的較窄陣列,例如1×512、2×512或4×512微鏡。
用于光刻投射的另一種技術(shù)涉及使用一個或多個掃描光束?;蛘咚龉馐梢灶愃朴谠陔娨暺聊簧系膱D像而被系統(tǒng)地掃描以建立光柵圖像,或者所述光束可以被向量掃描以建立獨立的圖形。所述光束可以是激光、電子、離子或粒子光束。更一般而言,可以使用任何輻射光束。按照本發(fā)明的方面光柵化的數(shù)據(jù)可以被游程編碼或被壓縮以用于掃描光束。
處理概覽光刻設備用于向?qū)ν渡漭椛涿舾械谋砻嫱渡鋱D像。通常,抗蝕劑被輻射曝光。與投射圖像正面或負面地相對應,被曝光的抗蝕劑被顯影,并且抗蝕劑的區(qū)域被去除。圖1A圖解了抗蝕劑曝光的兩個模式。獨立的峰101表示在均勻間隔的位置上的輻射的分布。對于微鏡系統(tǒng),這些位置可以表示獨立的微鏡像素元件。對于掃描光束系統(tǒng),這些位置可以表示光束意欲掃描的網(wǎng)格位置。由抗蝕劑吸收的總能量是覆蓋曝光區(qū)域的輻射分布的和。曲線102表示總的吸收輻射??刮g劑通常產(chǎn)生很高對比度的圖像。具有大于門限103的總吸收輻射的抗蝕劑的區(qū)域當被顯影時可能硬化,而具有小于所述門限的吸收輻射的抗蝕劑的區(qū)域可能在顯影后被去除。在抗蝕劑表面建立的圖形的寬度對應于沿著門限線103從總吸收輻射曲線102的一個交點到另一個交點的距離。圖1B圖解了通過降低在圖形的一邊上的輻射量來調(diào)整圖形尺寸。在圖1B中,當在最右位置中的輻射量被降低大約一半106時,邊104被移動距離105。在微鏡系統(tǒng)中,可以調(diào)整獨立的鏡子元件以降低來自單個像素的輻射量。在一個掃描輻射系統(tǒng)中,可以在特定的位置降低掃描輻射的強度,或者在光束在其掃描中到達特定位置之前不久可以取消輻射。
系統(tǒng)架構(gòu)概覽本發(fā)明的圖像呈現(xiàn)引擎可以與分割引擎、光柵化引擎和驅(qū)動電路相結(jié)合地使用。圖2提供了數(shù)據(jù)路徑的概覽。這個數(shù)據(jù)路徑以預處理的幾何數(shù)據(jù)開始來作為輸入。預處理的幾何數(shù)據(jù)可以是計算機輔助設計系統(tǒng)的輸出。預處理可以降低分層或迭代信息和有效地使得幾何表示流變平。數(shù)據(jù)獲取202通常包括從輔助存儲器獲得預處理的幾何數(shù)據(jù)。幾何轉(zhuǎn)換203是這樣的處理其中幾何形狀被轉(zhuǎn)換為可呈現(xiàn)的定點幾何形狀(RFG)。分割204是將幾何形狀劃分為在微鏡實現(xiàn)方式中對應于標記和標記的呈現(xiàn)窗口的不同窗口和子窗口的處理。分割引擎的輸出是以一種或多種指定記錄格式的幾何數(shù)據(jù)。所述記錄表示幾何圖形,諸如多邊形和多邊形組。將分割的數(shù)據(jù)表示為梯形是有用的,其中三角和矩形是梯形的子類。梯形的平行邊之一可以具有0或接近0的長度,以便表示三角。分割的數(shù)據(jù)的另一種有用表示是作為三角或三角鏈。本發(fā)明的大部分方面等同地適合于梯形、矩形、三角或其他多邊形或幾何形狀。多邊形角的坐標可以被提供7比特或更多的子像素或半子像素分辨率,以便支持像素的1/64或1/128的精度或更大??梢愿鶕?jù)圖像投射技術(shù)的期望精度和特點來使用更高或更低比特的分辨率。
圖像呈現(xiàn)引擎210包括多個部件。擴展211是在呈現(xiàn)之前擴展幾何迭代的處理??梢詫⒎指畹膸缀涡螤罱邮兆鳛榈腞FG,它具有重復的幾何形狀或重復的幾何形狀組。擴展取消了RFG的編組,因此它們可以被獨立的處理。呈現(xiàn)212是將包括可呈現(xiàn)定點幾何形狀的多邊形轉(zhuǎn)換為光柵化的圖像的處理。在多個呈現(xiàn)處理器上執(zhí)行呈現(xiàn)處理。超級采樣212是采樣微像素分辨率圖像和計算灰度級像素值的處理。(在本文中,子像素和微像素一般指的是像素的同一細分。)下面討論用于超級采樣的替代加權(quán)方案。邊位移213是縮放幾何形狀的處理,例如用于通過激光接近性校正(LPC)或通過光接近性校正(OPC)來補償接近的和雜散的輻射。圖像校正214是補償在光路徑、投射系統(tǒng)的級的布置或另一個特性中的非線性和小缺陷的處理。這可以包括非線性圖像重新耦合。照明轉(zhuǎn)換215考慮到下述因素諸如在投射的區(qū)域之間的重疊、在曝光輻射中的變化和多遍次寫入。當投射系統(tǒng)使用微鏡陣列時,鏡子補償216應用預先校準的因子以補償獨立鏡子的特性。微鏡補償因子可以用于補償對電壓的不同響應、在工作周期的過程期間的響應的改變、在陣列中的死像素或微鏡陣列的類似特征。在需要時和對于所使用的投射系統(tǒng)適當?shù)那闆r下,可以向呈現(xiàn)引擎210增加另外的部件。
驅(qū)動電路220包括合成221和調(diào)制222處理。合成221是將來自幾個呈現(xiàn)處理的結(jié)果組合到調(diào)制所響應的一個或多個數(shù)據(jù)流中的處理。使用合成器使得可以縮放呈現(xiàn)模塊330的數(shù)量。例如,可以通過修改合成器參數(shù)來將呈現(xiàn)模塊的數(shù)量從10提高到12而不改變對于調(diào)制系統(tǒng)的接口。在一種微鏡系統(tǒng)中,可以使用一個數(shù)據(jù)流來進行調(diào)制,以便在使用輻射快速照射微鏡陣列之前設置獨立的微鏡。在另一種微鏡系統(tǒng)中,如果微鏡用于掃描工件,則數(shù)據(jù)流的數(shù)量可以匹配微鏡數(shù)量或微鏡數(shù)量的因子。在傳統(tǒng)的掃描系統(tǒng)中,數(shù)據(jù)流的數(shù)量可以匹配所使用的掃描光束的數(shù)量,調(diào)制222是將集中數(shù)據(jù)轉(zhuǎn)換為投射系統(tǒng)的驅(qū)動值的處理。對于微鏡系統(tǒng),數(shù)模轉(zhuǎn)換器可以用于產(chǎn)生模擬電壓,所述模擬電壓被施加到獨立微鏡元件上。對于掃描系統(tǒng),驅(qū)動信號可以用于控制聲光調(diào)制器,它調(diào)制電子、離子或粒子輻射的輻射光束或等同控制元件。
非線性變換可能要求向每個被再取樣的像素應用像素再取樣梯度?;蛘?,用于每個像素的梯度可以被卷積核心取樣以產(chǎn)生輸出像素值。卷積核心的鄰域?qū)⒁蕾囉谔荻鹊淖畲笤试S幅度。一像素梯度可以被3×3核心取樣;兩像素梯度可以被5×5核心取樣。
投射系統(tǒng)通常也包括掃描230和網(wǎng)線板240。掃描230攜帶圖像信息來通過對輻射曝光的網(wǎng)線板240的區(qū)域。網(wǎng)線板240是投射系統(tǒng)針對其工作的工件。
光柵簇概覽圖3是提供數(shù)據(jù)處理的概覽的方框圖。寫入器控制器310控制向工件的圖像投射。寫入器連接器310可以通過一個或多個接口連接以與簇協(xié)調(diào)處理321通信。在圖3中,描述了Telnet接口和寫入器到光柵化器的接口(WRI)。WRI接口可以包括TCP/IP套接字和在工作在寫入器控制310上的管理控制軟件和簇協(xié)調(diào)處理321之間的接口。這個接口將光柵化處理與獲取和計算在分割引擎中的數(shù)據(jù)以及曝光工件的處理同步。通過這個接口,簇協(xié)調(diào)處理321可以向?qū)懭肫骺刂?10報告寫入功能的級的位置和當前狀態(tài)。簇協(xié)調(diào)處理321是依賴于呈現(xiàn)模塊330來呈現(xiàn)RFG幾何形狀的一組處理320之一。簇級處理320支持多個簇322、324。簇包括簇控制器323,它提供支持和掩模寫入處理323。簇還包括一個或多個呈現(xiàn)模塊331。簇控制器323可以被設計來支持多達7個呈現(xiàn)模塊以與現(xiàn)有的PCI協(xié)議一致,或者可以被設計用于實現(xiàn)期望吞吐量所需要的和與其他總線協(xié)議一致的更多或更少的模塊和不同的總線結(jié)構(gòu)。在圖3中描述的任務的組織具有靈活性和可伸縮性。通過替代的硬件組織可以實現(xiàn)較少靈活性和更高速度的操作。
下面通過進一步說明其上可以實現(xiàn)本發(fā)明的各個方法的硬件來補充在簇控制器級的這個概覽。
光柵化方法的概覽圖4C提供了用于解釋對于理解本發(fā)明的方面有益的術(shù)語的基礎。SLM(空間光調(diào)制器)在實現(xiàn)本發(fā)明的方面的一個實施例中是用于調(diào)制用于曝光的激光脈沖的微鏡的矩陣陣列。標記(例如獨立的431A-431E或集體的434A-434F)表示SLM的單個曝光。帶(例如432)是重疊的標記的水平系列。水平可以或可以不是帶的物理表示。水平可以被帶的方向定義,帶的方向繼而被通過工件的SLM的掃描運動定義。標記區(qū)域包括重疊區(qū)。在帶中的標記的高度可以相同或不同。標記的寬度也可以各標記彼此不同。在帶中的標記的時間順序最可能是依序的。它可以具有或者從左向右或從右向左的方向或兩者。一個圖像是帶的垂直序列(例如432,432A-432C)。圖像的獨立的帶可以或可以不具有相同的寬度。圖像的帶具有垂直重疊區(qū)域433,這類似于帶的相鄰標記。下面進一步討論在標記之間的重疊。標記可以包括來自一個或多個調(diào)制器窗口434A-434F的數(shù)據(jù)?;蛘?,調(diào)制器窗口可以包括跨越幾個標記的整個帶432或子帶(例如432A)。分區(qū)為多個呈現(xiàn)窗口用于實現(xiàn)在光柵化引擎的數(shù)據(jù)路徑中的并行性。帶可以被劃分為兩個或多個子帶432A-432C。子帶不必重疊,因為它們被單一標記曝光印刷。在呈現(xiàn)過程中,如后所述,它們的擴展區(qū)重疊,因此用于產(chǎn)生子帶的輸入數(shù)據(jù)略微重疊。子帶的劃分可以對應于在標記中的調(diào)制器窗口之間的劃分。在一個帶內(nèi)的子帶從圖像的一邊到另一邊具有相同的寬度,但是不必具有相同的高度。
圖26提供了光柵化和呈現(xiàn)的進一步概覽。它圖解了參數(shù)文件(2611-2626)、支持軟件(2630-2645)、參數(shù)安裝、呈現(xiàn)模塊的功能部件(2662-2668)。使用許多數(shù)據(jù)表或文件可以提高系統(tǒng)的靈活性?;蛘?,優(yōu)選地存儲在表格中的數(shù)據(jù)值可以被編碼為實現(xiàn)本發(fā)明的方面的軟件、固件或硬件。硬編碼通常降低靈活性,但是提高性能。
在圖26中,掩模參數(shù)文件2611可以用于靜態(tài)參數(shù)。可以逐個帶地進行處理。處理關鍵信息可以逐個帶不同。一些輸入文件可以逐個帶、逐個掩模部分和逐個工作地相同??梢酝ㄟ^平臺處理器的CAPS軟件處理來逐個掩模或逐個帶地執(zhí)行在系統(tǒng)中裝入的參數(shù)的改變。本發(fā)明的另一個方面是可以在例如一個帶內(nèi)改變由系統(tǒng)使用的參數(shù),因為寫入處理達到工件的角,在此抗蝕劑被烘烤得比在工件的中心更熱。
帶首標文件2612、窗口部分2613和命令參數(shù)2614包括對在一個帶內(nèi)的所有標記公共的信息。它描述了將SLM劃分為多個窗口。影響RASE處理的參數(shù)是子帶的數(shù)量,它表示在Y軸上將SLM劃分為多個調(diào)制器窗口。這個參數(shù)對應于在系統(tǒng)配置中的模塊的數(shù)量。子帶高度的表,它影響RP(呈現(xiàn)處理器),所述RP使用子帶高度來用于呈現(xiàn)地址產(chǎn)生處理和讀出處理,子帶高度的表也影響像素數(shù)據(jù)列高度參數(shù)。子帶Y坐標偏移的表,它被幾何形狀預處理器使用來給出獨立子帶的Y偏移。呈現(xiàn)窗口大小X,它影響幾何形狀預處理器,所述幾何形狀預處理器使用X窗口尺寸來用于分割復雜幾何形狀。它也被用于防止RP的地址產(chǎn)生器的保護窗口刪節(jié)。呈現(xiàn)窗口間距X,它是在呈現(xiàn)窗口之間的距離。X重疊區(qū)域大小可以從在SLM大小和呈現(xiàn)窗口間距之間的差來計算。X間距被幾何形狀預處理器(PP)用于分割復雜幾何圖形和對于提供到RP的幾何形狀進行坐標偏移計算。擴展區(qū)尺寸X和Y,它被像素鄰域操作(邊位移)使用,并且影響在PP中的分割。呈現(xiàn)窗口尺寸減去擴展區(qū)等于調(diào)制器窗口尺寸。這個參數(shù)是AP的隱含部分,必須總是匹配AP的設計。調(diào)整參數(shù)文件2621包括幾個數(shù)據(jù)類型。它一般包括對于在調(diào)整處理器中實現(xiàn)的處理的控制信息。這個參數(shù)部分包括區(qū)域代碼的游程編碼的位圖。獨立調(diào)制器窗口的區(qū)域代碼的數(shù)量在一種實現(xiàn)方式中限于128,但是SLM的區(qū)域代碼的總數(shù)可以高達512。每個游程記錄具有兩個值重疊區(qū)ID和區(qū)域代碼。重疊區(qū)ID的數(shù)量可以限于每個調(diào)制器窗口最大15。文件的照明轉(zhuǎn)換部分包括用于每個重疊區(qū)ID的一個傳遞函數(shù)表。微鏡表部分包括用于每個鏡子補償系數(shù)[Cn](n=1..4)的一個標度/偏移輸入項[Cn2/Cn1]。AP參數(shù)文件的鏡子函數(shù)部分包括用于鏡子補償計算的兩個函數(shù)的函數(shù)表、用于每個參數(shù)C1..C4的一組標度/偏移。鏡子校準文件包括圖像圖,對于SLM的每個像素都有一個輸入項,每個像素具有四個校準參數(shù)(C1..C4)。關于鏡子補償函數(shù)的比特寬度和偏移的一般信息被存儲在AP參數(shù)文件的鏡子表部分中。這個文件由于大小的原因而是二進制的格式,這與基于文本的多數(shù)其他參數(shù)文件相反。向這些文件或這些文件的部分分配參數(shù)不是本發(fā)明的限制而是一個實施例的限制。
校正因子可以被存儲在用于校正光路徑的靜態(tài)或系統(tǒng)特征的文件中,或可以實時地產(chǎn)生來用于系統(tǒng)的動態(tài)或隨機特征,諸如級布置。
CPAS軟件2630從文件向呈現(xiàn)模塊2660提供參數(shù)。邏輯塊2631-2645對應于上述的參數(shù)文件。CPAS軟件實時修改在呈現(xiàn)模塊中的參數(shù)以符合輻射曝光要求。在寫入網(wǎng)線板或直接寫入芯片期間,可以通過改變在呈現(xiàn)模塊2660中的參數(shù)來處理至少三個抗蝕劑問題。在表面上抗蝕劑的烘烤不是完全均勻的。在許多情況下,表面的邊或角比表面的中心烘烤得更快或更徹底。可以設置考慮到在被曝光的工件上的位置的參數(shù)以對應于工件的那個部分的烘烤特征。可以使用邊位移和照明轉(zhuǎn)換參數(shù)來響應于表面烘烤特征。接著,對曝光輻射的抗蝕劑響應依賴于曝光如何積累。即,輻射量對于抗蝕劑沒有線性相加效應。許多抗蝕劑由其初始曝光敏化。A輻射量后隨B輻射量將產(chǎn)生比單個量C更大的響應,其中能量A+B=C。通過使得CAPS軟件在連續(xù)印刷遍次中向呈現(xiàn)模塊安裝適當?shù)膮?shù),可以考慮到抗蝕劑激活。另外,抗蝕劑老化可以影響對曝光輻射的響應。一些抗蝕劑與多遍次曝光網(wǎng)線板或芯片所需要的時間相比較是短壽命的。隨著抗蝕劑老化,它可能變得敏感度降低??梢酝ㄟ^使得CAPS軟件根據(jù)抗蝕劑老化而向呈現(xiàn)模塊安裝適當?shù)膮?shù)來考慮抗蝕劑老化?;蛘撸梢酝ㄟ^在能量擴展補償因數(shù)(ESCF)表中的值來處理這些問題,所述表格從幾何形狀擴展模塊2662向照明轉(zhuǎn)換模塊2666傳送。
替代截割的保護窗口圖4描述了使用保護區(qū)和保護窗口來呈現(xiàn)分割的幾何形狀的獨立圖形。在本圖中描述的區(qū)域包括呈現(xiàn)窗口401、保護窗口402和在呈現(xiàn)和保護窗口之間的保護區(qū)403。呈現(xiàn)窗口是較小尋址窗口,保護窗口是較大尋址窗口。
圖4A圖解了在呈現(xiàn)處理中使用保護區(qū)和保護窗口來作為在分割處理中截割幾何圖形的替代方式。呈現(xiàn)窗口401對應于其中可以呈現(xiàn)幾何形狀以用于未來投射的存儲器。呈現(xiàn)窗口401被保護窗口402圍繞。保護區(qū)403是在呈現(xiàn)窗口401外部的保護窗口402的一部分。諸如多邊形、梯形、矩形、四邊形、三角形等的幾何形狀被接收來用于呈現(xiàn)。所述幾何形狀可以是凸的。落入呈現(xiàn)窗口401內(nèi)的幾何形狀404、即所謂的可呈現(xiàn)定點幾何形狀(RFG)被呈現(xiàn)到對應的存儲器??缭匠尸F(xiàn)窗口和保護區(qū)的幾何形狀405被部分地呈現(xiàn)到存儲器??梢詫ぶ繁Wo帶以用于呈現(xiàn),但是數(shù)據(jù)不被寫入存儲器來用于投射圖像。在呈現(xiàn)窗口之外的數(shù)據(jù)被丟棄。保護區(qū)可以不對應于存儲器,同樣呈現(xiàn)窗口不對應于存儲器。地址在保護區(qū)的數(shù)據(jù)可以使用過濾器來迅速地處理,因為不需要存儲器傳送。在分割期間在呈現(xiàn)窗口的邊界不截割跨越呈現(xiàn)窗口和保護區(qū)的幾何形狀。如下所述,可以構(gòu)造這樣的硬件,它同時呈現(xiàn)在呈現(xiàn)窗口內(nèi)外的邊。這個呈現(xiàn)可以不區(qū)別在呈現(xiàn)窗口內(nèi)外的邊。與僅僅呈現(xiàn)幾何形狀在呈現(xiàn)窗口內(nèi)的部分相比較,呈現(xiàn)在呈現(xiàn)窗口外部的邊和區(qū)域不會明顯減慢所述跨越幾何形狀405的呈現(xiàn)??梢酝ㄟ^以兩種方式限制幾何形狀來協(xié)助幾何形狀的呈現(xiàn)。首先,幾何形狀可以在尺寸上受限,以便沒有幾何形狀可以落入呈現(xiàn)窗口401內(nèi)和保護窗口402外。這樣的幾何形狀可以適合于保護區(qū)內(nèi)。第二,可以在呈現(xiàn)之前過濾幾何形狀,以便完全在呈現(xiàn)窗口401之外的幾何形狀都不對于呈現(xiàn)窗口處理。被呈現(xiàn)到保護區(qū)的數(shù)據(jù)可以在被存儲在高速緩存緩沖器之前被過濾或丟棄,如下進一步所述,由此降低存儲器帶寬負荷?;蛘?,當從微像素高速緩存向?qū)诔尸F(xiàn)窗口的緩沖存儲器轉(zhuǎn)換幾何形狀時,尋址電路可以識別在保護區(qū)中的地址。這個尋址電路可以將幾何形狀寫入截斷到呈現(xiàn)窗口。尋址電路可以比較地址信號與呈現(xiàn)窗口的有效地址,并且使用這個結(jié)果來控制寫使能或其他存儲器仲裁信號?;蛘?,在保護區(qū)中開始或結(jié)束的固定長度填充指令可以被修改以匹配落入窗口內(nèi)的指令的部分。落入保護窗口內(nèi)的離散指令可以被地址處理電路忽略。實現(xiàn)保護帶的尋址電路或存儲器控制器可以與FIFO(先入先出)存儲器組合,如結(jié)合實現(xiàn)調(diào)整處理器的電路所述,以便實現(xiàn)負載平均化。在呈現(xiàn)過程中,重復選擇幾何形狀的部分,并且產(chǎn)生微像素高速緩存,如下所述。所述微像素高速緩存是對應于那個部分的光柵化表示數(shù)據(jù)的一個替代集。微像素緩沖器是另一種表示。
呈現(xiàn)和保護窗口思想的一個擴展是擴展區(qū)。擴展區(qū)包括在呈現(xiàn)窗口401的每個邊外部的一些像素。擴展區(qū)象呈現(xiàn)窗口那樣對應于存儲器。但是,在擴展區(qū)中的像素不用于投射圖像。相反,它們建立像素的鄰域,它可以用于在呈現(xiàn)窗口的邊上卷積一個或多個像素。擴展區(qū)的大小應當支持在任何卷積中使用的像素的最大鄰域。例如,如果使用5×5卷積過濾器或鄰域或者兩次應用3×3卷積過濾器,則擴展區(qū)應當為至少兩個像素,以便在呈現(xiàn)區(qū)的邊上的像素在每個方向上被兩個像素圍繞以建立用于卷積的5×5鄰域。
呈現(xiàn)窗口配置圖4B還圖解了被應用到微鏡陣列的呈現(xiàn)窗口的幾何形狀。微鏡陣列的兩次閃光被描述為460、470。陣列460在這個示例中被劃分為四個呈現(xiàn)窗口,包括451、461。所述陣列可以被水平、垂直或以這兩種方式劃分為適當數(shù)量的呈現(xiàn)窗口。一個512×2048陣列可以被劃分為例如10個呈現(xiàn)窗口,以便向10個呈現(xiàn)處理器分布呈現(xiàn)工作。呈現(xiàn)窗口451、461被擴展區(qū)452、462圍繞。呈現(xiàn)窗口451進一步被保護區(qū)453圍繞。標記帶475包括多個標記投射。子帶471、481包括多個呈現(xiàn)窗口和它們的擴展區(qū),所述擴展區(qū)擴展通過多個標記。由于子帶和擴展區(qū)大于呈現(xiàn)窗口,因此用于尋址的原點可以為擴展區(qū)465的一個角。這個原點可以用于本地尋址、用于特定的呈現(xiàn)窗口及其擴展區(qū)或用于在遍及子帶或標記帶的全局尋址。本地尋址降低了幾何邊的內(nèi)插所需要的比特的數(shù)量。用于尋址的另一個有益原點可以是保護區(qū)463的一個角。
圖4D描述了從全局坐標向本地坐標的轉(zhuǎn)換。在一種輸入流中,以相對于當前帶的軟像素來給出坐標。一個軟像素是一個微像素的一半。預處理器的一個功能是準備用于呈現(xiàn)處理器的坐標,對于一個相對原點,轉(zhuǎn)換所有的坐標。在這個附圖中,梯形404被包含在呈現(xiàn)窗口401內(nèi),所述呈現(xiàn)窗口401被包含在保護窗口402中??梢酝ㄟ^這個附圖中所示的向量操作來描述坐標變換。使得M=(Mx,My)=當前調(diào)制器窗口相對帶的原點。
G=(Gx,Gy)=當前保護窗口相對帶的原點。
V=(Vx,Vy)=要變換的幾何坐標。
m=(mx,my)=當前調(diào)制器窗口相對保護窗口原點。
v=(vx,vy)=新幾何坐標。
則G=M-mv=V-G組合這些方程得到vx=Vx-Mx+mxvy=Vy-Gy參數(shù)Mx、mx和Gy可以被存儲在寄存器中。Mx可以是9比特的無符號整數(shù);Mx=k*SLM_PITCH*128,其中k是標記編號,k>=0。mx可以是9比特的帶符號整數(shù)。Gy可以是11比特的帶符號整數(shù)。注意可以以宏像素來表達參數(shù)值。
在一個替代實施例中,呈現(xiàn)窗口可能比微鏡陣列更寬,甚至與整個子帶一樣寬。根據(jù)呈現(xiàn)引擎的性能和組織、所需要的吞吐量(例如對于大面積寫入器)和被呈現(xiàn)輸出的緩沖,一個單個呈現(xiàn)引擎或呈現(xiàn)引擎組可以產(chǎn)生標記的整個子帶或帶。一個寬的呈現(xiàn)窗口對于使用掃描輻射的投射系統(tǒng)或?qū)τ谠谖㈢R陣列的連續(xù)閃光之間具有實質(zhì)重疊的基于微鏡的系統(tǒng)可能尤其有用。在這個實施例中,對于連續(xù)閃光可以讀出呈現(xiàn)窗口的部分。
用于增強的分辨率的像素和子像素圖5A-B描述了使用微像素或子像素陣列來表示被分配給像素的灰度值。上面,圖1A-B圖解了像素灰度值對于邊位置的影響。圖5A-C圖解了表示65個灰度級(包括全白)的子像素。同樣的原理適用于使用5、10、17、26、37、50、82、101、122、145、170、197、226、257或一般而言n的平方加1個灰度級。類似的原理適用于使用4、8、16、32、64、128或256個灰度級。使用子像素的8×8網(wǎng)格來表示一個像素的很方便的。其他網(wǎng)格配置可以包括3×3子像素、4×4子像素、16×16子像素或更多。這些子像素可以被稱為空的或填充的或稱為接通或關閉。因為抗蝕劑可能對曝光具有正面或負面的響應,因此子像素的負面或正面表示是任意的約定。圖5A圖解了穿過像素中央的幾何形狀的垂直邊。像素具有8行501和8列502個子像素。幾何形狀沿著像素的頂邊距離510處相交503。在這個示例中,幾何形狀邊沿著像素的底邊在相同的距離511相交504。由幾何形狀邊限制的幾何區(qū)域精確地是像素的一半。這個特定邊沿著在子像素之間的邊界。根據(jù)陰影圖約定,在邊的左邊加有陰影的子像素在由邊限定的圖形的外部或內(nèi)部;在邊的右邊的白色子像素在圖形的內(nèi)部或外部。32個加有陰影的子像素表示像素的區(qū)域的一半。對應于加有陰影的子像素的數(shù)量,可以向像素分配灰度值32。圖5B圖解了幾何形狀的對角線邊。在由8中之4的距離530,這個邊與上像素邊的中間相交。這個邊在距離7與下像素邊531相交。幾何形狀邊左邊的區(qū)域的幾何面積是像素的68.75%。這個幾何面積以階梯樣式由44個子像素表示,它具有與加有陰影的范圍的幾何面積精確匹配的面積。
可以通過使得一個幾何形狀邊在子像素邊界之間相交來進一步改進子像素的網(wǎng)格表示。方便的是,將一個子像素的邊細分為由2的冪表示的多個增量,諸如2、4、8、16、32或64個增量,它們對應于每個子像素的3、5、9、17、33或65個可能的相交位置——如果子像素的兩個邊都算數(shù)的話。可以預先計算用于表示與在邊界之間的子像素邊相交的幾何形狀邊的子像素的數(shù)量和模式,如下所述。
兩級呈現(xiàn)圖6使用用于表示像素的灰度值的子像素陣列來圖解了在一個像素網(wǎng)格上的兩個幾何形狀。網(wǎng)格610包括8行601和8列602個像素。兩個幾何形狀611、610被從幾何域呈現(xiàn)到像素上。網(wǎng)格620指示獨立的像素是白色(W)、灰色(G)或黑色(B)。像素621是黑色的;像素622是灰色的;像素623是白色的。兩個比特的數(shù)據(jù)可以用于表示每個像素,00=B、01=W、10=G和11=備用。像素624由子像素的網(wǎng)格640表示。在像素網(wǎng)格620中的為白色或灰色的加有陰影的像素641在幾何形狀之一的內(nèi)部。其他像素642在幾何形狀的外部。網(wǎng)格630指示獨立像素的灰度值。例如,其中邊將像素一分為二的、對應于幾何形狀611左側(cè)邊的像素具有1/2(或32/64)的灰度值。在幾何形狀611的斜邊上的像素632具有1/2的灰度值。在幾何形狀的內(nèi)部的像素633具有灰度值1,表示完全接通。像素634具有5/8的灰度值,對應于在網(wǎng)格640中40個陰影子像素。在流水線或其他優(yōu)化的結(jié)構(gòu)中,獨立的遍次可以提供對第一個像素圖分辨率和對第二個更高分辨率的微像素高速緩存的訪問。
像素的子像素表示可以對應于直接被映射到獨立像素的存儲器位置,諸如32或64比特字。或者,可以使用指針結(jié)構(gòu)來將獨立的灰度像素映射到存儲子像素網(wǎng)格的位置。在任何一種情況下,僅僅需要對灰度像素、而不是對黑色或白色像素更新子像素網(wǎng)格。通過標注對應的像素陣列元素“B”,可以有效地消除子像素陣列,而不用改變獨立子像素的值。下次使用子像素網(wǎng)格時,可以不用首先讀出數(shù)據(jù)而向子像素網(wǎng)格寫入值。
在一個替代實施例中,可以向子像素分配灰度值而不是二進制值。用于組合像素的一些邏輯操作將需要被替換為加法或減法運算。在子像素中的灰度值可以用于進一步改進分辨率。
具有總計高速緩存的兩級使用兩級分辨率的這個方法和裝置的一種增強方式是引入第三組存儲器位置以總計子像素陣列或網(wǎng)格的灰度值。在諸如流水線結(jié)構(gòu)的一些硬件實現(xiàn)方式中,可以當向子像素網(wǎng)格寫入或記錄數(shù)據(jù)時計算子像素網(wǎng)格的灰度值?;叶戎悼梢允强盏幕虮惶畛涞淖酉袼氐臄?shù)量計數(shù),或者它可以是被填充或空的子像素的加權(quán)求和。加權(quán)對于微鏡陣列或激光束掃描都是有益的,因為在投射光束的焦點處投射的輻射的強度大于與中心一段距離的強度。與多數(shù)輻射源相關聯(lián)的輻射強度的高斯分布可以由子像素的加權(quán)和來更好地表示。圖44圖解了使用僅僅10個加權(quán)來表示在子像素的8×8陣列中曝光輻射的高斯或類似分布。固有地,高斯或類似分布是對稱的,因此適用于像素的四個象限的加權(quán)可以取為相同的。對稱性還允許分配單個加權(quán)或系數(shù)來覆蓋編號子像素對,諸如標為2、3、4、6、9的子像素對。利用這種對稱程度,可以通過在施加加權(quán)之前在所有四個象限內(nèi)計數(shù)相同加權(quán)的2個像素來使得計算簡化。處理將從計數(shù)進行到應用加權(quán)。應當使用定點數(shù)值表示來計算加權(quán)和加權(quán)的和,并且具有雙重性。隨后加權(quán)的和可以在使用前舍入。所分配的加權(quán)以及甚至在本發(fā)明的一些實施例中使用的用于實現(xiàn)加權(quán)的門編程將是現(xiàn)場可編程的,使用諸如Xilinx的部分重新配置接口的邏輯。在圖44中的手段可以良好地擴展到從更圓一些或更大的鄰域采樣。從更大鄰域超級采樣可以在正方形中進行,并且將在所述正方形的角中的加權(quán)設置為0以便有效地產(chǎn)生來自方形鄰域的圓形采樣。按照本發(fā)明,在超級采樣上的許多變化是實際和現(xiàn)場可編程的。
使用第三組存儲位置的一個替代方式是提高用于表示獨立像素的比特的數(shù)量,以便可以由像素網(wǎng)格來表示灰度值。
圖7描述了可以在讀出時被應用或當寫入到微像素高速緩存時被采用的一種硬件結(jié)構(gòu),用于總計像素的灰度值。圖7圖解了在64比特的微高速緩存中計數(shù)通/斷微像素的數(shù)量,并且具有兩個分辨率級。微像素高速緩存陣列701的比特被提供到四個計數(shù)器或求和電路702。在一個替代實施例中,這些電路702可以向微像素施加加權(quán)方案。電路702的結(jié)果繼而被一個或多個加法器703組合以產(chǎn)生用于微像素高速緩存的灰度值713。當從微像素高速緩存讀取時,兩比特的MUX 705可以控制例如整個電路的所選擇的輸出。兩個輸入比特704來自像素圖,它記錄是否每個像素是黑色、白色或灰色。對于灰色像素,MUX 705通過加法器703的結(jié)果。對于黑色或白色像素,MUX 705通過對應于所有子像素的通或斷的靜態(tài)值711、712。在一個替代實施例中,如果像素圖704指示像素是黑色或白色的,則可以避免從微像素高速緩存獲取或向微像素高速緩存寫入。這降低了對于訪問微像素高速緩存的要求。當向微像素高速緩存寫入一個值時,這個電路可以被適配到超級采樣。適配涉及使用求和硬件701-703和假定寫入被執(zhí)行,因為所述像素是灰色的。超級采樣值將被寫入到灰度值存儲器。
邊的并行處理圖8圖解了在梯形幾何圖形上的微像素高速緩存產(chǎn)生器的操作。所述微像素高速緩存產(chǎn)生器包括兩個Bresenham內(nèi)插單元,它們并行工作在相對邊802、803上。解釋Bresenham呈現(xiàn)算法的一個參考文獻是F S.Hill,Jr.,Computer Graphics,ISBN 0-02-354860-6,pp.428-433(F.S.Hill,Jr.,計算機圖形學,ISBN 0-02-354860-6,第428-433頁)。Bresenham算法使用整數(shù)值,并且避免相乘。它是增量算法的一個示例,其根據(jù)關于前一個像素的信息來計算在被呈現(xiàn)的直線上的每個像素的位置。Bresenham是可以用于本發(fā)明的多種曲線和直線產(chǎn)生方法之一。在啟動期間向兩個Bresenham內(nèi)插單元預先安裝幾何形狀的相對邊的坐標。在預先安裝之后開始內(nèi)插。內(nèi)插從梯形的一個平行邊到另一個重復。如果使用多邊形來取代梯形,則一般可以在所選擇的坐標系統(tǒng)的軸801的方向上進行重復。它以幾何形狀的一個角開始,并且沿著所述軸進行直到達到相對角。在內(nèi)插期間,對于每個內(nèi)插步驟產(chǎn)生一個或多個微像素高速緩存組。這些高速緩存組表示通過幾何形狀的部分。所述微像素高速緩存組被存儲在微像素高速緩存緩沖器中。在圖8中描述了5個微像素高速緩存組810-50。對于沿著內(nèi)插軸801的特定坐標,當兩個內(nèi)插單元都指示內(nèi)插完成時,產(chǎn)生地址組并存儲在微像素高速緩存緩沖器中。這個地址組與自從組配最后地址組后所產(chǎn)生的獨立微像素高速緩存一起形成微像素高速緩存組。在所述地址組中,在一個高速緩存組(例如810)中的第一邊(例如811、821、831、841、851)由地址X1S和X1E表示。在這種符號表示中,“X”指示軸的方向,“1”指示第一邊,“S”表示邊的呈現(xiàn)部分的開始像素,“E”表示邊的呈現(xiàn)部分的結(jié)束像素。在所述地址組中,第二便被地址X2S和X2E表示。在用于第一邊和第二邊的X1和X2地址之間的間隔表示可能不包括任何子像素信息的閉合數(shù)據(jù)的區(qū)域。當呈現(xiàn)具有與坐標系統(tǒng)平行的上下邊的梯形時,可以使用單個微像素高速緩存來表示在角(811、813和851、853)之間沿著所述上或下邊(812、852)的所有像素。當所呈現(xiàn)的幾何形狀沒有與坐標系統(tǒng)平行的上或下邊時,在邊之間沒有任何閉合區(qū)域。在下邊之上和在上邊之下,閉合區(qū)域(822、832、842)被完全填充,并且可以不使用微像素高速緩存而隱含地被表示,或使用上述的兩比特編碼方案來被表示,或者為了一致它可以被填充的微像素高速緩存來表示。
圖9提供了呈現(xiàn)梯形的特殊情況,其中在梯形中的兩個點具有相同或接近相同的位置,因此有效地將梯形縮為三角形。為了一致,四個地址點可以被包括在由分割引擎提供的數(shù)據(jù)流中。在這個附圖中再次表示5個微像素高速緩存組910-50。內(nèi)插軸901是垂直的。第一邊(911-951)也是垂直的。第二邊(913-953)是三角形的斜邊。下面的閉合邊912位于內(nèi)插邊之間。沒有上面的邊。微像素高速緩存組920、930、940包括完全填充的像素922、932和942。在地址X2S和X2E之間的距離903對應于具有表示斜邊的部分的子像素網(wǎng)格的像素的數(shù)量。
圖10A表示另一種特殊情況,其中通過單個微像素高速緩存1010來表示幾何形狀。內(nèi)插軸是1001。象圖9中一樣,梯形已經(jīng)被縮為三角形。左邊延伸通過所有三個單元1011、1012和1013。右邊被包括在單元1013中,具有由1003指示的像素寬度。因為間隔X1S...X1E和X2S...X2E重疊,因此所述重疊表示其中微像素高速緩存以邏輯與運算來相結(jié)合的區(qū)域。還因為由單個微像素高速緩存組來表示整體幾何形狀,因此表示三角形底邊的微像素高速緩存需要使用邏輯與運算與用于左邊的部分的微像素高速緩存組合。
圖10B-D圖解了使用微像素高速緩存組發(fā)送的數(shù)據(jù)的部分。圖10B描述了具有比頂部窄的底部的梯形。它適配在7×7像素網(wǎng)格中。通過并行處理這個梯形的上和下以及左和右邊而產(chǎn)生的微像素高速緩存一般從上下開始,并且從下向上進行
左處理器高速緩存對右處理器L6.19 R6.7L5.18 R5.7L4.17 R5.6L4.26 R4.6L3.25 R3.6L2.24 R2.6L2.33 R2.5L1.32 R1.5T6.11 B1.3使用諸如上面列出的順序的固定順序來處理邊可以提高呈現(xiàn)邏輯的各個塊的吞吐量。在一個替代實施例中,可以以不同的順序來處理邊,可以垂直定位幾何形狀的平行邊,或者幾何形狀可以不是梯形。在這個示例中,上(T)和下(B)邊是梯形的平行邊。在第一重復中,使用與左邊相交的像素、即頂部在像素6.1以及底部在像素1.3來對應于上和下邊而呈現(xiàn)水平線。連續(xù)重復呈現(xiàn)左右邊。在第二重復中,在行1中的右和左邊完全被包括在單個像素中。行2需要兩次重復、即第三和第四重復來產(chǎn)生微像素高速緩存,因為左和右邊的行2部分跨越兩個像素。除了高速緩存的對,多邊形解釋包括產(chǎn)生地址組。所述地址組包括一個行坐標(Y)和四個列坐標,X1S、X1E、X2S和X2E,其中S指示邊的開始,并且E指示其結(jié)尾。在X1S、X1E和X2S、X2E之間的距離限定每個行的左和右?guī)缀芜呂挥诤翁?。在X1S、X1E和X2S、X2E之間的距離表示閉合數(shù)據(jù)的區(qū)域或者上或下邊的閉合部分。對于每行像素產(chǎn)生一個地址組YX1SX1E X2S X2E61 1 7 751 1 6 742 1 6 632 2 6 623 2 5 613 3 5 5左邊的X1[S]tart和X1[E]end的相對大小指示邊當上升時向左傾斜??梢詮谋砀裢茢嗤ㄟ^左右處理器產(chǎn)生像素高速緩存的順序。
圖10C-D圖解了在特殊情況中的地址組。圖10B是垂直定位的小矩形。它的小指的是它是一個像素寬或更小。用于Y行5的地址組被圖解。所有四個X參數(shù)具有相同的值。圖10C是水平定位的小矩形。僅僅在Y行5中存在這個矩形的一個地址組。諸如小矩形的小幾何形狀的識別可以促進處理。
圖11A-D幫助圖解了在一個微像素高速緩存內(nèi)的像素呈現(xiàn)和使用多邊形邊的延伸來開始應用Bresenham算法。每個圖表示用于單個像素的8×8子像素網(wǎng)格。用于呈現(xiàn)的一個操作是確定邊投影與像素的邊的相交(1102A、1102B、1112C或1112D)。在附圖中提供了涉及梯形的四種情況。在圖11A和11B中的梯形側(cè)邊的角大于從水平算起的45度。在圖11A中,xTop 1101A落到角(Xm,Ym)1103A的右方。在圖11B中,xTop 1101B落到角(Xm,Ym)1103B的左方。在圖11C和11D中剩余的兩種情況涉及從水平算起小于45度的角以及右/左yTop 1111到y(tǒng)Bottom 1112關系。用于計算邊投影與像素的邊的相交的公式依賴于所圖解的四種情況。對于超過45度的角度情況A和BxBottom=Xm-(dx1/dy)*YmXTop=xBottom-(dx1/dy)*Micro pixelCacheWidth情況C 情況DyBottom=Y(jié)m-(dy/dx1)*Xm Ym+(dy/dx1)*MPCWidthyTop=y(tǒng)Bottom+(dy/dx1)*MPCWidth yBottom-(dy/dx1)*MPCWidth使用Bresenham算法來呈現(xiàn)像素(“MilPxCaW”)。使用微像素來呈現(xiàn)由一個邊相交的像素。為了找到MiPxCaW,可以使用下面的算法1)找到左下角所在的MiPxCaW。
2)找到從那個MiPxCaW的左下角到邊的延長線與MiPxCaW的下邊的交點的距離(xBottom)。這是以作為與7個雙重(binal)的定點坐標的宏像素為單位來提供的。這個距離是xBottom=X-dx1dyY]]>其中(X,Y)是從當前的MiPxCaW的左下角計算的角的坐標。
3)使用xBottom,下一個交點被計算為xTop=xBottom+dx1dyMiPxCaWinWidth,]]>
4)如果0<=xTop<MiPxCaWidth,則應當恰在當前那個之上的MiPxCaW中執(zhí)行微像素呈現(xiàn)。
5)如果xTop>MiPxCaWidth,則應當在恰在當前那個之上右側(cè)的MiPxCaW中執(zhí)行微像素呈現(xiàn)。
6)如果xTop<0,則應當在恰在當前那個之上左側(cè)的MiPxCaW中執(zhí)行微像素呈現(xiàn)。
7)重復直到達到上一行。
不使用浮點數(shù)來表示(dx1/dy),可以將它們都乘以dy來得到整數(shù)。如果邊的斜率小,則可能必須向側(cè)面走幾步來獲得在下一行上的下一個MiPxCaW。如果在邊和x軸之間的角限于大于45度,則不是這樣??梢酝ㄟ^將幾何形狀旋轉(zhuǎn)90度來呈現(xiàn)較小的角。在接受大于45度的角度情況下用于Bresenham算法的代碼為eLefe=dy*xBottom=dy*X-dx1*Y;eLeftShift=dx1*MiPxCaWinHeight;eLeftCond=dy*MiPxCaWinWidth;xBottom=eLeft/dy;eLeft+=eLeftShift;while(eLeft>=eLeftCond){eLeft-=eLeftCond;MiPxCaWNumber+=1;}while(eLeft<0){eLeft+=eLeftCond;MiPxCaWNumber-=1;}xTop=eLeft/dy;根據(jù)斜率是正的或負的,變量MiPxCaWNumber是應當被移到左或右的MiPxCaW的連續(xù)數(shù)目。
用于呈現(xiàn)左邊的輸入?yún)?shù)如下
XBottom邊和MiPxCaW網(wǎng)格的下交點XTop 邊和MiPxCaW網(wǎng)格的上交點CacheWinLeft 呈現(xiàn)開始的MiPxCaW的編號StartCacheWin 在邊右側(cè)的第一個MiPxCaW的編號。這是在內(nèi)部第一個要被填充的。這是一個返回參數(shù)。
StartRow 要呈現(xiàn)的最低微像素行。它被用在下邊上。
StopRow要呈現(xiàn)的最高微像素行。它被用在上邊上。
在硬件中,有可能預先計算和在表格中存儲在微像素級上的呈現(xiàn)。
用于呈現(xiàn)在MiPxCaW內(nèi)的微像素的原理與開始用于找到MiPxCaW的原理相同。流程如下1)找到xBottom的子微像素部分,并且使用它來作為開始值,并且將其稱為xBottomMi。
2)填充通過其邊進MiPxCaW的微像素。
3)使用Bresenham算法來計算邊在下一個微像素線上通過哪個微像素。一般,MiPxHeight=以定點單位的微象素的尺寸。
xBottomMi+=(((xTop-xBottom)/MiPxCaHeight)*MiPxHeight;if(xBottomMi>=MiPxWidth){xBottomMi-=MiPxWidth;miPxNumber++;}4)關于MiPxCaW,將其乘以MiPxCaHeight以獲得整數(shù)關系,下面給出用于Bresenham算法的代碼。
xMiOffset=subMiPxBin(xBottom)*MiPxCaHeight;shift=(xTop-xBottom)*MiPxHeight;cond=MiPxWidth*MiPxCaHeight;xMiOffset+=shift;while(xMiOffset>=cond){xMiOffset-=cond;MiPxNumber++;}while(xMiOffset<0){
xMiOffset+=cond;MiPxNumber--;}圖23是描述應用Bresenham算法的一個實施例的流程圖。在5301執(zhí)行初始化步驟。在5302、5303和5306的測試將開始點劃分為對應于圖11A-D的情況。在方框5305、5304、5307和5308中執(zhí)行用于這些情況的代碼。在5311中設置用于所述算法的定位點。所述算法沿著在5312-5321中內(nèi)插的邊而重復。
在圖15A中進一步描述了圖11A-D的計算的參數(shù)。在這個附圖中,在像素的網(wǎng)格1501上布置梯形1500。給出了示例水平像素對1502和垂直像素對1503。所述像素網(wǎng)格包括呈現(xiàn)窗口1501A和保護窗口1520A。距離dx1 1531被定義為在左邊的下和上角的x坐標之間的差。距離dy 1532被定義為在梯形1500的上和下平行邊之間的y坐標的差。在呈現(xiàn)窗口周圍的擴展區(qū)未示出。角在(Xm,Ym)?!癲x1”是在左邊的上和下角之間的x坐標差1531。類似的量度“dx2”對應于在右邊的上和下角之間的距離?!癲y”是在梯形的平行上和下邊之間的y坐標差1532。對于不同的幾何形狀,可能需要兩個或更多的dy值。MPCWidth是微像素高速緩存的寬度(它等于像素的寬度)。應當選擇適當?shù)膯挝弧?br>
方便的是,一次呈現(xiàn)像素對,諸如水平像素對1502或垂直像素對1503??梢钥偸沁x擇像素對以使得被呈現(xiàn)的邊和邊的任何投影在像素對的相對側(cè)相交,而不是切除一個像素角。沿著左邊1500,由于這個左邊的方向而呈現(xiàn)水平像素對。在這個示例中,沿著上邊1501和剩余的邊呈現(xiàn)像素的垂直對。呈現(xiàn)包括與像素的相對側(cè)相交的邊的成對像素使之能夠使用下述的表格查找方法?;蛘撸梢允褂没虿皇褂孟袼貙碇苯討肂resenham的或另一種內(nèi)插算法。
均衡像素用于實現(xiàn)本發(fā)明的方面的一種替代方式是使用均衡子像素并且使用或不使用預先計算的子像素條形圖,如下所述。在用于呈現(xiàn)在左邊的微像素的一種算法中,初始填充通過其被呈現(xiàn)的邊與微像素的底部相交的微像素外加在相交的微像素右面(在幾何形狀內(nèi)部)的所有微像素。于是,由被填充的微像素覆蓋的區(qū)域一般與正確區(qū)域不同。為了補償,可以計算這個差別,并且當總的面積誤差大于一個微像素時,就增加或減去一個微像素。超過區(qū)域初始為0。對于每個MiPx行,它增加A=[xBottomMi+(xBottomMi+dx1dyMiPxHeight)]12MiPxWidth.]]>如果累積的超出區(qū)域大于一個MiPx,則應當移動邊以補償。對于正的和負的差別都執(zhí)行這個補償,并且加上(減去)均衡微像素,以便從不在一個MiPxCaW中偏離理想?yún)^(qū)域超過一個MiPx。超出區(qū)域可以對于每個新MiPxCaW被設置為0,或從微像素高速緩存的一行被攜帶到下一個。
上述用于計算A的公式基本上與前面的Bresenham算法相同。如果以硬件實現(xiàn)則兩種內(nèi)插流程可以被組合為一個單個流程。
使用預先計算的子像素圖另一種替換方式是使用預先計算的子像素來利用均衡子像素呈現(xiàn)在微像素高速緩存內(nèi)的邊。圖12圖解了使用垂直像素對來呈現(xiàn)從水平起的小于45度的角,并且使用水平像素對來呈現(xiàn)大于45度的角。(可以使用像素對的任何一個方向來呈現(xiàn)精確的45度角。)垂直對沿著X1-X2軸(1211,1212)。水平對沿著Y1-Y2軸(1201,1202)。單像素或微像素高速緩存被粗線1221約束。單個子像素或微像素被標為1225。陰影區(qū)域1222被填充以表示幾何形狀的內(nèi)部(或外部)。陰影像素1223一行的長度是子像素或微像素條值。微像素條可以被用作連續(xù)執(zhí)行用于呈現(xiàn)子像素高速緩存所需要的計算的替代方式。微像素條表示存儲在表格中的預先計算的陰影。
可以使用左手和上幾何邊來構(gòu)造微像素條的表格。左手邊將對象的內(nèi)部布置在邊的右手側(cè)。上邊將對象的內(nèi)部布置在邊的下部。圖13B和13D表示左手和頂部幾何邊。在傳統(tǒng)的x、y坐標系統(tǒng)中,可以通過將左下手的角定位在或接近原點并且掃描通過從90到45度的角的范圍來表示可能的角的范圍。在圖13中,通過組合反射、旋轉(zhuǎn)和反轉(zhuǎn)操作,用于圖13D的微像素條可以被轉(zhuǎn)換為其他圖,所述反轉(zhuǎn)如果需要的話被應用來將邊的內(nèi)部和外部保持在它們適當?shù)奈恢?。圖13D是在90和45度之間的上部左手幾何邊。圖13C是圖13D通過y軸的反射外加反轉(zhuǎn)。圖13B是在45和0度之間的較淺的邊角。通過y軸反射圖13D然后逆時針旋轉(zhuǎn)90度產(chǎn)生圖13B。通過y軸的進一步反射外加反轉(zhuǎn)將圖13B進一步變換為圖13A。在圖13A-13D的四角布置中,需要兩個操作,即一個反射外加旋轉(zhuǎn)或反轉(zhuǎn)來將一組微像素條值轉(zhuǎn)換為方形的相鄰角,并且需要四個操作來轉(zhuǎn)換為方形的相對角。因此,可以通過將左下手角定位在原點并且掃描通過從90到45度的角范圍來表示可能角的范圍。
本發(fā)明的一個有益方面是使用對稱子像素條形圖。圖45圖解了這個對稱性。在左手的子像素條形圖對中,圖4501A和4502是彼此的鏡子圖像。它們緊密適配。它們將一起覆蓋微像素陣列的所有子像素,例如產(chǎn)生64/64的亮度。在右手的子像素條形圖對中,圖4501B和4502具有與4501A和4502相同的區(qū)域覆蓋,但是產(chǎn)生了不同的合并結(jié)果。因為4501B和4502不對稱,它們不能良好地適配在一起。存在一些重疊區(qū)域和其他間隙區(qū)域。它們一起覆蓋少于所有子像素,例如61/64。對于在圖形中對角布置的幾何形狀,缺少對稱性可以負面地影響系統(tǒng)的臨界尺寸的統(tǒng)一和誤差預算。
微像素條的表格僅僅包括某些角,因為幾何形狀邊被限制為在特定的間隔相交子像素,如上所述。將沿著像素的邊的離散位置使用作為交點是便利使用具有可管理數(shù)量的輸入項的表格的一種方式。在給定當前可以獲得的存儲器和處理器配置的情況下,對于離散位置,我們指的是513個位置或更少。進行下列限定是合理的將子像素和離散位置的精度限制為256個子像素和每個子像素不超過65個位置、或限制為64個子像素和每個子像素不超過33個位置、或限制為32×16個子像素和沿著子像素的邊不超過17個離散位置、或限制為16×8個子像素和沿著子像素的邊不超過9個離散位置。在給定現(xiàn)有的存儲器、處理器和FPGA技術(shù)的情況下,這些被認為是可能的替代配置。它們一般涉及2的冪,它外推到可以在諸如以后5年的不久的未來中可以實現(xiàn)的配置。離散位置不是用來指可以使用16或32比特地址尋址的每個位置。使用離散位置限制了表格輸入項的可能數(shù)量。當一個像素邊具有8個子像素并且每個子像素具有8個增量時,它具有邊相交的64或65個可能點。從原點,可以使用用于在90和45度之間的64個角(或65個角,包括兩個末端)的表示來表示可能角的全范圍。在8×8子像素網(wǎng)格中,可以將有效地跨越一對像素的8個微像素條表示為5比特值。
在我們的示例中,具有45到90度角的左手邊可以相交在沿著x軸的8個不同的增量而不落入自原點一個全像素寬度距離范圍內(nèi)。可以選擇微像素條的不同圖形來表示通過原點的角而不是表示當它通過x軸的距離原點半個像素的相同的角。對于同一角需要微像素條的不同圖形,以便實現(xiàn)在邊布置中的子像素精度。為了說明,考慮45度邊。如果這個邊通過原點,則通過將32/64的子像素加陰影來表示它。如果這個45度邊向右移動一個全像素,則它以每行少于一個像素的比率被少了8個的像素來表示。對應于將邊布置在沿著子像素邊的8個不同的位置,在32和25個加有陰影的像素之間,可以存在在45度角上的8個變化。圖14A-14D描述了使用一組微像素條來構(gòu)造左手邊的操作。因為角小于45度,因此使用一個垂直對的像素。在圖14A中,被構(gòu)造的邊1402被整數(shù)個像素轉(zhuǎn)換為1401,以便它位于或接近(距離小于一個像素)一個角。在圖14B中,根據(jù)下述增量來選擇一組微像素條,以所述增量,被轉(zhuǎn)換的邊與在像素對的右和左側(cè)上的子像素的邊相交。接著,在圖14C中,對應于從1402到1401的轉(zhuǎn)換的一定數(shù)量或區(qū)域的像素1412被從微像素條減去。在圖14D中,微像素條1413被移回靠著像素對頂部的位置,在此它們表示期望的邊1402。
子像素條的預先計算圖15B-C描述了用于預先計算被如上所述應用的子像素條的界面。兩個附圖的特征是相同的,除了所選擇的標準和結(jié)果產(chǎn)生的微像素條配置??丶爱a(chǎn)生MiPxCaW呈現(xiàn)表格”1541控制來自預先計算處理的輸出。當選擇此按鍵時,輸出包括一個參數(shù)文件,它可以與其他參數(shù)文件合并,并且用于實現(xiàn)本發(fā)明的方面的系統(tǒng)中。復選框1542和1543選擇如何表達邊線段1555的交點。在圖15B中,提供了x相交坐標。x1(1551)坐標是20,它對應于在原點右面的一又四分之一的微像素(20/16)。有效坐標在1..255的范圍內(nèi),它對應于16個微像素的每個微像素的16個位置。x2(1552)坐標是80,它對應于原點右面的5個微像素。如果選擇y坐標選擇1543,則提供了在微像素顯示的y1(1553)和y2(1554)邊上的交點的值。提供了三個呈現(xiàn)選項。除非選擇“呈現(xiàn)右邊”選項1544,所描述的邊將是左邊,并且?guī)缀涡螤?556的被填充部分在邊1555的右面。
通過兩個或可選擇的三個標準來引導均衡像素的分布。對于在呈現(xiàn)時使用流水線運算來計算均衡像素的實現(xiàn)方式,優(yōu)選前兩個標準。首先,由包括均衡像素的微像素覆蓋的區(qū)域應當與使用三角方法從MiPiCa的覆蓋部分的角點計算的真實區(qū)域最多相差子像素的一半??刂瓢存I1545“執(zhí)行像素均衡”調(diào)用這個標準。第二,當通過兩個邊的邏輯“與”操作形成角時由微像素覆蓋的區(qū)域應當與對于相交邊可以使用三角方法計算的區(qū)域不應當相差超過1個子像素區(qū)域??刂瓢存I1546“執(zhí)行像素區(qū)域均衡”調(diào)用這個標準。信息窗口1547支持對于呈現(xiàn)實現(xiàn)的注解。當選擇呈現(xiàn)按鍵1548時產(chǎn)生幾個輸出。使用所提供的坐標來以三角方法計算真實區(qū)域值1561。在這個示例中它是邊線段1555右面的區(qū)域。近似區(qū)域值1562是由微像素條1556覆蓋的微像素的計數(shù)。近似區(qū)域誤差1563是在真實區(qū)域1561和近似區(qū)域1562之間的差,它在這個示例中是0。在這個附圖中的灰度級值1564是冗余的。當系統(tǒng)一次產(chǎn)生在微像素條的整個組時使用最大表誤差1565。它通過指示在用于在所述組中的任何微像素條的真實區(qū)域和近似區(qū)域之間的最大差而提供了對于程序性能的校驗。
確定分布的處理可以是任何種類的在角上的系統(tǒng)迭代、偏移和分布,由此評估對于每個可能組合的誤差預算完成情況。按照第一標準來確定所需要的均衡像素的數(shù)量。然后,迭代程序嘗試不同的可能角組合以找到以最小誤差滿足第二標準的子像素配置。在微像素條的邊和端之間的最小二方差可以用于測量誤差。
在本實施例中的另一種方法是驗證當從上部向下部和從下部向上部遍歷MiPiCa時累積的誤差(逐個條地增加誤差)在任何點都不超過1。
一般,選擇微像素條組涉及選擇偏好較小表尺寸或較緊的誤差預算。一種方式是設置期望的表尺寸并找到對處理有最小誤差的微像素條組。另一種方式是設置誤差預算并產(chǎn)生導致最小可能表尺寸的微像素條組。還有一種手段是產(chǎn)生多組微像素條,并且在其他因素之中,特別根據(jù)表尺寸和誤差分布的組合來選擇一個。
比較圖15B-C示出了依賴于所應用的標準1545、1546的、不同的結(jié)果微像素條組。在1556A和1556B之間的差別在行0-1和2-3中出現(xiàn)。
預先計算微像素條組的另一個方面可以涉及分層表格,其中包括用于不同角和網(wǎng)格相交偏移的微像素條組。通過使用具有兩級的表系統(tǒng)來獲得表尺寸的縮小,其中一個表具有用于角和相交偏移對的輸入項(0..15,從高速緩存交點坐標(0..127)模8確定)。這個表格包括對第二表格的指針,所述第二表包括微像素條長度的組(對8×8子像素分辨率在每個組中為8)。這個分層允許幾種角/偏移組合共享一個微像素條組。因為條組表是較大的表,因此縮小了總的表尺寸。或者,可以構(gòu)造支持角和偏移的附加組合的較大表,并且降低或消除了在應用條對轉(zhuǎn)換和旋轉(zhuǎn)的需要。
Matlab是用于找到可以可由單個微像素條組表示的全部可能組合的有用工具。針對用于其他角/偏移對的分布而查看滿足第一和第二標準的可能均衡像素分布。如果兩個分布圖形對于不同的角/偏移項匹配——這可以使用Matlab的獨特函數(shù)來識別,則可以存儲所述圖形的一個拷貝,并且向兩個輸入項提供指向同一組微像素條的指針。
圖16A-C圖解了在像素或子像素網(wǎng)格的左下手區(qū)域中形成角。圖16A圖解了限定邊的微像素條的圖形。邊標稱地沿著x軸下降8中的4又1/2個增量。在像素的頂部1601和底部1602的邊的交點是等同的。在這個示例中,64個子像素的36個被加陰影。圖16B圖解了定義斜邊的宏像素條的圖形。在像素1611的頂部的邊的交點是在像素的中間。在像素1612的底部的邊的交點沿著x軸下降4又1/2個增量。加有陰影的子像素覆蓋64個網(wǎng)格位置中的36個。在圖16C中,在圖16A-B中描述的一對邊與前角相交。由淺灰來指示對應于垂直邊1621和水平邊1622的子像素的圖形。由邏輯與運算形成的兩個像素圖形的相交是深灰。在這個示例中的深灰陰影區(qū)域與理想值略微不同。
前面的附解了實現(xiàn)本發(fā)明的方面的替代實施例。本領域內(nèi)的普通技術(shù)人員將認識到,在幾何關系中的許多變化可以實現(xiàn)本發(fā)明。例如,用于使用輻射掃描來投射圖像的器件的網(wǎng)格位置可以是矩形的。在掃描方向中具有子網(wǎng)格地址的網(wǎng)格位置可以被當作矩形像素或子像素。微鏡陣列的獨立微鏡可以是矩形的、六邊形的或非凸形的。一個子像素網(wǎng)格可以覆蓋多個網(wǎng)格位置、微鏡或像素,以適合于用于投射輻射以形成圖像的器件的幾何形狀。從子像素網(wǎng)格總計像素的灰度級值應當對應于子像素到像素的映射。本領域內(nèi)的普通技術(shù)人員將進一步認識到,兩級分辨率的使用可以被適配到較高分辨率的子像素網(wǎng)格的灰度分級。當高分辨率的子像素網(wǎng)格包括用于獨立子像素的灰度級信息時,用于形成角的邊的相交將需要相加子像素的值,并且注意超過子像素的最大值的和,而不是使用邏輯操作??傆嬜酉袼鼐W(wǎng)格的灰度級值將需要相加而不是計數(shù)陰影子像素。
邊位移圖17按照本發(fā)明的方面來開始邊位移的展示。邊位移指的是通過將幾何形狀的邊從圖形的中心向外位移或向圖形的中心內(nèi)位移來增加或縮小(膨脹或侵蝕)所述幾何形狀。這與轉(zhuǎn)換幾何形狀不同,因為幾何形狀的相對邊向相反的方向移動。當邊被位移時,理想地,在邊之間的角將反映兩個邊的新相交。在實際的應用中,水平、垂直和45度邊的位移是最重要的。與幾何域相反不同,在呈現(xiàn)域中邊位移使得設備操作員可以細調(diào)圖形尺寸而不改變要印刷的幾何文件。使用多個邊位移參數(shù)來在單個工件上印刷的測試圖形序列可以用于校準設備。測試圖形的重復實例可以被包括在數(shù)據(jù)文件中。這個幾何形狀可以被分割或擴展。不同的邊位移參數(shù)可以被應用到測試圖形的不同實例??梢允褂貌榭垂ぞ邅韽臏y試圖形選擇產(chǎn)生期望的圖形尺寸的邊位移參數(shù)組。
圖17圖解了邊位移的幾何關系。用于邊位移的參數(shù)包括cdX和cdY。cdX參數(shù)指示垂直邊應當從幾何形狀的中心位移多遠。正的cdX膨脹所述幾何形狀。負的cdX侵蝕它。cdY參數(shù)指示水平邊應當被布置到距離幾何形狀的中心多遠。圖17圖解了被位移到新邊位置1712的、與水平成大約30度角的舊邊1711。具有等于cdX和cdY的軸的橢圓1701被用作結(jié)構(gòu)工具。新邊位置1712與舊邊1711平行,并且與舊邊分離由橢圓結(jié)構(gòu)工具限定的距離1702。新邊在與舊邊相切的點接觸結(jié)構(gòu)工具。相切點的位置是dX、dY。位移1703的方向正交于舊邊和新邊。
(dXcdX)2+(dYcdY)2=1=z(dX,dY),]]>n∝▿z∝(dXcdX2,dYcdY2)∝(fX,fY),]]>dX2=fX2cdX4cdX2fX2+cdY2fY2,]]>dY2=fY2cdY4cdX2fX2+cdY2fY2]]>dX和dY的計算是計算密集的。最小化邊位移的計算要求的一種方式是在裝入?yún)?shù)cdX和cdY的同時,向呈現(xiàn)引擎裝入dX、dY、fX和fY的預先計算值。
邊角檢測三種算法和變化方式提供了使用兩級分辨率的呈現(xiàn)引擎中實現(xiàn)邊位移的情況。所述算法被適配用于水平和垂直邊的正交位移、在沿著水平或垂直邊的方向上的斜位移、45度邊的正交位移。
卷積過濾器是用于檢測邊的角或方向的一種工具,以選擇要應用的算法??紤]適用于像素的3×3鄰域的下列卷積過濾器。
-101121
fX=-202fY=0 0 0-100-1-2-1為了應用這些卷積過濾器,過濾器系數(shù)的圖形被布置在灰度像素值的圖形上。對于每個單元計算過濾器系數(shù)和像素灰度值的乘積,并且將單元加在一起。對于每個過濾器計算獨立的和??梢允褂幂^大的鄰域和使用非整數(shù)值來構(gòu)造較好的卷積過濾器,諸如Sobel過濾器,或者使用2的平方根的兩倍而不是整數(shù)2的過濾器。依賴于在計算要求和精度之間的大致折中,可以對過濾系數(shù)使用寬范圍的近似。
邊位移的結(jié)果當使用對應于掩模圖形的數(shù)據(jù)來測試fY/fX的反正切時,使用上面的過濾器來計算角。結(jié)果如下
填充算法在圖18A-B中描述了用于位移水平或垂直邊的算法。每個附圖包括5個像素1801-05。圖18A是在位移前;圖18B是在位移后。被位移的邊近乎垂直1811、1812。在位移前,所述邊與像素1804的一個角相交。因此,像素1804的灰度值是58/64。所述邊與像素1803的稍大角相交,因此像素1803的灰度值是10/64。在這個示例中的邊位移參數(shù)是左面的15/64的子像素。這種所謂的“填充”邊位移算法用于與光柵坐標系統(tǒng)的軸之一接近平行的邊。它用于將一個邊移動0-1個像素。對于幾何形狀的膨脹,所述算法請求將最亮的灰色像素填充為64的白值,并且向第一黑色或灰色像素溢出任何多余的位移量。為了侵蝕幾何形狀,所述算法請求將最黑的灰色像素清空,并且從第一白色或亮灰色像素取得任何多余的位移量。下面的函數(shù)是實現(xiàn)這種算法的方式之一p′[i]=p[i]+sgn(cdX)×max0,dX-(1+sgn(cdX))+sgn(cdX)(p(i+sgn(cdX)sgn(fX)]+p[i+2sgn(cdX)sgn(fX)])]]>其中,p’[i]是像素p[i]的結(jié)果亮度;sgn依賴于自變量是否為正或負而是(1,0,-1);cdX是上述的輸入?yún)?shù);dX使用上面的公式被計算,并且可以被預先計算;fX使用上面的公式被計算,并且可以被預先計算。
在圖18A-B的示例中,期望像素位移15/64。像素1804以58/64的值開始。像素1804被填充15個子像素之6的陰影。15個中的剩余9個被加到像素1803,將其值從10提高到19。邊1811被位移到位置1812,它是在左面的15/64微像素。這種算法用于垂直和水平邊的正交位移,但是對于沿著近乎水平或垂直的邊的位移效果不好。
滑動位移算法-第一實施例圖19A-B圖解了滑動位移算法。對于沿著與被位移的邊近乎平行的軸的位移,可以使用下面的函數(shù)p′[i]=dXmaxValp[i+sgn(cdX)sgn(fX)]+(maxVal-dX)maxValp[i]]]>其中,maxVal=被填充像素的最大亮度值(在這個示例中是64)。這種算法僅僅依賴于一個相鄰像素的灰度值,所述相鄰像素依賴于參數(shù)cdX和fX的符號而在左或右。所述公式實際上計算在兩個像素之間的加權(quán)平均,其中加權(quán)系數(shù)的和為1。
可以應用不同的加權(quán)系數(shù)以補償當應用所述方法時觀察到的誤差。本圖中圖解的位移是32/64的膨脹。結(jié)果產(chǎn)生的加權(quán)是當前像素的亮度的一半加上其右手鄰域的亮度的一半。邊1911被向左1912位移。像素1904被分配像素1904和1905的平均值。它的值從48向56改變。像素1903保持不變,因為像素1903和1904的加權(quán)的、預先膨脹的平均值和像素1902和1903的加權(quán)的、預先膨脹的平均值是48。像素1901從0向24改變,因為它具有像素1902的亮度值的一半。邊1911通過這個處理向左位移1/2個像素。
滑動位移算法-第二實施例用于滑動位移的替代公式是p′[i]=max0min64(1-dX64)p[i]+dX64*p[i+sgn(cdX)sgn(fx)]]]>其中p[i]是中心像素。如果超過64個子像素表示單個像素,則相應地調(diào)整替代的min值。
通過滑動和填充的位移圖48-49中圖解了在應用滑動和填充邊位移中的變化方式。所使用的手段可以依賴于由梯度過濾器檢測的邊的角。在每種變化方式中,首先對沿著x或y軸的鄰域的每個中心像素執(zhí)行滑動操作。然后,對在相反方向中的鄰域的中心像素進行填充操作。使用加權(quán)系數(shù)1,但是可以修改它以成比例地提高或降低算法對位移參數(shù)的響應。
上述的填充和滑動算法的一種變化方式是使用是填充算法來用于所有的侵蝕,引入用于中心像素的加權(quán)因子,以便它僅僅與第一侵蝕方向中的其填充因子成比例地被侵蝕以及僅僅與第二侵蝕方向中的其填充因子的平方根成比例地被侵蝕??梢允褂没瑒铀惴ㄓ糜趲缀涡螤畹乃信蛎洝.斣趚和y方向中都存在幾個灰色像素時,所述填充算法趨向于不填滿像素,使得滑動算法有吸引力。
45度邊算法第三種算法對于45度邊的位移作用良好。這種算法可以被應用到接近45的邊。對于邊是否足夠接近45度以應用45度算法的兩個測試是abs(abs(fX)-abs(fY))*32<(abs(fX)+abs(fY)),以及abs(abs(fX)-abs(fY))*8<(abs(fX)+abs(fY))其中abs是絕對值函數(shù)。這些測試被應用到用于檢測邊方向的梯度過濾器。因子8或32的選擇確定在應用所述算法之前角必須如何接近45度??梢匀菀椎厥褂闷渌蜃踊蛞蜃臃秶?6、20或24和8-32或16-24。使用因子8對應于大約45度+/-10度。
如果邊是45度,則距離它相交的像素的角的距離D可以被計算為D=FmaxVal,0≤F≤maxVal/22-1-FmaxVal,maxVal/2≤F≤maxVal]]>
其中F是陰影子像素的數(shù)量(例如,當45度邊將像素平分為2時,maxVal=64的32)。一般,45度邊被位移的距離可以被計算為cdH=fX2cdX2sgn(cdX)+fY2cdY2sgn(cdY)(fX2+fY2)(fX2cdX2+fY2cdY2)]]>這個位移當然在與圖17中的單位向量n(1703)相同的方向中。如果cdH>0并且像素為空,或cdH<0并且像素為滿,則我們必須查看對角鄰域以看它們是否是灰色的,并且按照上述方程計算與角的距離。然后通過加或減sqt(2)而獲得當前的與角的距離,所述sqt(2)是單個像素的對角距離。從角到邊的新距離因此是D=D鄰居±為了計算45度邊的新填充因子,我們計算與像素角的距離為D+cdH。
則新的填充因子是FmaxVal=(D+cdH)2,0≤D+cdH≤1/21-(2-D-cdH)2,1/2≤D+cdH≤1]]>當然,存在用于F的max(maxVal)和min(0)。為了避免舍入誤差,我們從中心像素和兩個相鄰像素取平均值D。
用于45度邊位移的第二實施例類似于第一實施例。這種45度算法在128×128像素方塊中變換被分類為45度邊的灰度級虛擬邊。所述邊被從光柵域變換到幾何域。在幾何域中執(zhí)行邊位移,然后將邊位移重新變換為灰度級填充值。定義GetDist函數(shù)以將灰度級值轉(zhuǎn)換為幾何值。函數(shù)GetFill將幾何值轉(zhuǎn)換為灰度級值。GetDist將灰度級填充值轉(zhuǎn)換為幾何距離值
GetFill將距離值轉(zhuǎn)換為灰度級填充值
所述45度算法使用環(huán)繞的3×3像素來計算中心像素位移。在3×3矩陣中的像素位置被表達為p[x][y],其中p
是中心像素。所述算法的輸入?yún)?shù)是sgnfX、sgnfY和cdH。if(cdH>0){if(p
<=64/2){p
=a}elsif(p
>64/2){p
=b}elsif(p[sgnfX][sgnfY]>0){if(p[sgnfX][sgnfY]>=64/2){p
=b}if(p[sgnfX][sgnfY]<64/2){p
=c}}elsif(cdH<0){if(p
<64){p
=e}elsif(p[-sgnfX][-sgnfY]<64){p
=d}}
在這個代碼段中,(sgn fX,sgn fY∈{1-,1})。a到e的值是a)=GF(GD(p
)+GD(p[sgnfX]
)-1282+GD(p
[sgnfY])-12823+cdH)]]>b)=GF(GD(p
)+GD(p[-sgnfX]
)+1282+GD(p
[-sgnfY])+12823+cdH)]]>c)=GetFill(GetDist(p[sgnfX][sgnfY])-1282+cdH)]]>d)=GetFill(GetDist(p[-sgnfX][-sgnfY]+1282+cdH)]]>e)=GetFill(GetDist(p
)+cdH)其中GF是GetFill的縮寫,并且GD是用于GetDist的縮寫。
角檢測和處理邊位移的一個附加、可選用的方面可以是角的特殊處理。所謂的Forstner-Plessey-Harris算法是用于檢測角的一個基礎。參見VIGRA ComputerVision Library template<...>void comerResponseFunction athttp://kogs-www.information.uni-hamburg.de/~koethe/vigra/doc/cornerResponseFunction.html;C.G.Harris and M.J.Stevens“A Combined Comer and EdgeDetector”,Proc.of 4th Alvey Vision Conference,ed.by C.J.Taylor,pp.147-151(Manchester University,31st August-2nd September 1988)(VIGRA計算機視覺庫,在http://kogs-www.information.uni-hamburg.de/~koethe/vigra/doc/comerResponseFunction.html的template<...>void comerResponseFunction;C.G.Harris和M.J.Stevens“組合角和邊檢測器”,C.J.Taylor編輯的、第四次Alvey視覺會議會刊,第147-151頁(Manchester大學,1988年8月31日-9月2日))。所述算法如下在給定的標度s,它計算如下的在每個像素的結(jié)構(gòu)張量(它是梯度乘積的平滑矩陣)Gs(gxsgxs)Gs(gxsgys)Gs(gxsgys)Gs(gysgys)=ACCB]]>其中G表示在標度s的高斯平均值,g和g是第一高斯導數(shù),并且相乘是逐個像素的。因此,角響應可以被定義為CR=AB-C2-0.0625(A+B)2。
可以在設置門限后使用角響應CR來識別角像素。
在實際中,我們使用fX和fY來估計g和下述形式的高斯過濾器
Gaussian=010141010]]>注意這個操作需要5×5的鄰域。CR的值接近角為高。門限用于選擇角像素(ALG2_PAR_HARRIS_LOW<CR<ALG2P_AR_HARRIS_HIGH)?;蛘撸菣z測可以使用5×5像素窗口來確定是否中心像素是目標角。用于一般邊檢測的兩個3×3梯度過濾器被應用到在窗口中的每個可能位置,如圖46所示。結(jié)果是具有fx和fy值的3×3矩陣。在每個位置,結(jié)果被求平方并且彼此相乘,產(chǎn)生每個位置三個值,如圖47所示。對于每個值,上述的高斯過濾器被應用到圖47中的矩陣。角響應(CR)被計算和與用于角檢測的門限相比較。
CR=G(fx2)*G(fy2)-G(fx*fy)2-0.0625*(G(fx2)+G(fy2))2TBD<CR<TBD邊和角檢測的另一種手段是最小單值段吸收核心(SUSAN),它已經(jīng)被廣泛地說明和包括在下述文獻中S.M.Smith,Method For Digitally ProcessingImages To Determine The Position Of Edges And/Or Corners Therein ForGuidance Of Unmanned Vehicle,UK Patent 2272285(15,January 1997)(S.M.Smith,數(shù)字處理圖像以確定其中的邊和/或角的位置來用于引導無人汽車的方法,英國專利2272285(1997年1月15日));S.M.Smith,A New Class OfCorner Finder,in Proc.3rd British Machine Vision Conference,pages139-148(1992)(S.M.Smith,新類型的角探測器,第三次英國機器視覺會議,第139-148頁(1992))。邊位移的利用獨立于所選擇的特定邊和角檢測算法,除了更好的角和邊檢測方法提供膨脹或侵蝕幾何圖形的更好的基礎。
角檢測的另一種替代方式是在呈現(xiàn)過程期間記錄角的建立。通過使用邏輯與運算相交兩個邊來建立角。在呈現(xiàn)多邊形或組合多邊形中的邏輯與運算的應用指示可能的角。上述的兩比特像素編碼保留了比特值“11”。這個值可以用于標記角操作而構(gòu)造的灰色像素,這與幾何圖形的簡單邊相反。當連續(xù)的幾何圖形完全覆蓋一個像素、將其亮度值驅(qū)至maxVal并且使得所述像素被標記為W/B時,將自動去除這個標記。當兩個鄰接的梯形建立先前兩個角所在的一個連續(xù)邊時,可能去除這個標記。所述標記可以被作為指示用于特殊情況處理的角或指示用于進一步測試的角。
邊位移的流程52是用于邊位移的硬件實現(xiàn)的流程圖。在這個實施例中,一旦計算完dX、dY和cdH值就計算位移計算,使得角檢測算法可以與位移計算并行被賦值。在檢測和判決樹中,dX、dY和cdH值的表格可以從軟件預裝,并且當cdX和cdY值改變時被重裝。在所述附圖中,輸入的像素數(shù)據(jù)被緩沖5201。對應于所選擇的鄰域的大小,數(shù)據(jù)被提供為5行像素數(shù)據(jù)。數(shù)據(jù)送入延遲緩沖器5211和邊卷積計算器5212兩者。卷積的結(jié)果用于通過從表格5221提取一些數(shù)據(jù)來計算dX、dY和cdH 5222。卷積結(jié)果也用于確定是否已經(jīng)檢測了角、45度邊或其它邊5223。延遲緩沖器5211使得5行像素數(shù)據(jù)和所計算的值5222組合以用于在并行處理中計算角位移5231、45度邊位移5232和其它邊位移5233。復用器5241或其它邏輯選擇器件使用檢測結(jié)果5223來選擇所計算的位移之一以應用或不選擇。
邊位移的結(jié)果執(zhí)行使用或不使用角檢測而應用邊位移算法的測試。測試圖形是不同的。方形圖形的LR或右下邊類似于以45度削去右下角而剩下五邊圖形的方形。SQ或方形圖形包括一系列方形,其中原點沿著x和y軸移動半個像素。SRQot或旋轉(zhuǎn)的方形圖形使用與SQ圖形相同的方形,僅僅在x上移動并且在y上旋轉(zhuǎn)0-90度。PlusRot圖形是被當作SQRot的一系列加號,具有x上的移動和旋轉(zhuǎn)。這個圖形將內(nèi)角引入到在其他情況下僅僅具有外角的一組圖形。用于每個測試圖形的參數(shù)cdX和cdY不同,并且誤差的范圍在陰影子像素的數(shù)量與理想情況的差別上特征化。
在沒有角檢測的情況下,對于上述多個圖形測試所述三邊位移算法,并且得到不同的結(jié)果。對于LR文件,得到下面所示的統(tǒng)計數(shù)字,這僅僅用于通過不包括角的測試圖形的那些行。因此,這些結(jié)果示出了純邊的算法行為。(所包括的行是27+i+j*32,其中i,j=0,1,2...)。
對于SQ圖形,達到下面的結(jié)果。因為在SQ中的邊是0或90度,因此邊角對于與理想圖像的差別像素的數(shù)量沒有影響。因此,在這個數(shù)據(jù)組中的平均表示角上的誤差。
SQRot圖形的測試需要被重復,因為原始數(shù)據(jù)組包括非各向同性的ED的誤差。下面的數(shù)據(jù)來自校正后的圖像。因為邊不是0或90度,因此在檢測邊方向中的誤差影響差別像素的數(shù)量。因此,平均不代表角誤差。
與SQRot圖形一樣,PlusRot圖形的測試需要被重復,因為原始數(shù)據(jù)組包括非各向同性的ED的誤差。下面的數(shù)據(jù)來自校正后的圖像。因為邊不是0或90度,因此在檢測邊方向中的誤差影響差別像素的數(shù)量。因此,平均不代表角誤差。
對于上述的角檢測(非替代的SUSAN手段),測試顯示出一些改善。對于LR文件,下面示出的統(tǒng)計數(shù)字僅僅基于那些不包括角的行。因此,統(tǒng)計反映出純邊的行為。(所包括的行是27+i+j*32,其中i,j=0,1,2...。)
對于SQ圖形,在SQ中的邊是0或90度,因此邊角不影響差別像素的數(shù)量。因此,在應用角檢測的情況下,所述平均表示在角的誤差。
使用角檢測的SQRot圖形的結(jié)果是
使用角檢測的PlusRot圖形的結(jié)果是
邊位移的一種硬件實現(xiàn)方式被圖解在圖20中,并且被討論如下。
硬件實現(xiàn)圖20描述了像素行延遲緩沖器,包括例如FIFO和在5×5鄰域上的像素延遲運算器。替代的實施例將獲益于與傳統(tǒng)的圖像處理算法一致,使用在卷積核心中的對稱性來降低延遲元件的數(shù)量。在線2001上輸入像素數(shù)據(jù)。延遲元件2010、2020、2030、2040和2050控制數(shù)據(jù)沿著線2011、2012、2022、2032、2042和2052傳播到用于邊位移的像素鄰域運算器2060。修改或位移的像素鄰域被計算和輸出2070。調(diào)整處理器對在來自呈現(xiàn)處理器的輸出數(shù)據(jù)流中所接收的像素鄰域上執(zhí)行灰度分級的邊位移。在一個實施例中,用于邊位移的鄰域尺寸是5×5灰度級像素,但是鄰域大小是實現(xiàn)的細節(jié),而不是對實現(xiàn)本發(fā)明的方面的方法的應用的限定。邊位移的實現(xiàn)方式有利于并行性以容納并行像素輸入和輸出數(shù)據(jù)流(每個周期2或4個像素)。輸出數(shù)據(jù)圖像的符號表示[Inc Y0-2;Inc X0-2]指的是存在一個兩像素線延遲和一個兩像素延遲。
照明補償圖21描述了所謂的標記重疊。呈現(xiàn)或調(diào)制器窗口可以覆蓋一個或多個標記的部分。例如,標記2101被六個調(diào)制器窗口2111-16覆蓋。在單遍次中,標記在它們的邊緣2102附近重疊。重疊區(qū)2103是重疊區(qū)域。重疊分析也可以被應用到掃描輻射圖像投影器,其中網(wǎng)線板區(qū)域被印刷,然后與該網(wǎng)線板的隨后印刷區(qū)域重疊。如果從一條邊向?qū)厭呙杈W(wǎng)線板,則掃描系統(tǒng)的重疊圖形可以包括在掃描帶的所有側(cè)上或僅僅在兩側(cè)上的重疊區(qū)。
用于重疊和能量變化補償?shù)闹丿B區(qū)圖22描述了在單遍次環(huán)境中的微鏡標記的重疊子區(qū)。標記2201具有由與8個相鄰標記2211的重疊而產(chǎn)生的9個重疊子區(qū)2220,標記2201在3×3標記網(wǎng)格的中心。中心子區(qū)不與相鄰標記重疊。沿著“+”圖形的臂從中心子區(qū)向呈現(xiàn)區(qū)的邊向外投射,存在與相鄰標記曝光具有單次重疊的四個子區(qū)。在呈現(xiàn)區(qū)的四個角的每個中,存在與相鄰曝光具有多次重疊的子區(qū)。對于由其它呈現(xiàn)子區(qū)的曝光圍繞的矩形呈現(xiàn)區(qū),角多次重疊子區(qū)的每個可以被曝光四次。這種9個子區(qū)配置可以被適配到多個曝光。四個交錯的曝光可能產(chǎn)生呈現(xiàn)區(qū)的81個子區(qū),如圖23B所示。相同的子區(qū)劃分可以容易地被應用到其它形狀的呈現(xiàn)和保護區(qū),諸如六邊形或替代的三角形呈現(xiàn)和保護區(qū)。照明補償是用于補償在多遍次中曝光的區(qū)域之間的重疊的方法。這種方法以變化方式適用于微鏡和掃描輻射束系統(tǒng)。多遍次使得在單個標記的角內(nèi)的照明區(qū)的數(shù)量變?yōu)槎啾丁T趫D23A中,圖解了標準兩個遍次,當前遍次2301和來自另一個遍次的重疊標記2311-14。區(qū)域代碼2320-26在由多遍次曝光建立的許多重疊子區(qū)中。一種多遍次圖形包括四個(移位)層。每個層由重疊的SLM圖像組成,如圖23B所示。最內(nèi)的方形示出了通常的“標記”的幾何圖形。每個這樣的標記具有81個區(qū)域,其中每個是4-7個不同曝光脈沖的結(jié)果。區(qū)域代碼算法的目的是將最后的劑量變化縮小到(大約)脈沖能量的變化的四分之一,并且提供劑量補償來用于在重疊區(qū)中的縫合。在所述縫合區(qū)中,我們可以選擇使用內(nèi)插函數(shù)(以斜坡的形式)或在整個縫合區(qū)上的恒定值。
重疊區(qū)的一種使用是記錄從標稱曝光脈沖產(chǎn)生的理論曝光。圖24A-B圖解了用于標記2301的各種照明區(qū)域的照明劑量特征。在這個示例中,標記由n個調(diào)制器窗口2302覆蓋,其中每個與標記一樣寬。每個調(diào)制器窗口被分配6個照明子區(qū)。不與在單遍次中的其它曝光重疊的中心子區(qū)具有相對較高的劑量特征,如在圖24B中的子區(qū)0;4指示。諸如0;1和0;5的單個重疊子區(qū)具有中間劑量特征。諸如0;2的多個重疊子區(qū)具有低的劑量特征。
重疊區(qū)的另一種使用是記錄在閃光強度中的變化。曝光脈沖提供了在能量中的非確定變化或擴展。所述擴展相對于標稱能量被表示為能量擴展。這尤其適合于激態(tài)原子脈沖激光器和其它可能在能量輸出中具有大的脈沖到脈沖的變化的來源。如果由輻射光束提供的能量隨著時間變化,例如當輻射源加熱時,它也可以被應用到掃描輻射。照明區(qū)可以將關于來自重疊輻射的理想曝光的信息與關于在曝光特定工件期間產(chǎn)生的實際曝光能量的信息相結(jié)合。能量擴展補償是通過調(diào)整在后續(xù)曝光遍次中的SLM調(diào)制值來補償所述能量擴展的處理。在調(diào)制調(diào)整處理中對于照明值進行所述補償。與標稱調(diào)制相關聯(lián)的補償值是所謂的能量擴展補償因子(ESCF)。ESCF表是表示用于一個特定調(diào)制器窗口的ESCF代碼的表格,并且每個區(qū)域代碼一個ESCF代碼。ECT陣列是一組ESCF表格,其中整個子帶或帶的每個調(diào)制器窗口一個表格。能量擴展補償計算是產(chǎn)生ESCF表陣列的處理。這個處理可以在Mercury計算機集群或用于分割處理的其它主機中被執(zhí)行,如下所述,或在模擬Mercury計算機集群實現(xiàn)方式的離線處理中被執(zhí)行。
能量擴展補償發(fā)生在整體光柵化引擎(RASE)的調(diào)整處理器塊的照明轉(zhuǎn)換處理中(圖31中的3141)。對于在標記中的每個調(diào)制器窗口,存在一組區(qū)域代碼,每個區(qū)域代碼表示一個窗口段。對于在帶中的每個閃光脈沖,使用對于每個區(qū)域代碼和對于每個脈沖獨立的能量擴展補償因子來補償標記照明值。另外,通過裝入用于在標記中的多個區(qū)域的不同的因子集,在一個標記中的所有區(qū)域可以被附加因子補償。當補償抗蝕劑和其它系統(tǒng)因子時這是所期望的,所述其它系統(tǒng)因子諸如角烘烤、啟動和老化效應。所述因子可以以下列方式提供二進制2補碼定點編碼f=(F+512)/512其中F是二進制ESCF值(-128..+127),f是相對補償因子(0.7500..1.2481)。零F值表示100%,它表示“無補償”。
再次地,表示用于特定閃光脈沖的區(qū)域代碼的一組ESCF被稱為ESCF表(ECT)。ESCF表格可以包括用于沿32比特雙字中排列的、每個位置的一字節(jié)輸入項。ESCF的長度可以被固定在128,而與所利用的區(qū)域代碼的數(shù)量無關。
對于要被寫入的每個帶,需要一個ECT的陣列(每個激光脈沖和每個調(diào)制器窗口一個),稱為ECT帶陣列。所述陣列被劃分為子帶,如圖23C所示。產(chǎn)生ECT帶陣列的處理被劃分為子帶,因此對于每個GLI信道(對應于一個子帶),產(chǎn)生ECT子帶陣列來作為在分割引擎計算機集群中的獨立結(jié)構(gòu),如圖23D所示。當在數(shù)據(jù)文件中表示ECT帶時,諸如當離線產(chǎn)生ECT帶時,在文件1,1到1,n,然后文件2,1到2,n等等中排序子帶。
返回圖23A,對于在特定調(diào)制器窗口中的每個區(qū)域代碼,存在一組能量測量源參考。在所述附圖中,標記2301是當前標記的曝光區(qū)域。標記2311-14是前一個遍次的四個重疊標記。調(diào)制器窗口2302以點虛線給出輪廓。在調(diào)制器窗口(i)中是各種區(qū)域代碼(在這個示例中的i;0到i;8,2320-2328)。因為這是兩遍次示例,因此在調(diào)制器窗口內(nèi)存在9個區(qū)域代碼。
在一個實施例中,每個能量源測量參考被表示為在參數(shù)文件中的、具有兩個指針和加權(quán)因子的記錄。如果多個閃光影響曝光,則所述指針指出(多個)源測量值,加權(quán)因子表示來自在重疊區(qū)中的獨立測量的影響。
從下面的表達式中計算ESCFESCF=1Σj=1j=m(E(x+dxj;y+dyj)·wj)]]>其中x是標記號,y是帶號,wj是能量加權(quán)因子,dxj和dyj是相對標記坐標,m是用于區(qū)域代碼的源參考的數(shù)量。變量dxj和dyj是在從劃分區(qū)域代碼得到的范圍(-1..+1)中的值,所述區(qū)域代碼在多遍次曝光標記位置偏移之后。wj變量具有定點表示,它具有
的整數(shù)間隔,其中0表示0%的貢獻,32768表示100%貢獻。E值也是具有范圍
的定點表示值,其中32768表示標稱能量(100%),并且>32768的值表示。
在下面的示例中,給出用于標記的源參考的完全集。掃描順序是首先上升X,然后上升Y。在重疊區(qū)中,第一曝光標記具有0,55的加權(quán),第二曝光標記具有0,45的加權(quán)。同一加權(quán)應用到垂直和水平重疊。當四個標記重疊時,按曝光的依次順序,加權(quán)是(0,275;0,265;0,240;0,220)。能量測量已經(jīng)得到了下面的結(jié)果,它們說明一個實施例。
E(0;0)E(1;0)E(0;1)E(1;1)0,970 1,000 1,000 1,030
重疊區(qū)還可以考慮在理想和實際曝光中的、可以從圖1看出的、在照明或曝光和邊位置之間的非線性關系。
用于通過多遍次曝光補償手段而獲得的曝光能量變化校正的理論限制如下。假定以產(chǎn)生四次曝光輻射,并且最大能量在其誤差規(guī)格內(nèi)。如果n表示已經(jīng)在同一點上發(fā)生了多少次曝光,則我們可以寫出用于在n次后的能量的下列遞歸。
En=(n-En-1)(1+δ)+En-1,E0=0;上述表達式的解釋如下。在了解在n-1次閃光后的能量和En-1的情況下,我們將區(qū)域代碼(AC)補償因子設置為(n-En-1),以便獲得在n次激光閃光后的總劑量,n,(標準劑量)。因為我們僅僅將激光控制為精度(1+δ),因此通過前一個給出的(遞歸)表達式來給出結(jié)果產(chǎn)生的劑量。
我們在下表中總結(jié)這個遞歸公式
在最后一列中的因子4被包括來突出以下事實使用4遍次寫入的改進是幾乎四倍,但是不完全是。在此使用的表達式僅僅適用于與同一層中的其它區(qū)域不重疊的區(qū)域。
有益的區(qū)域代碼補償因子可以被計算如下。下面的符號表示如下a=區(qū)域代碼。范圍(0,0)到(8,8)l=層。范圍1..4s=標記代碼。范圍(0,0)到..(N,M),其中N×M*4=107ρ=曝光補償因子(依賴于區(qū)域代碼),范圍≈0.25-1(依賴于激光的脈沖能量穩(wěn)定性)
E(l,s)=用于標記s和層l的所記錄激光脈沖能量。
以與前一部分相同的方式,我們得到曝光補償因子如下。對于每個區(qū)域(區(qū)域代碼),先前進入那個區(qū)域代碼(包括補償因子)的總的激光脈沖能量和K倍的補償因子的和應當?shù)扔趌E0。E0是標稱激光脈沖能量。因子K是我們將在一個層內(nèi)寫入所述區(qū)域代碼a的次數(shù),并且依賴于a。因此Kρa,l,s+∑ρa′,l′,s′El′,s′=lE0(注意在一些情況下E0可以被設置為1)。這再次是我們需要對于每個標記求解的一個遞歸方程。所述遞歸遍布在當前層中已經(jīng)被寫入的標記(和區(qū)域代碼),并且隨后遍布在下面的多個層中的標記。
實現(xiàn)方式圖25是用于照明轉(zhuǎn)換的一個處理流程的方框圖。這是照明轉(zhuǎn)換的完全版本;部分實現(xiàn)方式也具有實用性,例如當僅僅使用一個遍次時,使用掃描輻射源或可以忽略在曝光能量中的脈沖到脈沖或遍次到遍次的變化。照明轉(zhuǎn)換機制的任務是產(chǎn)生具有從輸入的灰度級值(表示虛擬網(wǎng)格)計算的期望照明的、像素數(shù)據(jù)的圖像。在虛擬網(wǎng)格和照明之間的關系是非線性的,這可以從圖25看出。所述處理包括通過改變灰度級到照明的轉(zhuǎn)換表來補償重疊。這用于補償在光致抗蝕劑中的非線性能量累積特性。所述處理也考慮了用于補償在多遍次曝光的在前遍次中的閃光能量中的擴展或變化所需要的照明的補償。
區(qū)域代碼部分數(shù)據(jù)庫2511包括一個或多個區(qū)域代碼圖像圖和一個重疊區(qū)查找表。區(qū)域代碼圖包括用于在調(diào)制器或呈現(xiàn)窗口中的像素的輸入項。所述輸入項限定區(qū)域代碼。在一個實施例中,所述區(qū)域代碼的范圍是0..127。在單遍次的實施例中,可能使用少達9個的區(qū)域代碼。區(qū)域代碼的數(shù)量被適當?shù)剡m配到從所有曝光遍次、重疊圖形和特殊情況產(chǎn)生的照明子區(qū)的數(shù)量。區(qū)域代碼圖的處理可以考慮特殊情況,諸如在呈現(xiàn)窗口的端點的調(diào)制器窗口,這與在呈現(xiàn)窗口中央的調(diào)制器窗口、跨越呈現(xiàn)窗口的調(diào)制器窗口和用于在工件的邊上應用的標記的調(diào)制器窗口不同。不同的區(qū)域代碼圖像圖可以用于處理不同的情況,或者不同的索引可以用于對綜合區(qū)域代碼圖的行或列給出地址。包括表面烘烤特征、抗蝕劑激活和抗蝕劑老化的抗蝕劑問題可能產(chǎn)生特殊適配的區(qū)域代碼圖像圖。不管區(qū)域代碼圖像圖如何存儲,對于調(diào)制器或呈現(xiàn)窗口的特定像素或較大區(qū)域都可以查找區(qū)域代碼。
區(qū)域代碼2522可以作為重疊區(qū)查找表2523的索引。對于具有范圍0..127的區(qū)域代碼,重疊區(qū)域查找表將具有128個輸入項。在重疊區(qū)查找表中的輸入項可以是具有諸如0..14的范圍的重疊區(qū)ID(OZ ID)(2533)??梢愿鶕?jù)照明表2524的期望數(shù)量來使用更寬或更窄范圍的OZ ID。OZ ID用于驅(qū)動照明表選擇器2535?;蛘?,可以直接用OZ ID 2533裝入?yún)^(qū)域代碼圖像圖,以便用于在調(diào)制器或呈現(xiàn)窗口中的像素的圖像圖輸入項直接訪問OZ ID,而不用使用區(qū)域代碼2522來訪問查找表2523的中間步驟。
照明部分數(shù)據(jù)庫2512包括用于可允許的灰度級值和用于有效OZ ID的表格,在這種情況下為0..64×0..14個輸入項。對每個可允許灰度級值,將數(shù)據(jù)裝入照明表2524。所述數(shù)據(jù)提供了依賴于照明重疊區(qū)ID的、用于實現(xiàn)期望灰度級值的值范圍(例如0..14)。一個輸入的灰度級值2513調(diào)用特定的照明表2524,它使得可以獲得一定范圍的照明值2534。照明表選擇器2535使用OZ ID值2533來選擇可應用的照明值。在所述照明表中的值可以考慮在來自多個曝光的劑量累積中的非線性,并且可以考慮在照明級中的非線性,所述照明級是產(chǎn)生可以被表示為全亮像素的相等劃分的輻射劑量所需要的??梢酝ㄟ^將特殊適配的照明表2524存儲在數(shù)據(jù)庫2512中來處理抗蝕劑表面烘烤特征、抗蝕劑激活和抗蝕劑老化的問題??梢允褂弥T如0..820的寬范圍的照明值2544來表達輻射劑量,所述輻射劑量是實現(xiàn)多種曝光重疊條件下的相對較小范圍(例如0..65)的灰度值的所需要的。
可以本身或與重疊轉(zhuǎn)換組合而可能具有實用性的照明轉(zhuǎn)換的另一個方面是能量變化補償。當工件的部分在多遍次中向輻射曝光時,可以累積能量變化補償因子的數(shù)據(jù)庫2541。例如,使用脈沖激態(tài)原子激光輻射源的微鏡系統(tǒng)可以在能量輸出中經(jīng)歷脈沖到脈沖的變化。這些變化可以被監(jiān)控并記錄。累積在諸如理想的75-125%的寬范圍中的能量變化因子可以是有益的,所述范圍足夠?qū)捯圆东@多遍次中的累積變化。對于照明微鏡系統(tǒng)的輻射源的每個脈沖,可以在對應于脈沖的標記位置的較大圖內(nèi)在逐個區(qū)域代碼的基礎上累積能量變化。然后,來自區(qū)域代碼圖像圖2521的區(qū)域代碼2522可以用于索引能量變化補償因子表2532。諸如75-125%(384..639/512)的補償因子2542可以用于補償來自理想能量曝光的可觀察的變化。這個補償因子2542可以2545乘以照明值2544來產(chǎn)生具有諸如0..1023的范圍的、多遍次補償照明值2546。如果輻射劑量從一個遍次到下一個遍次縮放,例如在兩遍次印刷處理中縮放80/20或在四遍次處理中縮放40/30/20/10,則這種能量變化補償可能特別有益。多遍次縮放具有下述應用可能通過向較小最大劑量應用從低到高的相同定標來改善特定動態(tài)范圍的精度(例如10的能量劑量的1024個層級而不是40的能量劑量的)。
照明函數(shù)不僅校正抗蝕劑非線性,而且在基于SLM的部分相干成像的圖形產(chǎn)生器中具有基本光學基礎。理論研究已經(jīng)顯示,在最簡單情況下,所述部分相干使得邊位移成為灰度級的非線性函數(shù),并且非線性依賴于照明SLM的光的空間分布,所謂照明系統(tǒng)的西格馬值。從灰度值到邊位移的dx的傳遞函數(shù)通常是在g和sqt(g)之間的函數(shù),其中g(shù)是在范圍0.00-1.00中的灰度級。所述灰度級對于包括具有被設置為相同偏轉(zhuǎn)的許多像素的大區(qū)域獲得的灰度級。當多遍次(4或更多)印刷時,照明函數(shù)的精確形狀較不重要,可以以良好的精度來使用基于傳遞函數(shù)dx=g**0.75的單個函數(shù)。
鏡子補償處理鏡子補償函數(shù)將在照明轉(zhuǎn)換函數(shù)中計算的照明值轉(zhuǎn)換為鏡子電壓值。補償函數(shù)使用來自存儲在補償系數(shù)圖中的鏡子校準文件的數(shù)據(jù)來計算SLM鏡子的電壓值。所述補償系數(shù)圖對在調(diào)制器窗口中的每個鏡子包括一個輸入項,具有四個系數(shù)(C1..C4)。所述補償系數(shù)C1..C4每個經(jīng)歷一個定標/偏移機制,其中包括用Cn2的二進制移位運算和偏移值Cn1的相加。這些定標/偏移常數(shù)對于在調(diào)制器窗口中的所有鏡子是公共的,并且從AP參數(shù)文件的鏡子表格部分裝入。從下面的用于鏡子驅(qū)動電壓的方程產(chǎn)生作為照明值x的函數(shù)的輸出電壓UCS1=C11+C1*2C12CS2=round((C21+C2*2C22)*x/128)CS3=round((C31+C3*2C32)*F3(x)/128)CS4=round((C31+C3*2C42)*F4(x)/128)U(x)=round(CS1+CS2+CS3+CS4/128)在一個實施例中,用于這些方程的參數(shù)范圍是參數(shù) 范圍C1..C4 0..255C11,C21,C31,C41 -4096..4095C12,C22,C32,C42 0..7
補償函數(shù)使用由查找表定義的兩個原始函數(shù)。這些查找表從AP參數(shù)文件2621的鏡子函數(shù)部分2625裝入。在圖27中示出了這些方程的一種硬件實現(xiàn)方式。
在圖27中的硬件是上述方程的一種有效實現(xiàn)方式。系數(shù)C1..C4被存儲在補償系數(shù)圖2701中,所述補償系數(shù)圖2701可以被存儲在鏡子校準文件2626中。對于每個像素可以存儲多組系數(shù),以便考慮鏡子的老化、在鏡子休止周期之間的時間、在鏡子休止周期之間的鏡子循環(huán)的數(shù)量或隨著時間改變的獨立微鏡的其它特征。期望的照明值(x)2702是輸入。計算塊2711-2713實現(xiàn)了第一方程CS1=C11+C1*2C12。系數(shù)C1被裝入移位寄存器2711中。指數(shù)C12用于啟動寄存器2711的移位功能,以較快地完成相乘和求冪。加法器2712將移位寄存器2711的結(jié)果和系數(shù)C11求和。溢出檢測器2713響應于溢出范圍的值。所述響應可以是錯誤或?qū)⒔Y(jié)果設置為預定值,諸如數(shù)據(jù)路徑的最大可允許值。計算塊2721-2723、2731-2733和2741-2743類似地操作以部分地計算CS2、CS3和CS4。計算這些值需要將塊結(jié)果分別乘以期望的照明值(x)、乘以F3(x)和乘以F4(x)的乘法。乘法器2753-2755實現(xiàn)這些乘法。下移位和舍入邏輯單元2761-2764將所述結(jié)果定標為期望范圍,其中保留了在計算初始階段中的計算精度。邏輯單元2761-2764也實現(xiàn)除以128,這可以被實現(xiàn)為移位寄存器操作。加法器2765組合結(jié)果CS1、CS2、CS3和CS4。溢出檢測器2766類似于2713而校驗結(jié)果,并且下移位和舍入邏輯單元2768,定標、舍入和除以128,以適當?shù)禺a(chǎn)生在期望動態(tài)范圍內(nèi)的U(x)。依賴于用于鏡子補償?shù)暮瘮?shù)和所使用的處理器的類型,不同的硬件邏輯將產(chǎn)生等同于在圖27中的硬件邏輯單元的結(jié)果,其總是使用預先存儲的系數(shù)和函數(shù)和數(shù)字邏輯來將期望的照明值轉(zhuǎn)換為期望的調(diào)制或電壓驅(qū)動器,以便產(chǎn)生驅(qū)動調(diào)制器或微鏡的數(shù)字值。
校準程序的目標是在給出M(其中M可以是106)個微鏡的情況下,找到對于所有鏡子公共的反射系數(shù)范圍和可以用于所有微鏡的補償例程中的有限(小)組的函數(shù)(優(yōu)選的是兩個或三個以方便存儲)。即,在給出作為用于每個鏡子的電壓的函數(shù)的反射系數(shù)的情況下,找到可以由所有微鏡獲得的最大和最小(公共)反射系數(shù)。在那些值之間,對于所有鏡子良好地定義倒數(shù),即作為反射系數(shù)的函數(shù)的電壓。除了可以被存儲在表格中的一小組靜態(tài)函數(shù)之外,還使用用于每個鏡子的32比特存儲來找到那些倒數(shù)的適當表達式。對于具有公共白和黑級(至少由CCD看來)的陣列中的微鏡,整個陣列的動態(tài)反射系數(shù)范圍將由所有微鏡可以獲得的級來限定,它可以是多數(shù)微鏡的動態(tài)范圍的一半或更少。依賴于所需要的動態(tài)范圍,無缺陷的一些微鏡可以被排除使用或特殊地被對待,因為它們具有有限的動態(tài)范圍。當鏡子被特殊對待時,它們?nèi)匀槐皇褂?,并且在黑或白中具有較大的補償誤差。一旦選擇了“黑”和“白”級,則在那個反射系數(shù)范圍內(nèi)校準獨立的鏡子。校準程序是上述引用的同時的專利申請的主題。
定義這些函數(shù)的一種手段是使用容易被傅立葉展開表示的函數(shù),諸如基本函數(shù)sin(πx)和sin(2πx)。當使用這些基本函數(shù)時,可以期望類似于sin(3πx)的特征誤差形式。得到所述函數(shù)的第二種方法是線性內(nèi)插和使用特征函數(shù)的內(nèi)插的混合。特征函數(shù)(實質(zhì)上)是用于使用線性內(nèi)插的內(nèi)插誤差的協(xié)方差矩陣的本征函數(shù)。用于M個鏡子的協(xié)方差矩陣的直接計算需要M×M矩陣的對角化?;蛘?,可以向N個正弦傅立葉分量投射M個函數(shù),并且取代而計算N×N協(xié)方差矩陣的協(xié)方差。流程如下1)在在端點內(nèi)插反射函數(shù)和響應函數(shù)的直線之間的差別被擴展足夠大量的傅立葉分量(例如60個正弦函數(shù));2)具有M個鏡子(因此具有M個函數(shù))并且擴展為N個分量向我們提供了具有N×M大小的矩陣A;3)現(xiàn)在通過選擇具有最大本征值的(方陣)AAt(t表示轉(zhuǎn)置矩陣)的兩個本征向量來選擇基本函數(shù)。以這種方式獲得的基本函數(shù)仍然是正弦類的,并且擬合數(shù)據(jù)而沒有sin(3πx)形式的系統(tǒng)誤差。圖28的函數(shù)2801-2802圖解了一對使用在傅立葉展開中的60個正弦項而產(chǎn)生的一對基本函數(shù)。這些基本函數(shù)是正弦類的,沒有當如上所述使用其它基本函數(shù)時預期的系統(tǒng)誤差。
用于上述方程的可用校準流程中存在傅立葉方法和最小二乘擬合。通過傅立葉方法,可以通過積分來得到系數(shù),c=∫01sin(πx)e(x)dx=Σn=1Nwne(bn)sin(2πbn)1-bn]]>其中e(x)是在在端點內(nèi)插數(shù)據(jù)的直線之間的差別,wn和bn是來自求積法的加權(quán)和橫坐標。也類似地對sin(2πx)積分。這個積分容易通過Gauss-Chebyshev求積分法來求解。在間隔中具有少達四個點的求積分法可以產(chǎn)生滿意的結(jié)果。
在最小乘方擬合和傅立葉方法之間的差別是前者在端點是(設計上)精確的,同時最小乘方擬合最小化了誤差的偏差(至少當加權(quán)函數(shù)等于1時)。
通過求解下式來得到校準系數(shù)c1到c4Ac=Y(jié)其中A是4×4矩陣,并且Y是4×1向量。矩陣的元素是Aij=Σmw(xm)fi(xm)fj(xm)]]>并且Yi=Σmw(xm)ymfi(xm)]]>其中Y是在一些(規(guī)格化的)反射系數(shù)樣值xm上的電壓。
所述函數(shù)的兩個(f1和f2)是常數(shù)函數(shù)和線性函數(shù)f(x)=x。所使用的剩余兩個是從sin(x)和(實質(zhì)上的)本征函數(shù)推出的那些。如果將加權(quán)函數(shù)w(x)被選擇為1,則我們將獲得最小化偏差的校準系數(shù)(c)。如果我們也將基本函數(shù)之中的兩個選擇為sin(πx)和sin(2πx),則我們將獲得很類似于傅立葉展開的解。在這兩者之間的差別僅僅產(chǎn)生自下述要求在傅立葉情況中,常數(shù)和線性函數(shù)用于精確地(在端點)內(nèi)插入校準數(shù)據(jù),而最小二算法自由地選擇它們。結(jié)果,最小乘方擬合產(chǎn)生最小的平均誤差,但是不保證在端點是精確的。
用于補償?shù)乃惴ㄊ呛芎唵蔚?,即U(x)=c1+c2x+c3f3(x)+c4f4(x)對于每個鏡子存在四個特有系數(shù)和對于所有鏡子共同的兩個支持函數(shù)(f3(x)和f4(x))。這兩個函數(shù)可以被置入表格中來作為校準流程的結(jié)果。參數(shù)x在這種情況下被規(guī)格化到范圍(0..1),雖然在最后的實現(xiàn)中可以使用其它的規(guī)格化方式。
有益的是,將鏡子補償系數(shù)所需要的存儲亮和帶寬最小化到例如每個鏡子32個比特。這將在補償中引入“舍入”誤差。例如,考慮被分別舍入為9、9、7和7比特的系數(shù)。舍入的進行首先通過下式將每組數(shù)字變換到范圍0..1中X′=x-min(x)max(x)-min(x),]]>(X’屬于(閉合)范圍
)然后通過下式被刪截到N比特的精度xb=Round(X′2N)/2N(max(x)-min(x))+min(x)函數(shù)“ROUND”僅僅舍入為最接近的整數(shù)?!?/2^N”將結(jié)果移位回
范圍,并且最后的相乘恢復現(xiàn)在在N比特精度的原始校準參數(shù)。剩余的計算以浮點(64比特,IEEE)精度進行。對于在此提供的方法,存儲用于補償分量的9,9,7,7(7比特用于乘以表函數(shù)的常數(shù))比特不總是最佳選擇。如果改變基本函數(shù),則另一種存儲方式可能變得最佳。但是模擬顯示以這種方式選擇存儲方式將產(chǎn)生充分精確的結(jié)果。
在32比特存儲方式中,可能也需要存儲7比特的區(qū)域代碼。測試顯示存儲分別具有7,7,5,6比特精度的系數(shù)為區(qū)域代碼流出空間,仍然適合每個微鏡32比特的存儲。
替代的系數(shù)定標影響例如在圖27中所需要的計算。通過乘以范圍(最大值-最小值)來從存儲值恢復系數(shù)可能顯示計算太昂貴。如果所述范圍被替換為超過所述范圍的2的最接近倍數(shù),則可以通過簡單的移位操作來恢復系數(shù),并且一定程度上犧牲精度。恢復系數(shù)的兩種替代方式是1)如前一樣,乘以定標值以恢復從最大值到最小值的所述范圍;2)如上一樣,但是不包括獨立微鏡的最小和最大值。(這種手段的變化包括僅僅排除最小或僅僅最大值,或排除獨立微鏡的多個最小或最大值。)排除外圍值具有以下效果值中的兩個可能不落入范圍0...1-2-n中。如果這樣,則被排除的值被分別存儲為0和2-n。第二流程可以向被排除的微鏡(例如,在1000個微鏡中的兩個中)的補償誤差引入實質(zhì)的誤差,同時可能更有效地存儲剩余的系數(shù)。下面的表格表示各種方法的模擬誤差。第一種替代標度方法被稱為“all”,并且第二種被稱為“l(fā)oose2”。
如表格中所示,“l(fā)oose2”平均起來幾乎與“最佳”一樣精確,但是一些微鏡具有達到5%的補償誤差,而“all”以平均誤差為代價將所有微鏡的補償誤差保持為小于1.5%。
可以根據(jù)系數(shù)c1..c4的分布來對于它們選擇不同的定標方法。例如,在模擬中,多數(shù)時間下,c1被正態(tài)分布,因此排除最極端校準系數(shù)的0.2%不會大大改變范圍。在同一模擬中,c4具有一些極值,并且排除它們看起來改善了剩余值的存儲效率。
多SLM配置可以使用大量的像素和高刷新率來制造SLM以便每秒打印許多像素。然而,在同一系統(tǒng)中使用多個SLM是有益的。圖54A-C示出了用于多個SLM的三種不同配置。在圖54中,圓圈描述了在投影光學的工件上的光場。矩形對應于來自多個SLM的投射。它們可以或者被安裝在諸如PC板或多芯片模塊的單個支持件上,或者它們可以在不同的支持件上,并且通過鏡子、棱鏡、全息元件等將它們的光投射組合到投射透鏡的場中。在所述附圖中的平行細垂直線描述由獨立的SLM印刷的條紋。在圖54A中,投影被例如半透明鏡子或其它分光鏡或光束組合器光縫合在一起,以便它們建立在圖像之間具有小重疊的連續(xù)區(qū)域。如上所述的重疊區(qū)的使用將在SLM圖像之間的接縫結(jié)合在一起。在圖54B中,在兩個方向中分離圖像。這種配置適合于將所有SLM安裝到單個支持件上的實施例,因為在SLM之間的空間提供了用于驅(qū)動電子學器件和互連器件的空間。在圖54B的配置中,SLM在沿著帶的不同位置,并且考慮到偏移而緩沖或產(chǎn)生數(shù)據(jù)。在圖54C中,SLM是印刷部分重疊帶,因此在一個物理遍次中建立兩個偏移遍次。在附圖54A-C中的配置被以四個SLM的寬度的帶偏移(即在寫入路徑之間的側(cè)向運動)印刷,并且區(qū)域被印刷一次。在圖54C中,所述偏移僅僅是一個SLM寬度,但是區(qū)域被印刷兩次。
使用幾個SLM的復雜性是精確的對齊以降低小圖形誤差和不可見的邊界。圖55示出了與由該級定義的理想幾何網(wǎng)格5501相關聯(lián)的兩個SLM 5503和5504的圖像。所述圖示出了在SLM的像素和理想網(wǎng)格之間的放大對準誤差。與理想網(wǎng)格相關聯(lián)地提供要打印的圖形的輸入數(shù)據(jù)5502。要由頂部SLM5503打印的圖形元素5502的部分相對于SLM的本地坐標系統(tǒng)失準。考慮到這個失準而光柵化圖形。對于一個或多個SLM,一組失準參數(shù)——在這個情況下為一個旋轉(zhuǎn)5507和兩個轉(zhuǎn)換5505和5506——在印刷之前作為要應用到校正變換2665中的校正因子2635存儲。
無法使用一個旋轉(zhuǎn)和兩個轉(zhuǎn)換的簡單方式來說明SLM圖像5504,因為它是失真的。在一個替代實施例中,通過每個SLM的失真和失準的圖來實現(xiàn)在失準的表示中的較高精度。這對于圖54A-C中的配置具有大價值,因為光場越大就越難建立無失真投影系統(tǒng)。
每個SLM圖形的失準和/或失真的特征在于向在級上的參考點上投影部分圖像和測量相對于參考點的位置。這通過自動校準程序來進行,所述自動校準程序測量SLM失準和/或失真,并且建立SLM失準數(shù)據(jù)組。
可以以三種不同的方式來按照SLM失準數(shù)據(jù)組進行數(shù)據(jù)變換。首先,可以在分割期間向數(shù)據(jù)應用校正。當數(shù)據(jù)被切割到呈現(xiàn)窗口時,渦系(vortex)的坐標值被校正失準,或當適用時被校正失真??梢赃M行變換的第二位置在光柵化步驟中,其中在建立位圖期間或就在建立位圖之前可以修改元素的坐標。第三種可能是最好在應用照明函數(shù)之前使用轉(zhuǎn)換核心來卷積位圖。參見圖26,2635。下面是在x方向中的小位移dx的轉(zhuǎn)換核心。
00001-dx dx000對于小位移、一個像素的分割,圖像質(zhì)量的損失是可以忽略的。而且,卷積核心卷積只具有兩個非0系數(shù),并且可以容易地以硬件被實現(xiàn)。對于其它轉(zhuǎn)換方向,核心也是簡單的,并且將圖像轉(zhuǎn)換為在任何方向中的一個像素的一般硬件實現(xiàn)方式是簡單和快速的。同一校正方法也中可以包括其它效果,諸如用于級位置誤差和圖像失真的校正。在圖26的方框2665進行對于位圖的校正,其可能包括透鏡失真、多SLM對齊誤差、級位置誤差,并且在方框2635中存儲校正因子或參數(shù)。在多個SLM的情況下,可能在方框2635中存在幾組參數(shù),并且方框2635包括對于失真控制的校正圖。這些校正可以被應用到單一SLM;它們不限于多SLM配置。
使用幾個SLM的另一個方面是向數(shù)據(jù)路徑增加另一級并行性的機會。在55A中的SLM可以被分割和光柵化為連續(xù)區(qū)域,但是每個SLM也可以獨立于其它SLM地分割和/或光柵化。其中,每個SLM具有其本身的完整數(shù)據(jù)路徑,并且在數(shù)據(jù)路徑之間的最小通信可以保證它們同步。使用一種廣泛并行計算方案,即使輸入數(shù)據(jù)信道分離,系統(tǒng)也變得可以真正擴展到很高容量。使用分割、光柵化和SLM的完整寫入通道可以被組合以建立可能需要的任何吞吐量。SLM可以被集成到光投射系統(tǒng)中,并且保持電子自主。它們的組合能力與SLM的數(shù)量成比例。
有益硬件配置概覽圖29-42是描述可以用于實現(xiàn)本發(fā)明的方面的、各種詳細級別的方框圖。圖30是分割硬件3001A-E、控制邏輯單元3010、呈現(xiàn)模塊3011A-E、調(diào)度和控制邏輯單元3020、緩沖器3030A-B、數(shù)模轉(zhuǎn)換器(DAC)和控制邏輯單元3040和微鏡陣列的高層框圖。分割可以Mercury處理器集群或任何其它適合的幾何圖形分割引擎來支持。所述集群可以是每個呈現(xiàn)模塊一個分割處理器,如圖所示?;蛘?,分割可以是產(chǎn)生數(shù)據(jù)文件的離線處理。所謂的FRAC-S格式可以用于將數(shù)據(jù)從分割處理傳送給呈現(xiàn)處理。被分割的數(shù)據(jù)的有益特征包括所有被分割的幾何圖形可以小于一個矩形,所述矩形能夠完全適配到在保護區(qū)中的任何位置;所有的分割幾何圖形可以小于一個矩形,所述矩形能夠完全適配到在呈現(xiàn)窗口中的任何位置;所有的分割幾何圖形可以小于一個矩形,其邊具有以像素測量的最大尺寸,諸如255或253個像素或者511或509個像素;所有的被分割幾何圖形必須至少1/2像素高和1/2像素寬。這些特征可以依賴于在特定實施例中使用的本發(fā)明的方面的組合而被修改。
SDU執(zhí)行一個處理,所述處理從邏輯角度來看是光柵域重新分割,用于將在分割/光柵域中的窗口劃分轉(zhuǎn)換為匹配SLM分區(qū)的窗口劃分。從物理的角度來看,它也執(zhí)行集中處理,但是從調(diào)制的角度來看,實際的集中不發(fā)生直到在SLM中。理論上,像素傳送和數(shù)模轉(zhuǎn)換可以發(fā)生在完全獨立的器件中,所述器件不連接直到在SLM處,但是由于像素處理和調(diào)制器的不同定標屬性,并且由于信號完整性和其它原因,數(shù)據(jù)被物理地集中在SDU中。
在第一實施例中,緩沖是有限的。圖29描述的配置可變地輪詢線輸入,使用在呈現(xiàn)模塊和SDU之間的一個或多個緩沖器,或者可以被適配來利用在SDU和DAC之間的一個或多個緩沖器。呈現(xiàn)模塊2911A-E連接到SRM2921A-E。SRM是SDU接收器模塊,它向SDU提供接收來自RM的數(shù)據(jù)的接口。SLM鏈路接口(SLI)將SRM連接到SDU 2940。這個接口可能受到較弱信號完整性的影響。在圖29中的配置上的逐個線的變化中,不使用緩沖器2931,要求復雜協(xié)議需要用于線的確認/否認和發(fā)送-重發(fā)。SRM-SDU CABS接口處理時鐘域斜線與“等待直到可以獲得所有線,然后進行”協(xié)議的同步。將在RM上的幀處理同步具有等待時間和閃光速率不確定性的顯著損失。SDU的輸出是到連接到SLM的DAC對。
在第二實施例中,環(huán)形緩沖器連接到每個SRM 2931。環(huán)形緩沖器總計帶寬和大小與SRM的數(shù)量成線性比例。SRM的數(shù)量大致上與像素的吞吐量成比例。環(huán)形緩沖器消除了在SRM-SDU之間的線同步和在SRM-SDU之間的幀同步的需要。如果所述緩沖器足夠大,則它也將支持在曝光開始之前的完整帶的光柵化?;赟DRAM的環(huán)形緩沖器已經(jīng)在SRM的RT-fract側(cè)上存在,并且可以與其測試工具和接口一起復用所述設計。帶寬和大小不是重要的,主要目的是將同步方法從逐個線改變?yōu)橹饌€帶。SLM鏈路接口在逐個帶的基礎上被同步。SRM-SDU CABS接口不必處理除了基于逐個帶之外的‘可用-進行’事件。這大大地提高了SLM鏈路接口和SRM-SDU接口的強壯性,并且去除了對于功能齊備的發(fā)送-再發(fā)SRM的設計和集成任務。對基礎結(jié)構(gòu)的可靠性要求被放松,其僅僅被回掃強度(retrace intensity)引導。在帶級上處理所有例外使得SRM-SDU接口變?yōu)橥耆降南到y(tǒng)?;蛘?,緩沖器2931可以被布置在SDU和DAC之間。
在圖30中描述了第三實施例。一個或多個SDU緩沖器3030A-B和相關的控制邏輯單元使得所使用的呈現(xiàn)3011A-E單元的數(shù)量獨立于在微鏡陣列3050中的段3052A-D的數(shù)量。有益的是,產(chǎn)生光柵化圖像的處理器的數(shù)量獨立于微鏡段的數(shù)量。對于對具有特別復雜的幾何圖形的應用,可以提高分割和呈現(xiàn)單元的數(shù)量。當所述多個單元并行動作時,所涉及的單元越多,則可以獲得越大的處理能力。對于對特別簡單的幾何圖形的應用,分割和呈現(xiàn)單元的數(shù)量可以降低。調(diào)度和控制邏輯單元3020允許從呈現(xiàn)模塊向緩沖器異步提供數(shù)據(jù)。
緩沖器本身被不同地分段以輸入和讀出。輸入調(diào)制器窗口3031A-E對應于呈現(xiàn)單元。調(diào)制器窗口在這個圖中被描述為相同大小,但是它們可以在大小上不同,并且可以在行和列兩者之上劃分存儲器陣列。在緩沖器3030A-B中的存儲器位置對應于在微鏡陣列中的微鏡或用于掃描系統(tǒng)的光柵化圖像圖。所述存儲器可以是雙端口的,以便可以裝入來自呈現(xiàn)處理器的結(jié)果而不破壞讀出以裝入DAC。在微鏡閃光系統(tǒng)中,在每次閃光之前,鏡子陣列被裝入數(shù)據(jù)。在所圖解的實施例中,128個DAC 3040和控制邏輯單元用于向微鏡陣列裝入數(shù)據(jù)。在微鏡陣列中或微鏡陣列之外的復用電路可以從DAC向許多微鏡分布模擬信號。8mhz可以為大約8,192微鏡執(zhí)行1khz頻率的轉(zhuǎn)換。這128個DAC每個都可以處理32行256個微鏡。通過8比特DAC來產(chǎn)生模擬電壓以建立靜電電荷,所述靜電電荷偏轉(zhuǎn)獨立的微鏡。在一些實施例中,更大的精度,諸如在模擬電壓中的10或14比特可能是有益的。諸如下述微鏡陣列可以被適當?shù)赜米魍队捌骷﨧icronic Laser System公司共同擁有的申請,發(fā)明人Torbjorn Sandstrom,“用于圖形產(chǎn)生器的改善的調(diào)制器設計”,WO99/45441(優(yōu)先權(quán)日為1998年3月2日);或上述引用的同時提交的臨時申請?;蛘?,可以使用基于微鏡或調(diào)制的輻射的掃描器件。對于基于微鏡的掃描器件,可以使用足夠大組的DAC來在一個遍次中向所有微鏡傳送數(shù)據(jù)。對于調(diào)制輻射,每個輻射光束具有一個調(diào)制器是慣例。
可以使用一個、兩個或多個緩沖器單元3030A-B。從呈現(xiàn)模塊異步接收數(shù)據(jù)和呈現(xiàn)模塊的處理在時間上的變化最好被多個緩沖器單元支持。對于一些光刻設備,由于工件休止所在的移動級的慣性,微鏡陣列的閃光不能在帶的掃描期間被延遲。一些延遲可以在帶之間被容納。因此,DAC的操作可以僅僅被延遲到這樣的程度段裝入的順序可以基于從呈現(xiàn)模塊3011向調(diào)制器窗口3031寫入數(shù)據(jù)的完成。如果任何呈現(xiàn)模塊3011花費大于一個閃光周期來在緩沖器中裝入其調(diào)制器窗口,則將引起數(shù)據(jù)錯誤并且可能浪費工件。使用兩個或多個緩沖器3030允許在特定調(diào)制器窗口中的例外呈現(xiàn)周期的額外范圍。
圖31是呈現(xiàn)模塊3011的方框圖。在一個實現(xiàn)方式中,使用5個現(xiàn)場可編程門陣列(FPGA)來實現(xiàn)邏輯3100、3110、3120A-B和3140。適合于邏輯實現(xiàn)的當前一代FPGA是Xilinx Virtex XCV1600E-6BG560C FPGA。已經(jīng)被聲明的、但是尚在等待提供的Xilinx-II XC2V產(chǎn)品系列預期提供附加的功能,包括板上的SRAM,它可以允許向較少的模塊中并入功能塊?;蛘?,可以使用RISC處理器、ASIC處理器或定制或半定制的處理器。FPGA的選擇是方便的并降低了產(chǎn)品的研制時間和預先成本。多種其它處理器可以一樣地用于實現(xiàn)本發(fā)明的方面。
RMPL-13300的目的是提供到PCI、CABS和其它總線結(jié)構(gòu)的接口。接口3103可用來現(xiàn)場配置FPGA??梢灾匦屡渲没蛑匦卵b入所有或部分的FPGA。例如,可以現(xiàn)場重新配置和重新裝入用于子像素加權(quán)的加權(quán)系數(shù)。這些接口允許測量板的工作溫度。它們還支持對板所使用的時鐘頻率的編程。
幾何圖形預處理器概覽RMPL-2 3110的目的是提供在幾何圖形輸入光纖信道和呈現(xiàn)處理器之間的接口。主要任務是接收和緩沖復雜幾何圖形數(shù)據(jù),將數(shù)據(jù)變平為原始幾何圖形,并且在請求下向呈現(xiàn)處理器輸出數(shù)據(jù)。RMPL 2因此包括用于板上256M字節(jié)SDRAM的接口;用于板上2*8M比特ZBT RAM的接口;管理針對外部器件的CABS協(xié)議的鏈式訪問總線結(jié)構(gòu)(CABS)單元;所謂的幾何圖形輸入控制器(GIC)3113的接收單元,它從幾何圖形線接口(GLI)接收幾何圖形數(shù)據(jù),并且在SDRAM中存儲數(shù)據(jù);預處理器(PP)3111,它將幾何圖形數(shù)據(jù)變平并且執(zhí)行坐標轉(zhuǎn)換;在CABS、GIC、PP和SDRAM之間的幾何圖形緩沖器接口(GBI)3112,它還實現(xiàn)SDRAM控制器。RMPL-2 3110的CABS塊作為在內(nèi)部塊、零總線轉(zhuǎn)變(ZBT)SRAM 3115和其它FPGA或更一般而言其它處理器或功能部件之間的接口。CABS是用于器件內(nèi)通信的一般總線結(jié)構(gòu)。它基于器件的鏈狀結(jié)構(gòu),并且消除了一般多節(jié)點總線結(jié)構(gòu)的板級的復雜性。在CABS上的采樣可以是25-50MHz。它使用板級系統(tǒng)時鐘來計時。CABS塊可以從存儲器的引導區(qū)域連接到用于器件的默認配置的模式控制引腳?;蛘撸梢允褂闷渌目偩€結(jié)構(gòu)和協(xié)議來實現(xiàn)本發(fā)明的方面。
GIC塊是在GLI鏈路和GBI之間的接口。它包括FIFO緩沖器,用于將所接收的32比特的雙字(DS)編組為16字的分段。一次發(fā)送一個分段到GBI以存儲在SDRAM中。在GLI上的字可以以任何大小的分段到達。GBI塊作為在GIC和PP之間的接口。它包括邏輯單元,用于從GIC接收數(shù)據(jù)分段,將其存儲在SDRAM中,并且在請求下從SDRAM讀取數(shù)據(jù)和向PP發(fā)送它。GBI也可以處理來自CABS的讀取和寫入請求。在CABS-GBI接口,數(shù)據(jù)一次以n*16雙字的分段長度被寫入,其中n是1-64,除了用于數(shù)據(jù)傳送的使能信號之外,不需要實際傳送長度的指示??梢砸淮我?6個雙字的分段來讀取數(shù)據(jù)。
幾何圖形預處理器(PP)塊作為在GBI和FPGA 3120A-B之間的接口。預處理器將輸入的分割數(shù)據(jù)流變平,并且輸出具有相對于當前的呈現(xiàn)窗口的坐標偏移的簡單幾何圖形。分割的數(shù)據(jù)被從GLI信道接收并且被存儲在幾何圖形緩沖存儲器(GBM)3116中。可以通過預處理器來獲得原始數(shù)據(jù)模式以讀出存儲在GBM中的所有內(nèi)容來用于測試目的。在圖40中給出了關于預處理器核心的進一步細節(jié)。
存儲器控制器包括ZBT-SRAM控制器和SDRAM頂部模塊。ZBT-SRAM控制器與諸如符合標準PC 100或PC 133的256MB存儲器的SDRAM連接。ZBT SRAM器件是通過利用每個總線周期來提供最大系統(tǒng)吞吐量的同步SRAM。如其名稱所示,不存在當在讀取和寫入周期之間切換時需要的轉(zhuǎn)變周期。因此,不存在浪費的周期,并且系統(tǒng)實際提供所聲明的帶寬。呈現(xiàn)模塊ZBT SRAMS可以獲得休眠模式,當啟動該模式時將存儲器置于低功率待機模式中,以保留數(shù)據(jù)和忽略輸入。這在重新配置FPGA期間可以是有益的。為了降低等待時間,ZBD-SRAM控制器可以通過雙頻時鐘來計時。SDRAM頂部模塊包括邏輯單元,用于產(chǎn)生用于執(zhí)行存儲器寫入、讀取、刷新和內(nèi)置的自行測試所需要的信號。在FPGA中使用的各種ZBT-SRAM控制器,可以使用單個和雙32和64比特的數(shù)據(jù)路徑。例如,在預處理器3111和工作存儲器3115之間的接口可以是一對獨立的32比特數(shù)據(jù)路徑。在呈現(xiàn)處理器3121和幀緩沖器之間的接口可以是一對64比特的數(shù)據(jù)路徑。
呈現(xiàn)處理器概覽在圖31中,指示了一對呈現(xiàn)處理器3120A-B。這些呈現(xiàn)處理器的每個可以被實現(xiàn)在FPGA中,或者可以以RISC或ASIC處理器或者定制或半定制的處理器來被實現(xiàn)。可以使用兩個處理器,以便一個從預處理器3111接收數(shù)據(jù),而另一個向調(diào)整處理器3141寫入數(shù)據(jù)。從預處理器3111到呈現(xiàn)處理器3120A-B的數(shù)據(jù)路徑可以被復用器或類似的器件控制,或者呈現(xiàn)處理器可以忽略意欲到達互補處理器的信號的組??梢允褂靡粋€附加的呈現(xiàn)處理器。呈現(xiàn)處理器3120A被圖解為具有到一對幀緩沖器3122的數(shù)據(jù)路徑。這兩個存儲器被圖解為具有分立的數(shù)據(jù)路徑,即用于存儲器訪問的獨立信道。一個用于像素圖存儲器,另一個用于灰度值超級采樣中間存儲。呈現(xiàn)處理器3121也被圖解為具有到附加幀緩沖器3123的另一個獨立數(shù)據(jù)路徑或信道,所述附加幀緩沖器3123可以具有微像素幀緩沖器。一個或多個幀緩沖器3123可以用于微像素。在每個像素64個微像素的一種實現(xiàn)方式中,從處理器到幀緩沖器3123的數(shù)據(jù)路徑可以是64比特寬。可以使用一對幀緩沖器3123,以便可以在對另一個存儲器執(zhí)行讀取、寫入或讀取/修改/寫入的同時在一個幀緩沖器中執(zhí)行存儲器清除功能。在這個附圖中未圖解灰度值總計緩沖器。雖然這些存儲器被圖解為在FPGA外部,它們也可以被內(nèi)部并入到適當?shù)腇PGA、定制或半定制處理器中。
圖32提供了關于可以用于實現(xiàn)本發(fā)明的方面的呈現(xiàn)處理器的功能塊的附加細節(jié)。呈現(xiàn)處理器3120包括幾個功能塊。CABS接口3211對于通過總線結(jié)構(gòu)連接的系統(tǒng)的部件是共同的。分割幾何圖形轉(zhuǎn)換器3212通過傳送可呈現(xiàn)定點幾何圖形的數(shù)據(jù)路徑而連接到CABS接口。轉(zhuǎn)換器使用50MHz的時鐘頻率來以每秒50百萬的速度來提供單邊角坐標??梢允褂酶旎蚋臅r鐘速度來獲得更快或更慢的吞吐量。轉(zhuǎn)換器3212的輸出是以角坐標幾何圖形格式。可以使用一對數(shù)據(jù)路徑來向一對微像素高速緩存產(chǎn)生器(MPCG)3132L-R提供數(shù)據(jù)。使用與多邊形幾何圖形相結(jié)合的一對MPCG使得可以沿著多邊形的右和左邊來劃分處理??梢愿鶕?jù)諸如所使用的吞吐量和幾何圖形的設計特征來使用更少或更多的MPCG。當多邊形幾何圖形是梯形時,可以向不同的處理器分配多邊形的頂部和平行的底部,例如在它們開始處理梯形的相對的、不平行的邊之前。在圖33中描述了關于轉(zhuǎn)換器的附加細節(jié)。
圖32的MPCG 3213使用50MHz的時鐘頻率以每秒50百萬MiPxCaW的速度提供微像素高速緩存組??梢允褂酶旎蚋臅r鐘速度來獲得更快或更慢的吞吐量。MPCG對向微像素高速緩存緩沖器(MPCB)3214輸出高速緩存組。在圖34中描述了關于MPCG的附加細節(jié)。
微像素高速緩存緩沖器3214將包括單邊信息、即梯形的左、右、上和下的、被呈現(xiàn)的微像素高速緩存組轉(zhuǎn)換為包括來自用于幾何圖形的一個到四個單邊高速緩存的信息的、微像素高速緩存組。當幾何圖形包括被包含的上或下邊線段時,上和下邊的被包含段可以在計算角前后被通過。地址組也如上所述產(chǎn)生。地址組隱含地傳送將被產(chǎn)生的微像素高速緩存的順序??梢允褂梅至⒌臄?shù)據(jù)路徑來用于傳送高速緩存組和地址組。這些高速緩存集體定義被呈現(xiàn)的多邊形的邊。在圖35中描述了關于微像素高速緩存緩沖器3214的附加細節(jié)。
幀緩沖器接口(FBIF)3215可以工作在三個階段呈現(xiàn)、讀出和清除。在呈現(xiàn)階段中,F(xiàn)BIF從MPCB獲取幾何圖形,并且將它們存儲在一個或多個緩沖存儲器中。在第一實施例中,唯一的存儲器可以是微像素幀緩沖器(MPFB)3222??梢允褂枚鄠€MPFB來允許在在另一個MPFB上工作的同時清除一個MPFB。這些存儲器可以雙端口的,并且可以具有用于存儲器訪問的獨立信道。在第二實施例中,可以既有微像素幀緩沖器也有像素圖幀緩沖器(PMFB)3223??梢杂卸鄠€像素圖存儲器,它們最好帶有獨立的用于存儲器訪問的信道以便增強性能。在第三實施例中,可以有增加的灰度值幀緩沖器(GVFB)3224來總計在微像素(MPFB)中的值。再次,可以使用多個灰度值存儲器和獨立的信道。在一個混合實施例中,PMFB可以具有足夠的值來作為一個GVFB。幀緩沖存儲器存儲完整呈現(xiàn)窗口,它可以以x、y坐標來定位。這些存儲器以不同的分辨率來存儲被呈現(xiàn)的圖像。對于所有像素來說,像素圖PMFB存儲器以兩個比特來存儲白色、黑色、灰色信息。微像素MPFB存儲器存儲對應于像素的獨立微像素。例如,8×8、16×16、32×32或64×64微像素的陣列可以對應于一個像素。這些微像素可以具有黑色或白色值或者替代為灰度級值。組合微像素高速緩存的方式依賴于微像素是具有黑/白或灰色值。使用MPFB來利用灰色值GVFB存儲器,以便相加微像素陣列的賦值。微像素陣列可以在被讀出或當它們被寫入并且結(jié)果被存儲在GVFB時被賦值為灰色值。
在讀出階段中,對于每個像素報告灰色值。在第一實施例中,僅僅使用MPFB存儲器,這涉及對所有的微像素陣列賦值。在第二實施例中,使用MPFB和PMFB存儲器,一些像素位置在像素圖中被記錄為黑色或白色。系統(tǒng)可以將那些位置賦值為整數(shù)值,諸如賦值為0或64或者賦值為0或256,而不用訪問MPFB存儲器,有可能降低對MPFB存儲器訪問帶寬的需要。在第三實施例中,每次寫入PMFB時,向GVFB存儲器賦值。可選地,每次更新PMFB時,向GVFB存儲器賦值。在一種方式中,PMFB計算以確定是否賦值一個白色或黑色值或利用GVFB值。在另一種方式中,GVFB值被直接使用。來自FBIF 3220的灰度值被報告到CABS接口3231來作為光柵圖像。
在清除階段中,一個或多個存儲器被設置為黑色/白色,以便可以在縮小的背景中呈現(xiàn)白色/黑色幾何圖形。在第一實施例中,MPFB存儲器被清除。在第二和第三實施例中,PMFB被清除。對于一些類型的存儲器,清除較小的PMFB比MPFB或GVFB消耗更少的時間,因為存儲器的單個字可以表示低分辨率的多個像素。在第二和第三實施例中,可以選用采取清除MPFB或GVFB存儲器的更耗時的步驟,因為像素圖存儲器控制是否使用其他的存儲器來產(chǎn)生灰色值。即,如果像素圖存儲器指示一個像素的值是黑色或白色的,則在其他存儲器中的任何灰色值可以被忽略,因為其他存儲器可能在先前的操作之后還沒有被清除。對于支持在最小時鐘周期中批量消除存儲段的存儲器配置,用于清除MPFB或GVFB的開銷不會使得處理變慢。
調(diào)整處理器概覽調(diào)整處理器3140經(jīng)由CABS接口3231接收數(shù)據(jù)或從呈現(xiàn)處理器3120A-B接收另一種適當?shù)目偩€結(jié)構(gòu)數(shù)據(jù)。它可以以其CABS接口的頻率的兩倍來被定時。調(diào)整處理器包括用于邊位移、照明補償和鏡子補償?shù)膲K。它還可以包括用于校正在光學系統(tǒng)中的較小缺陷的邏輯單元。邊位移如上所述是將曝光輻射的投影圖像調(diào)整以調(diào)整線寬而不是調(diào)整曝光的抗蝕劑的處理的方法。照明補償也如上所述是處理在單個或多個寫入遍次中的重疊曝光和在期望的曝光輻射和實際的曝光輻射之間的能量差異的方法。鏡子補償將期望的照明值轉(zhuǎn)換為用于獨立鏡子的驅(qū)動值。它也可以用于補償當鏡子變得老化時或在使用鏡子的系統(tǒng)的休止周期之間變化的鏡子響應。在使用微鏡陣列和曝光輻射的閃光的系統(tǒng)中,鏡子補償可以將照明值轉(zhuǎn)換為用于對獨立微鏡充電的DAC的輸入。
調(diào)整處理器3141經(jīng)由數(shù)據(jù)路徑來訪問系數(shù)存儲器3143。這個存儲器保存用于鏡子補償?shù)南禂?shù),并且也可以保存用于在照明補償中使用的區(qū)域圖的系數(shù)。ZBT-SRAM存儲器可以被用作外部存儲器?;蛘?,可以使用內(nèi)部存儲器。調(diào)整處理器還訪問幀緩沖器存儲器3142??梢允褂靡粋€或多個ZBT-SRAM存儲器來作為用于邊位移的工作存儲器,并且保存等待在一個或多個背板通道3144-45上輸出的最后值。
像素輸出控制器(POC)提供格式轉(zhuǎn)換以將數(shù)據(jù)適配到物理層。
幾何圖形預處理器在幾何圖形預處理器以所謂的FRAC-S格式來接收幾何圖形說明。下面是所示的FRAC-S流的BNF語法。FRAC-S流可以被存儲在包括各種處理相關首標參數(shù)的、所謂的FRAC文件中。這些參數(shù)一旦被裝上就可以通過控制寄存器被幾何圖形預處理器獲得。
FRAC_S_FILE::= SUBSTRIP[SUBSTRIP]*SUBSTRIP::=<SUBSTRIP_START>
SUBSTRIP_BODY<SUBSTRIP_END>
SUBSTRIP_BODY::= RENDERING_WINDOW[RENDERING_WINDOW]*RENDERING_WINDOW::=<RENDERING_WINDOW_START> *<RENDERING_WINDOW_END>
REND_WIN_BODY::= GEOMETRY[GEOMETRY]*[LAYER]*
LAYER::=<BEGIN_LAYER> *<END>
GEOMETRY::= <RECTANGLE>
|<SMALL_RECTANGLE>
|<REPEAT_RECTANGLE_X>
|<REPEAT_RECTANGLE_XY>
|<TRAPEZOID>
|<REPEAT_TRAPEZOID_X>
|<REPEAT_TRAPEZOID_XY>
|<BEGIN_X_REPEAT>[GEOMETRY]*<END>
|<BEGIN_XY_REPEAT>[GEOMETRY]*<END>
|<BEGIN_Y_REPEAT>[GEOMETRY]*<END>
|<BEGIN_INSERT>[GEOMETRY]*<END>
符號[x]*表示“x的0次或更多的出現(xiàn)”。以這種格式的輸入流被轉(zhuǎn)換為在這個格式的子集中的輸出流,其中諸如分層和重復的說明的復雜幾何圖形說明被簡化。在輸出流中的記錄類型是矩形、小矩形、梯形、開始層和結(jié)束層。在一種實現(xiàn)方式中,重復級的數(shù)量是5。一次預處理一個呈現(xiàn)窗口。可以以大于子像素或微像素的精度來處理數(shù)據(jù)。所謂的軟像素是微像素的一半。
實時幾何圖形預處理器的處理速率部分依賴于幾何圖形的復雜程度。對于具有每秒1,000的閃光速率和2048×512像素(微鏡)的陣列的閃光曝光輻射系統(tǒng),整個系統(tǒng)每秒處理104.8*106個像素。對于半導體的金屬層圖形,這對應于每秒7,000,000個幾何圖形的平均幾何圖形速率。使用每個幾何圖形四個記錄的平均值,所需要的記錄輸出速率將是每秒28,000,000個記錄。
所述幾何圖形預處理器連接到三個其他模塊,即它從其讀出FRAC-S數(shù)據(jù)的SDRAM、用于暫時存儲的ZBT RAM和處理數(shù)據(jù)尋址和幀化的CABS單元。
PP的整體操作如下1)在RESET,PP等待STRIP_SYCN事件。
2)在STRIP_SYNC,前兩個呈現(xiàn)窗口被讀入,被變換為對應的FRAC-L序列,并且被發(fā)送到兩個呈現(xiàn)處理器。所述預處理器然后等待RP_DONE事件。
3)在RP_DONE,下一個呈現(xiàn)窗口被讀入、處理和發(fā)送到第一呈現(xiàn)處理器。所述預處理器然后等待新的RP_DONE事件。
4)在RP_DONE,下一個呈現(xiàn)窗口被讀入、處理和發(fā)送到第二呈現(xiàn)處理器。所述預處理器然后等待新的RP_DONE事件,并且進行到3)。
注意,從接收到STRIP_SYNC事件時直到遇到一個SUBSTRIP_END記錄,F(xiàn)RAC-S數(shù)據(jù)被預先裝到本地輸入高速緩存中。這有效地最小化了從SDRAM訪問帶來的等待時間。以雙字的連續(xù)分段執(zhí)行FRAC-L輸出。因此,預處理器向內(nèi)部緩沖器中存儲輸出記錄,直到已經(jīng)存儲至少10個完整的FRAC_L塊、或已經(jīng)遇到一個RENDERING_WINDOW結(jié)束塊。這種10個塊的規(guī)則意味著到RP的平均分段長度將是大約32個雙字。在每個呈現(xiàn)窗口的尾部,發(fā)送一個結(jié)尾的END記錄。預處理器記錄LAYER記錄參數(shù)如下層號應當以連續(xù)的順序,開始于用于第一LAYER記錄的1、用于下一個的2,等等。如果這種排序失敗,則發(fā)出一個錯誤。并且,如果層操作=IGNORE,則丟棄整個層。
下面示出了各種FRAC記錄及其可以在一個呈現(xiàn)窗口內(nèi)出現(xiàn)的對應塊結(jié)構(gòu)。對于分層結(jié)構(gòu),{G1..Gn}表示在分層內(nèi)的解析幾何圖形。即,塊總是封閉最外的重復級,并且可以包括任何數(shù)量的下伏級。
FRAC序列 塊結(jié)構(gòu)<RECTANGLE> RECT(x,y,dx,dy)<SMALL_RECTANGLE>SMALL_RECT(x,y,dx,dy)<TRAPEZOID> TRAP(x,y,dx,dy,dx1,dx2)<REPEAT_RECTANGLE_X> REPEAT_X(xrep,xdist,RECT(x,y,dx,dy));<REPEAT_RECTANGLE_XY>REPEAT_XY(xrep,xdist,yrep,ydist,
RECT(x,y,dx,dy))<REPEAT_TRAPEZOID_X>REPEAT_X(xrep,xdist,TRAP(x,y,dx,dy,dx1,dx2))<REPEAT_TRAPEZOID_XY> REPEAT_XY(xrep,xdist,yrep,ydist,TRAP(x,y,dx,dy,dx1,dx2))<BEGIN_LAYER> LAYER(layer_no,oper)<END> END<BEGIN_X_REPEAT> *<END> REPEAT_X(xrep,xdist,{G1..Gn})<BEGIN_Y_REPEAT> *<END> REPEAT_Y(yrep,ydist,{G1..Gn})<BEGIN_XY_REPEAT> *<END> REPEAT_XY(xrep,xdist,yrep,ydist,{G1..Gn})<BEGIN_INSERT> *<END> INSERT({xoffs1..xoffsm},{G1..Gn})<SUBSTRIP_START>-<SUBSTRIP_END> -<RENDERING_WIN_START> -<RENDERING_WINDOW_END> REND_WIN_END(CPC)對于每個呈現(xiàn)窗口,將可交換地使用兩個存儲器區(qū)域。到達的幾何圖形塊在被穿過的同時被暫時地逐個存儲在當前存儲區(qū)域中。如果在隨后的呈現(xiàn)窗口(RW)中不需要一個塊,則在完全穿過之后將其從存儲器去除。進一步需要的塊在存儲器中排隊以用于隨后的RW。在示例中,來自第一RW的一個REPEAT_X_4103和REPEAT_Y_4105塊保持被保存4113、4115。對于下一個RW,來自前一個RW的REPEAT_X塊4113與來自輸入的FRAC-S流的一個INSERT塊4142、4122被保存4131。
穿過一個塊依賴于由塊表示的幾何圖形的類型而不同。表示簡單幾何圖形的塊可以被直接轉(zhuǎn)換為FRAC-L記錄,而重復的幾何圖形塊需要被遞歸地穿過。穿過程序如下1)如果塊類型是{RECT,SMALL_RECT,TRAP,LAYER,END,REND_WIN_END},則將所述塊轉(zhuǎn)換為記錄序列。
2)如果塊類型是{REPEAT_X,REPEAT_Y,REPEAT_X_Y,INSERT},則將開始地址和重復參數(shù)推到堆棧上;在上面的1開始遞歸地穿過子塊;當進行完所有的重復時,將堆棧上托到前一個級。
圖40是預處理器核心的方框圖。FRAC-S輸入緩沖器4101避免或最小化由于在流程控制機制中的傳播時間而導致的溢出。通過將DRQ信號設置為高來請求新的FRAC-S記錄。對于其中DAV信號被設置為高的每個周期,一個新的記錄被寫入緩沖器中。只要CTS輸入信號為高,則記錄被從緩沖器讀出并且被發(fā)送到解析器。將CTS設置為低就停止輸出流。所接收的每個呈現(xiàn)窗口與存儲在RENDERING_WINDOW_END記錄中的循環(huán)冗余檢驗(CRC)代碼相關聯(lián)。CPC控制塊4102重新計算這個校驗和,并且如果所述和與基準值不同則發(fā)出錯誤信號。在有錯誤信號的情況下,可以使用各種恢復方案。
解析器模塊4103從緩沖器讀取FRAC-S記錄,并且將記錄編組為幾何圖形塊。當將get_block信號設置為高時,解析器輸出將被存儲在存儲器中的一個整塊。重復的幾何圖形(即REPEAT_RECTANGLE和REPEAT_TRAPEZOID)被轉(zhuǎn)換為REPEAT塊以簡化進一步的處理。
如果解析器4103由于在FRAC-S流語法中的錯誤而不能產(chǎn)生塊,則斷言例外信號syntax_err,并且可以放棄在當前呈現(xiàn)窗口中的操作。語法誤差包括下列沒有<END>的<BEGIN_REPEAT>、<BEGIN_INSERT>或<BEGIN_LAYER>,或者沒有<BEGIN_REPEAT>、<BEGIN_INSERT>或<BEGIN_LAYER>的<END>;在REPEAT或INSERT塊中的<BEGIN_LAYER>;或者在層說明中的<BEGIN_LAYER>。
存儲器4104包括被組織為32比特字的兩個ZBT RAM 4105A-B,它們被如上所述使用。存儲器控制4106控制是否應當從存儲器或從解析器讀出新塊。它選擇要讀寫的存儲區(qū)域和地址,并且執(zhí)行讀/寫操作。為了降低存儲器讀取的等待時間,可以使用雙時鐘頻率來定時到ZBT SRAM模塊的接口。
穿過和產(chǎn)生模塊4107穿過在存儲器中的幾何圖形塊,并且產(chǎn)生原始的幾何圖形(形狀)。堆棧4108用于處理多個分層級。當進入一個新級(即REPEAT..END聲明)時,重復參數(shù)被推到堆棧上,并且堆棧指針被遞增。當完成了在當前級上的所有重復時,堆棧4108被上托到前一級。如果坐標加法器塊拒絕幾何圖形,則也上托堆棧,并且當前塊將被保留在存儲器中來用于下一個RW。堆棧處理器4108包括堆棧讀/寫機制和用于在重復循環(huán)中遞增坐標的邏輯單元。它控制是否存儲當前塊、跳回循環(huán)的開始處或進行下一個指令。坐標加法器4109將存儲在堆棧中的、累加的∑dx和∑dy增量加到到達的幾何圖形的當前x和y坐標。如果一個幾何圖形落到當前的呈現(xiàn)窗口坐標之外,則設置拒絕信號以指示應當上托這個重復級。
分割的幾何圖形轉(zhuǎn)換器圖33是分割的幾何圖形轉(zhuǎn)換器(FCON)的方框圖。分割的幾何圖形轉(zhuǎn)換器3212包括兩個主塊3321、3323和FIFO存儲器3322。FRAC-L記錄處理器塊FLRH 3321作為到CABS塊3211的接口。它的主要任務是從FRAC-L記錄檢索幾何圖形信息。FRAC記錄被從CABS接收為32比特的字。分析幾何圖形的類型信息并且被存儲在記錄中。幾何圖形到角轉(zhuǎn)換器GCCON 3323將幾何圖形的FRAC表示轉(zhuǎn)換為幾何圖形角表示。它也將數(shù)據(jù)劃分為左和右數(shù)據(jù)流。在FLRH 3321中包括的FIFO存儲器3322保證CABS數(shù)據(jù)傳送均勻地流動。這個FIFO存儲器可以包括多達255個FRAC-L字。FCON將使用控制信號來指示何時緩沖器幾乎滿或需要被重新填充。
在GCCON塊3323中,幾何圖形開始坐標和長度規(guī)格被轉(zhuǎn)換為幾何圖形角說明,并且被劃分為上、左和下、右坐標對。為了簡化下游處理塊的功能,對于每個新的幾何圖形,首先方便地發(fā)送上和下幾何圖形信息。因此,即使幾何圖形是三角形也存在頂部信息。如果幾何圖形邊坐標位于保護窗口的外部或在頂部或左邊界上,則將啟動FCON錯誤指示。
微像素高速緩存產(chǎn)生器圖34是圖解呈現(xiàn)212的一個實施例的方框圖,它是在圖2中的呈現(xiàn)引擎的部分。子像素陣列或網(wǎng)格有時被稱為微像素高速緩存。微像素高速緩存產(chǎn)生器包括四個塊啟動;呈現(xiàn);表查找;轉(zhuǎn)換。輸入3401可以是可呈現(xiàn)的定點幾何圖形,或更一般而言是要呈現(xiàn)的多邊形。啟動塊3402計算用于將Bresenham呈現(xiàn)算法應用到多邊形的開始參數(shù)。Bresenham算法的應用結(jié)合附圖8-11被說明。呈現(xiàn)塊3403執(zhí)行Bresenham算法。表查找塊3404包括查找表,用于將微像素高速緩存坐標轉(zhuǎn)換為子像素圖像。這個處理結(jié)合附圖12-14被說明。最后的塊轉(zhuǎn)換3405將用于子像素條值的值轉(zhuǎn)換為在子像素網(wǎng)格中的陰影子像素。在一些實例中,為在子像素網(wǎng)格中的子像素加陰影,需要在查找表中值的旋轉(zhuǎn)或反轉(zhuǎn)。如果必要的話,可以使用觸發(fā)器陣列在硬件中執(zhí)行從查找表的子像素條值的轉(zhuǎn)換和條的旋轉(zhuǎn),所述觸發(fā)器可以在水平與垂直兩個方向上尋址。來自微像素高速緩存產(chǎn)生器的輸出3406是微像素高速緩存組。
微像素高速緩存緩沖器微像素高速緩存緩沖器3214包括5個主要塊,如圖35所示。左(L)3512和右(R)3514FIFO存儲器從兩個MPCG 3213L-R接收MiPxCaW信息。對于每個新的幾何圖形接收的第一對MiPxCaW——它們包括上和下邊信息——被存儲在上(T)3511和下(B)3513FIFO中。四個MiPxCaW FIFO連接到組合的復用器和邏輯與功能3521,產(chǎn)生最后的被呈現(xiàn)MiPxCaW。存在一個微像素高速緩存組產(chǎn)生器MPCSG,它被劃分為三個塊3501、3502、3504,用于產(chǎn)生用于控制邏輯與功能3521的微像素高速緩存組和由幀緩沖器接口FBIF 3215使用的信息,所述幀緩沖器接口FBIF 3215描述在輸出上如何組織被呈現(xiàn)的MiPxCaW。
幀緩沖器接口圖36是幀緩沖器接口3220的一個實施例的方框圖。如圖所示,處理流從微像素高速緩存產(chǎn)生器3213流向微像素高速緩存緩沖器3214并且流到FBIF 3220上。FBIF的第一元素是保護區(qū)過濾器3641,它是上述的保護區(qū)的一種硬件實現(xiàn)方式。圖37圖解了這個過濾器的操作。考慮幾何圖形3763。它跨越在呈現(xiàn)窗口和保護區(qū)3762之間的邊界3761。在保護區(qū)內(nèi)的左和底邊的部分以陰影指示。保護區(qū)過濾器3641接收輸入數(shù)據(jù)組3751,并且產(chǎn)生輸出數(shù)據(jù)組3752。對于在網(wǎng)格的行6中的圖形3763的部分,數(shù)據(jù)3751包括在列2中的邊開端、在列3中的邊尾端和用于像素6,2和6,3的微像素高速緩存。過濾器檢測6,2和6,3在保護區(qū)中。它產(chǎn)生新的地址組和新的微像素高速緩存3752。行6邊線段的開端和尾端被設置為6,4,并且單個、白色微像素高速緩存MiPxCaW_X4替換微像素高速緩存的輸入對。接口3643、3642控制對于相應的存儲器3223、3222的訪問。讀出邏輯單元3644從相應的存儲器向CABS 3231接口傳送值。所述邏輯單元依賴于存儲器的實施例,如上所述。在圖7中描述了一種讀出邏輯單元。在圖38-39中示出了一個實施例的進一步的細節(jié)。
圖38和39是使用MPCB存儲器3222而不是PMCB存儲器3223的FBIF3220的第一實施例的方框圖。為吞吐量而提供兩個子單元3803A-B,它們以如下所述的交錯方式操作以有效地利用帶寬??梢愿鶕?jù)子單元的性能和期望的吞吐量而使用更少或更多的子單元。如上所述,第二代FBIF具有三個階段1)呈現(xiàn)階段;2)讀出階段;3)清除階段。調(diào)度塊3802調(diào)度這3個階段。在一個實施例中,作為讀出階段的一部分,執(zhí)行超級采樣。(在另一個實施例中,可以在每次寫入微像素陣列時進行超級采樣)。恰好在數(shù)據(jù)被寫入3821到CABS_代理3801中之前執(zhí)行超級采樣。CABS_代理3801可以放棄在所有塊中的當前操作。當設置放棄信號3825時,F(xiàn)BIF將放棄當前的功能直到MPCB 3214以信號表示新的數(shù)據(jù),然后FBIF 3220在呈現(xiàn)階段中開始并且當前的存儲內(nèi)容用于新的呈現(xiàn)操作中;或者CABS以send_frame_cabs信號3822來命令FBIF讀出數(shù)據(jù)。一般,F(xiàn)BIF塊可以被雙定時。
在圖38和39中,調(diào)度器3802調(diào)度三個階段來用于在4階段交錯調(diào)度中的兩個子單元
調(diào)度器3802向子單元3903A-B發(fā)送信號3827呈現(xiàn)、清除和讀出。當子單元8303A-B接收到來自MPCB 3214和CABS_代理3801的數(shù)據(jù)和控制3822、3823、3824時,它們與它們所在的階段一致地響應。調(diào)度器使用來自其他邏輯單元的信號。從MPCB 3214,它使用downward_ready和WEND。從CABS_代理3801,它使用send_frame_CABS。從子單元,它使用frame_done_CABS、clear_done。如果接收到一個放棄信號,則調(diào)度器進入階段1,并且子單元A等待downward_ready以開始呈現(xiàn);同時,在子單元B中開始清除存儲器處理。如果接收到放棄,則當前在FBIF中處理的所有數(shù)據(jù)將被丟失,但是存儲器的內(nèi)容將不由于放棄而被改變。
控制邏輯3904也與其所在的階段一致地響應。在呈現(xiàn)階段期間,downward_ready和upward_req信號控制從MPCB 3214到FBIF 3220的數(shù)據(jù)流。當MPCB信號Downward_ready激活以指示數(shù)據(jù)可用時,呈現(xiàn)階段開始。FBIF將接收數(shù)據(jù),直到?jīng)]有用于當前呈現(xiàn)窗口的數(shù)據(jù),并且WEnd信號變得激活。只要Downward_ready是激活的,則存在從MPCB塊接收的MiPxCaW。如果Downward_ready是非激活的并且未接收到WEnd信號,則存在用于這個呈現(xiàn)窗口的更多的MiPxCaW,但是在此時MPCB緩沖器為空。只要FBIF準備好接收新的數(shù)據(jù),則它將upward_req保持激活。當Wend信號變?yōu)榧せ顣r,呈現(xiàn)階段結(jié)束。FBIF然后向CABS代理發(fā)送frame_ready_CABS,因此CABS代理可以獲取數(shù)據(jù)。Downward_ready僅僅在在激活的WEnd或GEnd脈沖之后才變得非激活。在激活的WEnd或GEnd脈沖后,在FBIF中的流水線被清空。當新的多個MiPxCaW從來自新幾何圖形的MPCB到來時,在流水線中將不存在任何來自舊幾何圖形的未處理的舊MiPxCaW。當?shù)刂方M被處理時,控制塊檢查在存儲器中的地址是否需要被增加或降低,并且向地址產(chǎn)生器提供上或下計數(shù)命令。當白色MiPxCaW被呈現(xiàn)時,數(shù)據(jù)僅僅被寫入到存儲器中,不執(zhí)行任何讀取。
使用send_frame_CABS來從CABS代理3801調(diào)用讀出階段。數(shù)據(jù)然后被發(fā)送到CABS代理直到幀緩沖器被清空。一旦最后的幀數(shù)據(jù)被發(fā)送到CABS代理,則FBIF將send_frame_CABS信號設置為激活,同樣在讀出階段中,控制器3904向清除和讀出地址產(chǎn)生器3902和數(shù)據(jù)處理器3905提供開始信號。數(shù)據(jù)經(jīng)由超級采樣塊3901被寫入CABS接口3801。
清除階段的從調(diào)度器3802被調(diào)用的??刂破飨蚯宄妥x出地址產(chǎn)生器3902發(fā)送開始信號,清除和讀出地址產(chǎn)生器3902產(chǎn)生存儲器的所有地址。所有的存儲器位置將被寫入用于黑色的0。
數(shù)據(jù)處理器3905包括用于識別三個階段并且據(jù)此動作的邏輯單元。在呈現(xiàn)階段期間,MiPxCaW來自其接口。只有MiPxCaW是灰色時,新的MiPxCaW才到來。如果MiPxCaW是白色的,則這作為地址組的隱含信息,并且不沿著數(shù)據(jù)路徑發(fā)送任何微像素高速緩存??刂茐K3904告訴數(shù)據(jù)處理器3905當前數(shù)據(jù)是否是白色或灰色的。數(shù)據(jù)處理器使用上述的邏輯單元來執(zhí)行一個或多個邏輯或/與非運算。一般,讀取存儲器以看所存儲的數(shù)據(jù)是否是白色、灰色或黑色的;執(zhí)行邏輯或/與非,并且新的數(shù)據(jù)被寫入存儲器中。為了當讀取來自存儲器的數(shù)據(jù)時補償在ZBT存儲器3805和在ZBT存儲器控制器3804中的流水線中的延遲,在數(shù)據(jù)路徑中和在數(shù)據(jù)處理器中的控制路徑中存在延遲函數(shù)3906。在讀出階段期間,延遲被禁止。在清除階段期間,數(shù)據(jù)處理器向存儲器寫入0。
地址產(chǎn)生器3903響應于執(zhí)行的當前狀態(tài)。在呈現(xiàn)階段中,通過從MPCB向FBIF發(fā)送的地址組來提供地址。控制塊讀取所述地址組,然后它向地址產(chǎn)生器發(fā)送關于下列的信息關于在窗口中的當前位置的信息;來自MPCB的地址組可以被定位在上/下或在下/上方向??刂茐K告訴地址產(chǎn)生器是否它應當遞增或遞減計數(shù)。一個完全呈現(xiàn)窗口是Rend_win_ln_x*Rend_win_ln_yMiPxCaW。呈現(xiàn)窗口以逐個行的方向被存儲在幀存儲器中。例如,Rend_win_ln_y=400或Rend_win_ln_x=200。
在呈現(xiàn)階段中,當呈現(xiàn)灰色數(shù)據(jù)時,每個第二時鐘周期產(chǎn)生一個新的地址。當呈現(xiàn)白色數(shù)據(jù)時,數(shù)據(jù)僅僅被寫入存儲器中并且不被讀取,因此每個時鐘周期產(chǎn)生一個新的地址。控制信號Rend_win_offs_x,Rend_win_offs_y包括關于在保護窗口中的呈現(xiàn)窗口的位置的信息,并且Rend_win_offs_x和Rend_win_offs_y告知關于呈現(xiàn)窗口的大小。這些用于其確定MiPxCaW是否位于保護窗口中或在呈現(xiàn)窗口中。在保護和呈現(xiàn)窗口中的所有的MiPxCaW被FBIF等同地處理。但是如果地址產(chǎn)生器檢測到在呈現(xiàn)窗口之外的地址,則存儲器使能信號將不是激活的,并且因此對應的MiPxCaW將不被寫入存儲器中。在讀出和清除階段期間,不使用這個邏輯塊。
在呈現(xiàn)階段期間不使用清除和讀出地址產(chǎn)生器3902。在讀出階段期間,數(shù)據(jù)被逐個行地寫入到CABS接口,即用于兩個連續(xù)數(shù)據(jù)的地址增量將是Rend_win_ln_x,除了當新行開始的時候。當新的行開始時,current_line_pointer(當前行指針)將被遞增1。在消隱情況下的兩個連續(xù)行之間,地址將按照消隱參數(shù)而被停止,參見下面的示例。對于參數(shù)Rend_win_ln_y=400、Rend_win_ln_x=200和消隱=2
在讀出階段,對于100M像素/秒的讀出速率,每個時鐘周期產(chǎn)生一個新的地址,并且對于50M像素/秒的讀出速率,每兩個時鐘周期產(chǎn)生一個地址。為了以交錯模式產(chǎn)生地址,在兩個子單元發(fā)揮作用的情況下,一個偏移將被加到地址Address_1=adr_gen;Address_2=adr_gen+rend_win_length_x/2。在交錯模式中,存儲器訪問從地址1開始,在地址1和地址2之間交錯。如果使用擴展區(qū),則地址2將具有下列表達式Addess_2=adr_gen+rend_win_length_x/2-2。在清除階段中。產(chǎn)生用于清除的、從0-256k的所有存儲器地址。(對于允許批清除功能的存儲器設計可能不需要這個功能)。
地址延遲邏輯單元3906在呈現(xiàn)階段期間被使能。舊的存儲數(shù)據(jù)需要被讀取以便使用新的MiPxCaW數(shù)據(jù)來執(zhí)行或/與非。為了補償在讀取處理中在ZBT存儲器和在ZBT存儲器控制器中的流水線中的延遲,需要延遲數(shù)據(jù)和地址兩者。地址延遲塊延遲地址。數(shù)據(jù)的延遲被集成在數(shù)據(jù)處理器中。地址延遲邏輯單元在讀出和清除階段期間被禁止。
在這個實施例中,超級采樣邏輯單元3901在讀出階段期間被使用,如圖7所示。
FBIF的第二和第三實施例分別利用被適配來具有PMFB和GVFB存儲器的邏輯單元。如圖32所示,多個像素圖3223和灰度級3224存儲器會是有益的。從下面的交錯討論來看,增加的存儲器和用于存儲器訪問的獨立信道的影響是明顯的。像素圖PMFB存儲器作為訪問限定器,用于限定訪問用于特定像素的微像素存儲器的需要。用于像素圖符號修改的真值表依賴于所需要的呈現(xiàn)運算符,它可以是“或”或“與非”。在表格中的“*”表示任何符號值,表示“無關”或“通配符”。
或運算
之前修改之后與非運算
之前修改之后訪問限制器可以是寫或者修改寫,所述寫表示單個寫操作,所述修改寫表示讀取-修改-寫操作。對于或運算,當一個像素的之后值是W或B時,微像素陣列不需要被讀取或?qū)懭搿O喾?,像素圖PMFB存儲器被設置為適當?shù)闹?。當之后值是灰色并且之前或修改值是黑色時,則單個寫或根本沒有寫將產(chǎn)生在微像素MPFB存儲器中的正確灰色值。當一個像素具有作為灰色的之前和修改值的時候,微像素陣列需要被讀取、通過對之前和修改值應用邏輯或或者與非運算來被進行運算,隨后向MPFB寫入結(jié)果產(chǎn)生的值。本質(zhì)上,同一訪問限制器可以向或運算一樣被應用到與非運算。圖16D圖解了訪問限制器的操作。矩形是像素的在前值。平行四邊形是像素的修改值。陰影圖指示在修改運算符之后的結(jié)果產(chǎn)生的像素圖值(黑色,白色,灰色)。它示出了在應用邏輯或運算來使用平行四邊形修改矩形之后微像素MPFB存儲器進行了單個寫入操作、讀取-修改-寫入操作、或者不被改變。
用于第二實施例的交錯圖是
上述的第三實施例將涉及每次執(zhí)行寫入或讀取-修改-寫入操作時的超級采樣。一個或多個灰色GVFB總計存儲器將保存結(jié)果。所述第三實施例的兩種變化形式使用在同一或獨立數(shù)據(jù)路徑上的像素圖和灰度值存儲器。第一交錯圖用于兩個共享的PMFB存儲器(在同一數(shù)據(jù)路徑上、在同一存儲器中的兩個緩沖器)和兩個共享的GVFB存儲器(在同一存儲器和數(shù)據(jù)路徑中的兩個緩沖器)。(在逐個行基礎上交錯的子階段,每個讀出行一組四個子階段,對于整個階段512個讀出行)
Que end表示在MPFB代理之前的FIFO緩沖器可以仍然被清空,即使PM代理正在忙于讀取。這提供了負荷共享。
在第三實施例的第二種變化方式中,使用兩個獨立的PMFB和兩個獨立的GVFB。每個存儲器具有其本身的數(shù)據(jù)路徑或用于存儲器訪問的獨立信道。
在第二和第三實施例中,讀出和清除階段被組合。當讀出PMFB和MPFB存儲器的時候,像素圖被清除。這迅速地發(fā)生,因為像素圖以僅僅兩個比特表示像素。不必有分立的讀出和清除階段。
圖42描述了在第二實施例中的幀緩沖器接口的大致方框結(jié)構(gòu)。所述結(jié)構(gòu)視圖與功能視圖相反,給出了如何合并交錯和流水線算法以便加速執(zhí)行。離大數(shù)據(jù)總線并且在不互連的幾個較小邏輯塊中并行處理數(shù)據(jù)是有益的。將數(shù)據(jù)劃分為幾個較小塊便于在高速數(shù)字器件中的物理實現(xiàn)。塊劃分適用于流水線操作。在產(chǎn)生地址族4201和微像素高速緩存4202中的MPCB 3214的功能如上所述。保護區(qū)過濾器作為保護區(qū)的一個實施例是3641。像素圖幀緩沖器接口3643訪問PMFB存儲器3223(見圖36)。微像素幀緩沖器接口3642訪問MPFB存儲器3222(也參見圖36)。
在這種配置中,保護區(qū)過濾器塊3641與MPCB(微像素高速緩存緩沖器)3214、像素圖幀緩沖器訪問序列產(chǎn)生器(PMFB AccSeqGen)4221、微像素幀緩沖器AccSeqGen 4222和MiPxCaW緩沖器4223共享信號。需要下面的信號來確定MiPxCaW是否位于呈現(xiàn)窗口內(nèi)Interior_info、MPCS_Y、MPCS_X1S、MPCS_X1E、MPCS_X2S和MPCS_X2E是在x和y方向中相對于保護窗口的左角的坐標;Rend_win_offs_x和Rend_win_offs_y指示呈現(xiàn)窗口的原點位置;Rend_win_ln_x和Rend_win_ln_y指示呈現(xiàn)窗口的尺寸;一對交換信號(Downward_Ready/Up_Request),以便仲裁在這個塊和MPCB(微像素高速緩存緩沖器)4202之間的數(shù)據(jù)流。
像素圖幀緩沖器訪問序列產(chǎn)生器4221與保護區(qū)過濾器3641和PMFB代理4231共享信號。它接收下列內(nèi)容來自保護區(qū)過濾器的(X,Y,interior info)的地址組;一對交換信號(Downward_Ready/Up_Request),它們仲裁在這個塊和保護區(qū)過濾器之間的數(shù)據(jù)流;地址和字節(jié)使能,對應于要在PMFB代理中處理的像素圖組;用于指示存在可用于處理的數(shù)據(jù)的信號(PMFBAccSeqGen->PMFB代理);用于指示PMFB代理準備好從PMFB AccSeqGen接收數(shù)據(jù)的信號。
PMFB代理4231一次讀取一個地址組(AS),并且產(chǎn)生PMFB(像素圖幀緩沖器)訪問的序列。對于X1S、X1E、X2S、X2E、Y的每個AS,將產(chǎn)生PMFB訪問的序列。PMFB訪問包括通過字位置[(0...Xsize/4-1),(0...Ysize/4-1)]和組編號
尋址的PM組訪問。所述組編號將在PMFB代理中被用作字節(jié)使能信號。
圖43圖解了可以用于實現(xiàn)本發(fā)明的方面的一個存儲器結(jié)構(gòu)。在這個結(jié)構(gòu)中,像素圖符號具有W=白色、G=灰色、B=黑色的值,像素圖組包括被排列為8比特字的四個像素圖符號,一個像素圖字包括四個像素圖組,它被布置為一個32比特的字。在這個存儲器結(jié)構(gòu)中支持下面的RMW程序讀取8比特字(丟棄24個剩余比特),使用掩模(字節(jié)使能)來寫入,讀取32比特字,寫32比特字。再次參見圖43,假定行8被PMFB AccSeqGen 4221處理。將產(chǎn)生三個存儲器訪問的序列。
序列1序列2序列3PM組GGWW WWWW GGBB字節(jié)使能000對應的存儲器字 (1,2)(2,2) (3,2)位置PMFB代理4231構(gòu)造一個一般像素圖容器來處理PM組或PM字的中間存儲。所述容器包括一個到四個符號組和一個字地址。所述容器具有一個像素圖組輸入項
s=像素圖符號[W,G,B]v=有效狀態(tài)[真,偽]op=運算符[或,與非]示例
PMFB代理4231與ZBT控制器3804A、PMFB-AccSeqGen 4231和訪問限制器FIFO 4232共享信號。在PMFB AccSeqGen和PMFB代理之間的接口如上所述。在AccQua FiFo 4232和PMFB代理4231之間的接口包括向FiFo發(fā)送訪問限制器。為了使得可以寫入新的數(shù)據(jù),需要一個寫使能以及FiFo狀態(tài)標志,例如fifo_full或fifo_overrun。在PMFB代理4231和ZBT控制器3804A之間的接口包括地址、數(shù)據(jù)輸入、數(shù)據(jù)輸出、讀寫和字節(jié)使能信號。另外,需要在一般容器中包括的呈現(xiàn)窗口邏輯運算符(RWLOper)來確定使用那個邏輯運算符來執(zhí)行呈現(xiàn)處理。
MPFB AccSeqGen 4222用于產(chǎn)生對應于在MiPxCaW緩沖器4223中存儲的MiPxCaW的地址。從Y值、X1S、X1E、X2S和X2E向外產(chǎn)生地址。S指示開始,E指示結(jié)束。下面是地址組的邏輯規(guī)則X1S<X1EMiPxCaW被存儲在MPCB中,其中在從X1S到X1E的區(qū)域中首先出現(xiàn)最低地址數(shù)據(jù)。(左邊)X1S>X1EMiPxCaW被存儲在MPCB中,并且在從X1S到X1E的區(qū)域中首先出現(xiàn)最高地址數(shù)據(jù)。(左邊)X2S<X2EMiPxCaW被存儲在MPCB中,其中在從X2S到X2E的區(qū)域中首先出現(xiàn)最低地址數(shù)據(jù)。(右邊)
X2S>X2EMiPxCaW被存儲在MPCB中,其中在從X2S到X2E的區(qū)域中首先出現(xiàn)最高地址數(shù)據(jù)。(右邊)而且,這個塊必須向上、即向保護區(qū)過濾器指示一旦它已經(jīng)向MPFB代理4233發(fā)送了對應于前一個接收的地址組的最后一個地址,它就準備好接收一個新的地址組。
MPFB AccSeqGen 4222具有與保護區(qū)過濾器3641和與微像素幀緩沖器代理4233的公共接口。保護區(qū)過濾器根據(jù)請求發(fā)送地址組X1S、X1E、X2S、X2E和interio_info標記。一對交換信號(Downward_Ready/Up_Request),仲裁在這個邏輯塊和保護區(qū)過濾器之間的數(shù)據(jù)流。在MPFB代理和MFB訪問序列產(chǎn)生器塊4222之間的接口,傳送要用于對應的MiPxCaW(存儲在MiPxCaW緩沖器中)的地址以及數(shù)據(jù)流仲裁信號。
MiPxCaW緩沖器4223僅僅是一個FIFO緩沖器。它容許在這個設計中所需要的高時鐘頻率(100MHz),并且一般是FloorPlanner友好的。需要提供四個DPRAM塊來存儲最大的幾何圖形(253MiPxCaW),即64比特的字被劃分為四個16比特的字。MiPxCaW緩沖器4223具有與保護區(qū)過濾器和MPFB代理的公共接口。在保護區(qū)過濾器和這個塊之間的接口,需要到緩沖器的MiPxCaW流和寫使能信號來提供FiFo。在MPFB代理和這個塊之間的接口,需要來自緩沖器的MiPxCaW流和讀使能信號來從FiFo獲取數(shù)據(jù)。
MP幀緩沖器代理4233在逐個MiPxCaW的基礎上對MPFB 3222執(zhí)行操作,即一次一個64比特的字。所述代理根據(jù)訪問限制器AccQua的值來執(zhí)行寫入或讀取-修改-寫入操作。用于MiPxCaW修改的真值表依賴于邏輯呈現(xiàn)運算符,它可以是“或”或者“與非”。如果用于一個給定對(地址,MiPxCaW)的AccQua是寫入,則MiPxCaW僅僅需要被寫入對應的地址。但是如果AccQua是修改-寫入,則必須首先從由所述地址指示的位置獲取存儲在MPFB中的值。其后,可以按照呈現(xiàn)窗口運算符來修改數(shù)據(jù)。但是,在等待要被檢索的數(shù)據(jù)的同時必須在隊列中存儲數(shù)據(jù)和地址。在所述代理向ZBT控制器3804發(fā)送地址和控制信號的時刻和在Dout總線上可以獲得對應數(shù)據(jù)的時刻之間存在一個等待時間(大約10個時鐘周期)。這意味著如果例如在MPFB中先后寫入兩個重疊幾何圖形,則會發(fā)生高速緩存一致性爭用。這可以使用監(jiān)控用于訪問存儲器的地址的CAM結(jié)構(gòu)來解決。一種可能的實現(xiàn)方式是如果一個地址在CAM結(jié)構(gòu)中出現(xiàn)兩次,則存儲最后10個地址以發(fā)出匹配指示符。這意味著在操作中的暫時中斷直到匹配指示器消失。
微像素幀緩沖器代理4233邏輯塊具有與AccQua FiFo 4232、MPFBAccSeqGen 4222、MiPxCaW緩沖器4223和ZBT控制器3804B的公共接口。對于FiFo、緩沖器和地址產(chǎn)生器公共的讀取使能信號觸發(fā)釋放新的AccQua、地址和MiPxCaW。在FiFo和這個塊之間的接口,存在AccQua和FiFo狀態(tài)指示符,諸如FiFo空標記。在MPFB AccSeqGen和這個塊之間的接口,存在一個地址總線和一對仲裁信號,例如準備好/進行。在MiPxCaW緩沖區(qū)和這個塊之間的接口,存在MiPxCaW總線和一對仲裁信號,例如準備好/進行。有可能所述這對仲裁信號與在這個塊和MPFB AccSeqGen之間使用的相同。最后,對于PMFB代理,在ZBT控制器和這個塊之間的接口如上所述。
讀出邏輯單元3644具有與幀緩沖器(經(jīng)由ZBT控制器)和CABS總線的公共接口。
定時策略需要使用在100MHz的雙頻的clk_c2時鐘來定時FBIF的邏輯塊。讀出邏輯單元也使用clk_c1時鐘來被定時,所述clk_c1時鐘具有50MHz的基本頻率??梢允褂脙蓚€時鐘頻率來驅(qū)動使用clk_c1時鐘的CABS接口和使用clk_c2時鐘的ZBT控制器。兩個時鐘產(chǎn)生具有相同的DLL,這意味著應當可以忽略變形。即,兩個時鐘可以被考慮為同步時鐘。每當在那兩個時鐘域中進行過渡時,可以考慮兩種手段或者僅僅使用clk_c2時鐘并當需要時使用多個時鐘周期路徑,或者使用clk_c2和clk_c1兩者。
雖然已經(jīng)參照上面詳細所述的優(yōu)選實施例和示例公開了本發(fā)明,但是可以理解,這些示例意欲是說明性的而不是限定性的。可以認識到,本領域的技術(shù)人員可以容易地進行修改和組合,所述修改和組合將在本發(fā)明的精神和所附的權(quán)利要求的范圍內(nèi)。
權(quán)利要求
1.一種選擇子像素條形圖以表示與區(qū)域相交的邊的方法,所述區(qū)域具有至少第一和第二邊,并且所述區(qū)域被細分為子像素,所述方法包括構(gòu)造在沿著第一和第二邊的相交之間的分段,所述分段限定區(qū)域的第一和第二范圍;其中所述相交限于沿著區(qū)域的邊的離散位置;形成用于表示第一范圍的子像素的候選組,在所述組中的子像素完全或部分地在第一范圍內(nèi);確定在所述候選子組的面積覆蓋和第一范圍的面積覆蓋之間的偏差;計算通過組合候選子組與用于其他分段的子像素條形圖而形成的角;根據(jù)對所述偏差的確定與所述角的計算來在候選子組中選擇;以及在存儲器中存儲所選擇的子組。
2.按照權(quán)利要求1的方法,還包括對于定義沿著第一和第二邊的可能相交的一組分段,重復所述方法;并且淘汰冗余的子集。
3.按照權(quán)利要求2的方法,其中所述淘汰考慮到用于表示定義可能的相交的一組分段的子集的最大數(shù)量。
4.按照權(quán)利要求2的方法,其中所述淘汰考慮到來自使用表示定義可能的相交的一組分段的子集的最大可接受誤差。
5.一種預先計算用于對應于像素的子像素的子像素條形圖以便限定多邊形邊的部分的方法,包括沿著在像素對的第一邊上的子像素之一的邊來提供用于對應于多邊形邊的直線的可能第一相交;沿著與第一邊相對的、所述像素對的第二邊來提供用于所述直線的可能第二相交;其中可能的第一和第二相交限于離散位置;提供跨越預定角范圍的、連接第一可能相交和第二可能相交的分段;對于所述分段,選擇用于限定由分段限制的范圍的子像素條形圖;其中子像素圖的選擇考慮到。
6.按照權(quán)利要求5的方法,其中所述角的范圍是大約45度。
7.按照權(quán)利要求5的方法,其中所述角的范圍是大約90度。
8.按照權(quán)利要求5的方法,還包括提供轉(zhuǎn)換來將子像素圖應用到跨越大約180度的線的可能方向的范圍。
9.按照權(quán)利要求5的方法,還包括提供轉(zhuǎn)換來將子像素圖應用到跨越大約360度的線的可能方向的范圍。
全文摘要
本發(fā)明涉及使用子像素分辨率來呈現(xiàn)高精度圖像,可用適用于產(chǎn)生網(wǎng)線板和大面積掩模、直接寫入圖形和查看網(wǎng)線板或其他圖形的工件。本發(fā)明的多個方面可以應用到SLM和掃描技術(shù)。本發(fā)明包括一種調(diào)制微鏡陣列以建立和加強圖像的方法。本申請公開了重疊區(qū)、保護區(qū)的使用、將多邊形移動和重新定大小、使用兩個分辨率級,表示區(qū)域、定義邊、定位邊和角。
文檔編號G06T15/00GK1904738SQ200610080359
公開日2007年1月31日 申請日期2002年9月9日 優(yōu)先權(quán)日2001年9月12日
發(fā)明者托布喬恩·桑德斯特羅姆, 馬丁·奧爾森, 珀·埃爾姆福斯, 斯蒂芬·古斯塔夫森 申請人:麥克羅尼克激光系統(tǒng)公司