本發(fā)明屬于計(jì)算機(jī)
技術(shù)領(lǐng)域:
,更進(jìn)一步涉及集成電路和計(jì)算機(jī)分布式數(shù)據(jù)處理
技術(shù)領(lǐng)域:
中的一種基于分布式處理框架Hadoop的位圖版圖向集成電路版圖的加州理工中介格式CIF(CaltechIntermediateForm)版圖轉(zhuǎn)換方法。本發(fā)明應(yīng)用分布式文件系統(tǒng)HDFS(HadoopDistributedFileSystem)對(duì)輸入位圖版圖進(jìn)行分布式的存儲(chǔ)及應(yīng)用映射-化簡(MapReduce)架構(gòu)對(duì)位圖版圖進(jìn)行像素信息提取和轉(zhuǎn)換等操作,可用于高效率地把大規(guī)模位圖版圖轉(zhuǎn)換為集成電路版圖的加州理工中介格式CIF文件版圖。
背景技術(shù):
:隨著集成電路產(chǎn)業(yè)的快速發(fā)展,超大規(guī)模的集成電路應(yīng)運(yùn)而生。在集成電路的生產(chǎn)制造中,因?yàn)樵O(shè)計(jì)或者工藝上的不足,總有一些集成電路無法達(dá)到設(shè)計(jì)的要求甚至無法正常工作,最終導(dǎo)致成品率的下降,因此集成電路的成品率一直是生產(chǎn)制造業(yè)關(guān)心的問題。而關(guān)鍵面積是衡量集成電路成品率的一個(gè)重要指標(biāo)。版圖中的線網(wǎng)和隨機(jī)缺陷輪廓大多數(shù)是非規(guī)則形狀的,在平面位圖版圖上可以更加直觀的計(jì)算線網(wǎng)的關(guān)鍵面積及優(yōu)化隨機(jī)缺陷。因此將集成電路版圖的加州理工中介格式CIF文件版圖轉(zhuǎn)換為位圖版圖,對(duì)位圖版圖進(jìn)行計(jì)算版圖關(guān)鍵面積以及對(duì)關(guān)鍵面積進(jìn)行優(yōu)化,優(yōu)化完成后,需要將位圖版圖轉(zhuǎn)換為集成電路版圖的加州理工中介格式CIF文件版圖。ChangjiangLi,JunpingWang,DanXu,YanhongGao在“Astudyonoptimizedlayouttransformationalgorithm”(Anti-Counterfeiting,SecurityandIdentification(ASID),2013IEEEInternationalConferenceon.IEEE,2013:1-4.)論文中提出一種將位圖轉(zhuǎn)換為集成電路版圖的加州理工中介格式CIF文件的方法。該方法的基本思想是讀入含有版圖線網(wǎng)信息的位圖,通過產(chǎn)生很多矩形去擬合位圖圖像,將位圖中的圖像用矩形“拼合”出來,并把這些矩形轉(zhuǎn)換成集成電路版圖的加州理工中介格式CIF文件版圖,從而完成位圖圖像向集成電路版圖的加州理工中介格式CIF文件版圖的轉(zhuǎn)換。該方法的不足之處是矩形擬合過程會(huì)產(chǎn)生特別多的矩形,隨著位圖規(guī)模的增大,該方法很耗機(jī)器內(nèi)存和CPU等資源,需要硬件配置很高的計(jì)算機(jī)才能穩(wěn)定轉(zhuǎn)換。王俊平、趙騰偉、賈博文等人在“基于圖像邊緣檢測的版圖圖像轉(zhuǎn)化為CIF文件方法”(申請(qǐng)?zhí)枺?01510231126.4,公開號(hào):104794308A)專利中提出來了一種將位圖版圖轉(zhuǎn)換為集成電路版圖的加州理工中介格式CIF文件版圖的方法。其主要實(shí)現(xiàn)步驟是:1.將版圖圖像轉(zhuǎn)化成二值圖;2.打通二值圖中的孔洞;3.對(duì)打通孔洞后的二值圖進(jìn)行邊緣提??;4.根據(jù)邊緣提取結(jié)果計(jì)算圖像的頂點(diǎn),并優(yōu)化頂點(diǎn)信息;5.根據(jù)圖形頂點(diǎn)信息匹配圖像形狀,并根據(jù)集成電路版圖的加州理工中介格式CIF格式規(guī)則將其轉(zhuǎn)換為集成電路版圖的加州理工中介格式CIF格式指令;6.將所有集成電路版圖的加州理工中介格式CIF命令寫入集成電路版圖的加州理工中介格式CIF文件版圖中。該方法存在的不足之處是,在單機(jī)上對(duì)于少量的位圖版圖可以進(jìn)行高效地串行轉(zhuǎn)換,但是對(duì)于位圖版圖數(shù)量規(guī)模的擴(kuò)大,單機(jī)轉(zhuǎn)換效率不高。技術(shù)實(shí)現(xiàn)要素:本發(fā)明的目的在于克服上述現(xiàn)有技術(shù)的不足,提出一種基于Hadoop的位圖版圖向CIF版圖轉(zhuǎn)換方法,該方法可以提高大規(guī)模位圖版圖向?yàn)榧呻娐钒鎴D的加州理工中介格式CIF文件版圖的轉(zhuǎn)換效率,解決在單機(jī)串行轉(zhuǎn)換時(shí)效率低的問題。實(shí)現(xiàn)本發(fā)明目的的具體步驟如下:(1)讀取位圖:使用編輯器Eclipse,加載待處理的位圖圖像集中的全部位圖,得到位圖版圖;(2)預(yù)處理位圖版圖:(2a)將位圖版圖的二值化閾值Th設(shè)置為200;(2b)從位圖版圖中隨機(jī)選取一張位圖版圖,利用二值化閾值Th,將所選取的位圖版圖轉(zhuǎn)換成二值圖像;(2c)將二值圖像以X_Y_Z.bmp格式保存,其中,X表示位圖版圖所在的集成電路的層數(shù),Y表示位圖版圖位于第Y行,Z表示位圖版圖位于第Z列;(2d)判斷是否選取完所有的位圖圖版,若是,則將所有的二值圖像組成二值圖像集,執(zhí)行步驟(3),否則,執(zhí)行步驟(2b);(3)上傳二值圖像集:(3a)通過操作系統(tǒng)Linux終端,使用分布式處理框架Hadoop集群的啟動(dòng)命令,啟動(dòng)分布式處理框架Hadoop集群;(3b)將二值圖像集,通過操作系統(tǒng)Linux終端上傳到分布式文件系統(tǒng)HDFS中;(4)分塊存儲(chǔ)二值圖像集:(4a)分布式文件系統(tǒng)HDFS對(duì)上傳到該系統(tǒng)中的二值圖像集進(jìn)行分塊;(4b)將分塊平均地存儲(chǔ)在分布式處理框架hadoop集群中的各個(gè)數(shù)據(jù)節(jié)點(diǎn)中;(5)位圖版圖轉(zhuǎn)換集成電路中的CIF版圖:(5a)設(shè)置映射Map:(5a1)使用組合圖像輸入格式CombineFileImageInputFormat對(duì)二值圖像集進(jìn)行處理,得到鍵值key1/value1;(5a2)將鍵key1轉(zhuǎn)換為圖像處理庫JavaCV圖像IplImage中的數(shù)據(jù)Ipl1;(5a3)讀取數(shù)據(jù)Ipl1,采用圖像邊緣檢測方法,得到位圖版圖中的線網(wǎng)頂點(diǎn)信息坐標(biāo)集V2;(5a4)定義一個(gè)整型數(shù)組,將二值圖像的名字由文本Text類型轉(zhuǎn)換為字符串String類型,得到一個(gè)字符串;將字符串在下劃線處進(jìn)行分割,分割成子字符串,將分割后的子字符串轉(zhuǎn)換成整型數(shù)字,按照分割前字符串中的先后順序?qū)⒄蛿?shù)字依次存入整型數(shù)組中;(5a5)讀取整型數(shù)組中第四位數(shù)值作為位圖版圖的橫向偏移量offet1,讀取整型數(shù)組中第五位數(shù)值作為位圖版圖的縱向偏移量offet2;(5a6)隨機(jī)讀取線網(wǎng)頂點(diǎn)信息坐標(biāo)集V2中的一個(gè)坐標(biāo);(5a7)將坐標(biāo)的橫坐標(biāo)加上橫向偏移量offet1,坐標(biāo)的縱坐標(biāo)加上縱向偏移量offet2,得到一個(gè)新的坐標(biāo);(5a8)判斷線網(wǎng)頂點(diǎn)信息坐標(biāo)集V2中的坐標(biāo)是否處理完,若是,得到一個(gè)新的線網(wǎng)頂點(diǎn)信息坐標(biāo)集V3,則執(zhí)行步驟(5a6),否則,執(zhí)行步驟(5a9);(5a9)按照集成電路版圖CIF格式規(guī)則,將線網(wǎng)頂點(diǎn)信息坐標(biāo)集V3轉(zhuǎn)換為集成電路版圖的CIF格式指令,并將生成的指令作為文本Text類型的鍵key2,以*代表空值,將空值*作為值value2;(5b)設(shè)置化簡Reduce:(5b1)將集成電路版圖的CIF文件版圖中說明集成電路版圖信息的注釋語句輸出到集成電路版圖的CIF文件版圖;(5b2)將鍵key2輸出到集成電路版圖的CIF文件版圖;(5b3)將文件結(jié)束命令語句添加到集成電路版圖的CIF文件版圖;(6)提交任務(wù):(6a)初始化任務(wù)Job;(6b)將任務(wù)job提交到分布式處理框架Hadoop集群中。本發(fā)明與現(xiàn)有的技術(shù)相比具有以下優(yōu)點(diǎn):第1,由于本發(fā)明使用分布式處理框架hadoop集群中的各個(gè)數(shù)據(jù)節(jié)點(diǎn)分塊存儲(chǔ)二值圖像集,只要求使用普通的硬件計(jì)算機(jī),克服了現(xiàn)有技術(shù)很耗機(jī)器內(nèi)存和CPU等資源,需要硬件配置很高的計(jì)算機(jī)才能穩(wěn)定轉(zhuǎn)換的缺點(diǎn),使得本發(fā)明具有,使用普通的硬件計(jì)算機(jī),就能完成大規(guī)模位圖版圖向集成電路版圖的CIF版圖的穩(wěn)定轉(zhuǎn)換的優(yōu)點(diǎn)。第2,由于本發(fā)明使用Hadoop集群對(duì)位圖版圖向集成電路版圖的CIF版圖轉(zhuǎn)換,克服了現(xiàn)有技術(shù)中隨著位圖版圖數(shù)量規(guī)模的擴(kuò)大,單機(jī)串行轉(zhuǎn)換效率不高的缺點(diǎn),使得本發(fā)明提高了大規(guī)模位圖版圖向集成電路版圖的CIF版圖的轉(zhuǎn)換效率。附圖說明圖1為本發(fā)明的流程圖;圖2為本發(fā)明與現(xiàn)有方法的轉(zhuǎn)換時(shí)間比較圖。具體實(shí)施方式下面結(jié)合附圖對(duì)本發(fā)明做進(jìn)一步的描述。參照?qǐng)D1,對(duì)本發(fā)明的具體實(shí)施步驟做進(jìn)一步的描述。步驟1,讀取位圖。使用編輯器Eclipse,加載待處理的位圖圖像集中的全部位圖,得到位圖版圖。步驟2,預(yù)處理位圖版圖。第1步,將位圖版圖的二值化閾值Th設(shè)置為200。第2步,從位圖版圖中隨機(jī)選取一張位圖版圖,使用二值化閾值Th,將所選取的位圖版圖轉(zhuǎn)換成二值圖像。第3步,將二值圖像以X_Y_Z.bmp格式保存,其中,X表示位圖版圖所在的集成電路的層數(shù),Y表示位圖版圖位于第Y行,Z表示位圖版圖位于第Z列。本發(fā)明的實(shí)施例中,二值圖像的名字是“CGP層_3_10.bmp”,本版圖所在CGP層,位于所有圖像中的第3行第10列。第4步,判斷是否選取完所有的位圖圖版,若是,則將所有的二值圖像組成二值圖像集,執(zhí)行步驟3,否則,執(zhí)行本步驟的第2步。步驟3,上傳二值圖像集。通過操作系統(tǒng)Linux終端,使用分布式處理框架Hadoop集群的啟動(dòng)命令啟動(dòng)分布式處理框架Hadoop集群。將二值圖像集,通過操作系統(tǒng)Linux終端上傳到分布式文件系統(tǒng)HDFS中。步驟4,分布式處理框架Hadoop集群中的數(shù)據(jù)節(jié)點(diǎn)分塊存儲(chǔ)二值圖像集。分布式文件系統(tǒng)HDFS對(duì)上傳到該系統(tǒng)中的二值圖像集進(jìn)行分塊,并將分塊平均地存儲(chǔ)在分布式處理框架Hadoop集群中的各個(gè)數(shù)據(jù)節(jié)點(diǎn)中。步驟5,位圖版圖轉(zhuǎn)換集成電路中的CIF版圖。第1步,從分布式處理框架hadoop集群中隨機(jī)選取一個(gè)數(shù)據(jù)節(jié)點(diǎn)S1,從二值圖像集中隨機(jī)選取一個(gè)二值圖像集C1。第2步,數(shù)據(jù)節(jié)點(diǎn)S1,使用組合文件輸入格式CombineFileInputFormat,將二值圖像集C1中的數(shù)據(jù),劃分成大小為64M的文件,得到組合分片CombineFileSplit數(shù)據(jù)集C2。第3步,從組合分片CombineFileSplit數(shù)據(jù)集C2中,隨機(jī)選取一個(gè)組合分片C3。第4步,通過分布式處理框架Hadoop的路徑信息函數(shù)getPath,獲取得到組合分片C3中的路徑信息。第5步,利用圖像像素?cái)?shù)據(jù)轉(zhuǎn)換函數(shù)cvDecodeImage,獲取路徑信息中分布式處理框架Hadoop圖像ImageWritable中的數(shù)據(jù)Ipl1,將數(shù)據(jù)Ipl1作為鍵key1。第6步,將路徑信息中的文件名稱作為值value1。第7步,將鍵key1轉(zhuǎn)換為圖像處理庫JavaCV圖像IplImage中的數(shù)據(jù)Ipl1。第8步,對(duì)圖像處理庫JavaCV圖像IplImage中的數(shù)據(jù)Ipl1進(jìn)行邊緣檢測,尋找孔洞信息,打通這些孔洞與外界連通,得到修改后的圖像處理庫JavaCV圖像IplImage中的數(shù)據(jù)Ipl2,并將打通每個(gè)孔洞時(shí)操作的位置信息記錄到第一鏈表R;第9步,對(duì)數(shù)據(jù)Ipl2進(jìn)行邊緣檢測,得到數(shù)據(jù)Ipl2中每個(gè)圖像的邊緣信息,將邊緣信息用一條鏈碼表示,存儲(chǔ)于第二鏈表L中;第10步,將第二鏈表L中的每條鏈碼轉(zhuǎn)化為行程編碼,存儲(chǔ)于第三鏈表E中;第11步,將第三鏈表E中的每條行程編碼轉(zhuǎn)換為有序坐標(biāo)集V1,該坐標(biāo)集包含有一個(gè)圖形的所有頂點(diǎn),使用第一鏈表R中保存的位置信息修改這些頂點(diǎn)坐標(biāo),使打開的孔洞閉合,得到坐標(biāo)集V2;第12步,定義一個(gè)整型數(shù)組,將二值圖像的名字由文本Text類型轉(zhuǎn)換為字符串String類型,得到一個(gè)字符串;將字符串在下劃線處進(jìn)行分割,分割成子字符串,將分割后的子字符串轉(zhuǎn)換成整型數(shù)字,按照分割前字符串中的先后順序?qū)⒄蛿?shù)字依次存入整型數(shù)組中。第13步,讀取整型數(shù)組中第四位數(shù)值作為位圖版圖的橫向偏移量offet1,讀取整型數(shù)組中第五位數(shù)值作為位圖版圖的縱向偏移量offet2。第14步,隨機(jī)讀取線網(wǎng)頂點(diǎn)信息坐標(biāo)集V2中的一個(gè)坐標(biāo)。第15步,將坐標(biāo)的橫坐標(biāo)加上橫向偏移量offet1,坐標(biāo)的縱坐標(biāo)加上縱向偏移量offet2,得到一個(gè)新的坐標(biāo)。第16步,判斷線網(wǎng)頂點(diǎn)信息坐標(biāo)集V2中的坐標(biāo)是否處理完,若是,得到一個(gè)新的線網(wǎng)頂點(diǎn)信息坐標(biāo)集V3,則執(zhí)行第14步,否則,執(zhí)行本步驟的第17步。第17步,按照集成電路版圖CIF格式規(guī)則,將線網(wǎng)頂點(diǎn)信息坐標(biāo)集V3轉(zhuǎn)換為集成電路版圖的CIF格式指令,并將生成的指令作為文本Text類型的鍵key2,以*代表空值,將空值*作為值value2。第18步,將集成電路版圖的CIF文件版圖中說明集成電路版圖信息的注釋語句輸出到集成電路版圖的CIF文件版圖。第19步,將鍵key2輸出到集成電路版圖的CIF文件版圖。第20步,將文件結(jié)束命令語句添加到集成電路版圖的CIF文件版圖。步驟6,提交任務(wù)。創(chuàng)建一個(gè)配置對(duì)象configuration,使用配置對(duì)象configuration設(shè)置單個(gè)節(jié)點(diǎn)輸入分片最小值為64M,設(shè)置單個(gè)機(jī)架輸入分片最小值為64M,設(shè)置輸入分片最大值為64M。用配置對(duì)象configuration創(chuàng)建并初始化任務(wù)Job,并為任務(wù)Job指定執(zhí)行地址以及映射Map類和化簡Reduce類文件的路徑。將任務(wù)job提交到分布式處理框架Hadoop集群中。本發(fā)明的效果可以通過下述仿真實(shí)驗(yàn)得到驗(yàn)證。1.仿真條件:本發(fā)明的仿真是在搭建的分布式處理框架Hadoop集群上進(jìn)行的。分布式處理框架Hadoop集群包含3個(gè)節(jié)點(diǎn):1個(gè)主機(jī)節(jié)點(diǎn)Master和2個(gè)從機(jī)節(jié)點(diǎn)Slave1、Slave2,并通過局域網(wǎng)連接三個(gè)節(jié)點(diǎn)。軟件環(huán)境如下:Linux環(huán)境:CentOSrelease6.4。JDK版本:1.8_77。Hadoop版本:Hadoop1.2.1。Eclipse版本:Eclipse3.7。JavaCV版本:JavaCV1.1節(jié)點(diǎn)的IP地址及硬件配置如下:表1Hadoop集群中節(jié)點(diǎn)的IP地址及硬件配置一覽表機(jī)器名稱IP地址CPUMaster192.168.0.219Pentium(R)Dual-Core(R)CPUE6600@3.06GHzSlave1192.168.0.220Pentium(R)Dual-Core(R)CPUE6600@3.06GHzSlave2192.168.0.221Pentium(R)Dual-Core(R)CPUE6600@3.06GHz表1中的Master表示分布式處理框架Hadoop集群中的主機(jī)節(jié)點(diǎn),Slave1、Slave2表示分布式處理框架Hadoop集群中的從節(jié)點(diǎn),IP地址表示計(jì)算機(jī)的網(wǎng)絡(luò)地址,CPU表示計(jì)算機(jī)的處理器。2.仿真內(nèi)容與結(jié)果分析:采用本發(fā)明的基于Hadoop的位圖版圖向CIF版圖轉(zhuǎn)換方法與現(xiàn)有技術(shù)的基于圖像邊緣檢測的版圖圖像轉(zhuǎn)化為CIF文件方法,對(duì)位圖版圖向CIF版圖轉(zhuǎn)換時(shí)間分別進(jìn)行仿真。本發(fā)明分別選取五組位圖版圖,位圖版圖的數(shù)量分別是20張、50張、110張,220張,280張,輸出的是集成電路版圖的加州理工中介格式CIF文件版圖。分別使用現(xiàn)有技術(shù)中的基于圖像邊緣檢測的版圖圖像轉(zhuǎn)化為CIF文件方法和本發(fā)明兩種方法進(jìn)行仿真,在兩種方法下,對(duì)位圖版圖向CIF版圖轉(zhuǎn)換的時(shí)間進(jìn)行統(tǒng)計(jì),最終得到圖2,圖2中的橫坐標(biāo)表示輸入位圖版圖數(shù)量,物理單位為張,縱坐標(biāo)表示位圖版圖向CIF版圖轉(zhuǎn)換的時(shí)間,物理單位為秒s。圖2中以圓點(diǎn)標(biāo)示的虛線表示用本發(fā)明的方法對(duì)位圖版圖向CIF版圖的轉(zhuǎn)換時(shí)間曲線,圖2中以十字形標(biāo)示的實(shí)線表示用現(xiàn)有技術(shù)中的基于圖像邊緣檢測的版圖圖像轉(zhuǎn)化為CIF文件方法對(duì)位圖版圖向CIF版圖的轉(zhuǎn)換時(shí)間曲線。由圖2可見,隨著位圖版圖數(shù)量的增大,位圖版圖向CIF版圖轉(zhuǎn)換的時(shí)間逐步增多。但是,輸入位圖版圖的數(shù)量相同時(shí),比較兩根曲線的縱坐標(biāo)可知,對(duì)大量位圖版圖處理時(shí),本發(fā)明對(duì)位圖版圖向CIF版圖的轉(zhuǎn)換時(shí)間少,且隨著位圖版圖數(shù)量的增加,本發(fā)明的曲線線性增長越緩慢,說明優(yōu)越性越突出。本發(fā)明的仿真結(jié)果表明:本發(fā)明由于是基于Hadoop的位圖版圖向CIF版圖的轉(zhuǎn)換,采用分布式處理系統(tǒng)對(duì)大量位圖版圖進(jìn)行并行處理,提高了位圖版圖向CIF版圖轉(zhuǎn)換的效率。當(dāng)前第1頁1 2 3