System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內(nèi)的位置。 參數(shù)名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術(shù)實現(xiàn)步驟摘要】
本專利技術(shù)涉及電路設(shè)計,尤其涉及一種eda模型器件的凹多邊形區(qū)域生成方法及裝置。
技術(shù)介紹
1、集成電路設(shè)計eda軟件中,在對pcb板中部分器件進行仿真前,對pcb板進行切割是一個很常見的操作,因為直接對整個pcb板進行仿真會十分耗時,特別是當(dāng)pcb板尺寸特別大時,仿真時間會大大增加。
2、pcb板切割操作一般分為按區(qū)域切割和按網(wǎng)絡(luò)切割,按區(qū)域切割即切割區(qū)域由用戶手動繪制,按網(wǎng)絡(luò)切割即用戶對pcb板劃分網(wǎng)絡(luò)后,選擇部分網(wǎng)絡(luò)進行切割。其中,網(wǎng)絡(luò)切割又分為自動凸多邊形區(qū)域切割和自動凹多邊形區(qū)域切割,兩種網(wǎng)絡(luò)切割方式都是根據(jù)用戶選擇的網(wǎng)絡(luò)自動生成切割區(qū)域。
3、一般來說,自動凹多邊形區(qū)域切割能更好的展示出pcb板上器件的輪廓,也是用戶選擇最多的切割方式。凹多邊形區(qū)域生成算法一直是eda軟件的難點,目前,行業(yè)內(nèi)一些軟件生成凹多邊形區(qū)域時,無法兼顧時間復(fù)雜度和精度。
4、現(xiàn)有的技術(shù),在生成凹多邊形區(qū)域時,是直接按照所選網(wǎng)絡(luò)包含的全部器件的幾何數(shù)據(jù)計算凹多邊形區(qū)域,一般是采用滾邊法,滾球法,凸包凹化法等,這些方法計算速度慢,十分影響用戶體驗。當(dāng)用戶選擇多個不相連的網(wǎng)絡(luò)時,對于某些pcb模型生成的凹多邊形區(qū)域包含了很多冗余的器件,無法滿足用戶實際生產(chǎn)需求,需要用戶進行手動調(diào)整,十分不方便。
技術(shù)實現(xiàn)思路
1、本專利技術(shù)提供一種eda模型器件的凹多邊形區(qū)域生成方法及裝置,解決器件的凹多邊形區(qū)域生成速度慢且精確度低的技術(shù)問題。
2、為解決上述技術(shù)問題,
3、一種eda模型器件的凹多邊形區(qū)域生成方法包括如下步驟,s3獲得被選中網(wǎng)絡(luò),基于被選中網(wǎng)絡(luò)通過器件的網(wǎng)絡(luò)數(shù)據(jù)庫從映射表中獲得器件的幾何點數(shù)據(jù);s4分別合并同一被選中網(wǎng)絡(luò)上所有器件的幾何點數(shù)據(jù),獲得每一被選中網(wǎng)絡(luò)的凹包;s5對所有被選中網(wǎng)絡(luò)的凹包進行相交關(guān)系分組,分別獲得每組合并后的凹包,若為單組則跳過步驟s9;s6基于graham算法生成并獲得所有被選中網(wǎng)絡(luò)的凸包;s7用所有被選中網(wǎng)絡(luò)的凸包減去每組合并后的凹包,獲得多個裁剪區(qū)域;s8從所有被選中網(wǎng)絡(luò)的凹包中依次獲得兩個凹包的中心點線段,判斷每一中心點線段與每一裁剪區(qū)域是否相交,相交則將該裁剪區(qū)域加入保留區(qū)域,獲得凹多邊形區(qū)域的保留區(qū)域;s9將保留區(qū)域和所有被選中網(wǎng)絡(luò)的凹包合并,獲得所有被選中網(wǎng)絡(luò)中器件的凹多邊形區(qū)域。
4、進一步的技術(shù)方案在于:還包括在步驟s3之前的如下步驟,s1獲得集成電路設(shè)計eda中器件的網(wǎng)絡(luò)數(shù)據(jù),構(gòu)建并獲得器件的網(wǎng)絡(luò)數(shù)據(jù)庫;s2基于器件的網(wǎng)絡(luò)數(shù)據(jù)庫,建立并獲得器件的id與幾何點數(shù)據(jù)的映射表。
5、進一步的技術(shù)方案在于:還包括在步驟s9之后的如下步驟,s10對獲得的凹多邊形區(qū)域去小邊和平滑處理,獲得處理后凹多邊形區(qū)域。
6、進一步的技術(shù)方案在于:在步驟s5中,將步驟s4中得到的所有選中的網(wǎng)絡(luò)的凹包進行空間關(guān)系判斷,將彼此相交和間接相交的凹包分為同一組,并對每組的凹包進行unite操作,若最終分組數(shù)量為1,直接跳過步驟s9;若得到多個分組,則進行步驟s6操作。
7、進一步的技術(shù)方案在于:在步驟s6中,取所有選中網(wǎng)絡(luò)包含的器件的幾何點數(shù)據(jù),利用graham算法生成凸包;在步驟s7中,使用剪裁算法,用步驟s6中得到的所有網(wǎng)絡(luò)的凸包減去步驟s5中得到的多個unite操作后的凹包,得到需要挖去的多個裁剪區(qū)域,裁剪區(qū)域為凹多邊形的區(qū)域。
8、進一步的技術(shù)方案在于:步驟s8具體劃分包括如下步驟:
9、s801從所有被選中網(wǎng)絡(luò)的凹包中,依次每次取兩個凹包;
10、s802計算獲得兩個凹包的中心點并獲得中心點線段;
11、s803判斷中心點線段與每一裁剪區(qū)域是否相交;
12、s804中心點線段與裁剪區(qū)域相交,則將該裁剪區(qū)域加入保留區(qū)域;
13、s805判斷是否遍歷完所有凹包;
14、重復(fù)步驟s801,直至遍歷完所有凹包,獲得所有需要保留的裁剪區(qū)域并形成最終的凹多邊形的保留區(qū)域。
15、進一步的技術(shù)方案在于:在步驟s801中,從步驟s5中得到的所有網(wǎng)絡(luò)凹包中,依次每次取兩個凹包;
16、在步驟s802中,計算這兩個凹包的中心點,連成線段,獲得中心點線段;
17、在步驟s803中,依次判斷中心點線段與步驟s7中獲得的每一裁剪區(qū)域是否相交;具體方法是取裁剪區(qū)域的每條邊,檢查邊與中心點線段是否相交,如果中心點線段與裁剪區(qū)域的任意一條邊相交,那么中心點線段和裁剪區(qū)域就相交;判斷邊與中心點線段是否相交的方法是,首先通過向量叉乘判斷邊與中心點線段是否共線,如果共線則再通過線段端點坐標(biāo)判斷邊與中心點線段是否有交點;如果線段與裁剪區(qū)域的任意一條邊都不相交,那么中心點線段和多邊形區(qū)域就不相交;
18、在步驟s804中,因此如果兩個凹包的中心點連線形成的中心點線段與裁剪區(qū)域相交則證明該區(qū)域夾在兩個不相交凹包的中間,保留此區(qū)域,若不相交,則丟棄。
19、進一步的技術(shù)方案在于:在步驟s9中,將步驟s5中得到的凹包和步驟s8中得到的保留區(qū)域進行unite操作,得到選中網(wǎng)絡(luò)的凹多邊形區(qū)域。
20、一種eda模型器件的凹多邊形區(qū)域生成裝置包括存儲器、處理器以及存儲在存儲器中并可在處理器上運行的計算機程序,所述處理器執(zhí)行計算機程序時實現(xiàn)上述凹多邊形區(qū)域生成方法中相應(yīng)的步驟。
21、一種eda模型器件的凹多邊形區(qū)域生成裝置包括計算機可讀存儲介質(zhì),所述計算機可讀存儲介質(zhì)存儲有計算機程序,所述計算機程序被處理器執(zhí)行時實現(xiàn)上述凹多邊形區(qū)域生成方法中相應(yīng)的步驟。
22、采用上述技術(shù)方案所產(chǎn)生的有益效果在于:
23、一種eda模型器件的凹多邊形區(qū)域生成方法包括如下步驟,s3獲得被選中網(wǎng)絡(luò),基于被選中網(wǎng)絡(luò)通過器件的網(wǎng)絡(luò)數(shù)據(jù)庫從映射表中獲得器件的幾何點數(shù)據(jù);s4分別合并同一被選中網(wǎng)絡(luò)上所有器件的幾何點數(shù)據(jù),獲得每一被選中網(wǎng)絡(luò)的凹包;s5對所有被選中網(wǎng)絡(luò)的凹包進行相交關(guān)系分組,分別獲得每組合并后的凹包,若為單組則跳過步驟s9;s6基于graham算法生成并獲得所有被選中網(wǎng)絡(luò)的凸包;s7用所有被選中網(wǎng)絡(luò)的凸包減去每組合并后的凹包,獲得多個裁剪區(qū)域;s8從所有被選中網(wǎng)絡(luò)的凹包中依次獲得兩個凹包的中心點線段,判斷每一中心點線段與每一裁剪區(qū)域是否相交,相交則將該裁剪區(qū)域加入保留區(qū)域,獲得凹多邊形區(qū)域的保留區(qū)域;s9將保留區(qū)域和所有被選中網(wǎng)絡(luò)的凹包合并,獲得所有被選中網(wǎng)絡(luò)中器件的凹多邊形區(qū)域。該技術(shù)方案,基于graham算法和剪裁算法,獲得多個被選取網(wǎng)絡(luò),從所有被選中網(wǎng)絡(luò)的凹包中依次獲得兩個凹包的中心點線段,判斷每一中心點線段與每一裁剪區(qū)域是否相交,相交則將該裁剪區(qū)域加入保留區(qū)域,獲得凹多邊形區(qū)域的保留區(qū)域,將保留區(qū)域和所有被選中網(wǎng)絡(luò)的凹包合并,快速生成一個完整的凹多邊形區(qū)域,提升用戶使用體驗。
24、一種eda模型器件的凹多邊形區(qū)域生成裝置包括計算本文檔來自技高網(wǎng)...
【技術(shù)保護點】
1.一種EDA模型器件的凹多邊形區(qū)域生成方法,其特征在于:包括如下步驟,S3獲得被選中網(wǎng)絡(luò),基于被選中網(wǎng)絡(luò)通過器件的網(wǎng)絡(luò)數(shù)據(jù)庫從映射表中獲得器件的幾何點數(shù)據(jù);S4分別合并同一被選中網(wǎng)絡(luò)上所有器件的幾何點數(shù)據(jù),獲得每一被選中網(wǎng)絡(luò)的凹包;S5對所有被選中網(wǎng)絡(luò)的凹包進行相交關(guān)系分組,分別獲得每組合并后的凹包,若為單組則跳過步驟S9;S6基于Graham算法生成并獲得所有被選中網(wǎng)絡(luò)的凸包;S7用所有被選中網(wǎng)絡(luò)的凸包減去每組合并后的凹包,獲得多個裁剪區(qū)域;S8從所有被選中網(wǎng)絡(luò)的凹包中依次獲得兩個凹包的中心點線段,判斷每一中心點線段與每一裁剪區(qū)域是否相交,相交則將該裁剪區(qū)域加入保留區(qū)域,獲得凹多邊形區(qū)域的保留區(qū)域;S9將保留區(qū)域和所有被選中網(wǎng)絡(luò)的凹包合并,獲得所有被選中網(wǎng)絡(luò)中器件的凹多邊形區(qū)域。
2.根據(jù)權(quán)利要求1所述的一種EDA模型器件的凹多邊形區(qū)域生成方法,其特征在于:還包括在步驟S3之前的如下步驟,S1獲得集成電路設(shè)計EDA中器件的網(wǎng)絡(luò)數(shù)據(jù),構(gòu)建并獲得器件的網(wǎng)絡(luò)數(shù)據(jù)庫;S2基于器件的網(wǎng)絡(luò)數(shù)據(jù)庫,建立并獲得器件的ID與幾何點數(shù)據(jù)的映射表。
3.根據(jù)權(quán)利要求1所述的
4.根據(jù)權(quán)利要求1所述的一種EDA模型器件的凹多邊形區(qū)域生成方法,其特征在于:在步驟S5中,將步驟S4中得到的所有選中的網(wǎng)絡(luò)的凹包進行空間關(guān)系判斷,將彼此相交和間接相交的凹包分為同一組,并對每組的凹包進行Unite操作,若最終分組數(shù)量為1,直接跳過步驟S9;若得到多個分組,則進行步驟S6操作。
5.根據(jù)權(quán)利要求1所述的一種EDA模型器件的凹多邊形區(qū)域生成方法,其特征在于:在步驟S6中,取所有選中網(wǎng)絡(luò)包含的器件的幾何點數(shù)據(jù),利用Graham算法生成凸包;在步驟S7中,使用剪裁算法,用步驟S6中得到的所有網(wǎng)絡(luò)的凸包減去步驟S5中得到的多個Unite操作后的凹包,得到需要挖去的多個裁剪區(qū)域,裁剪區(qū)域為凹多邊形的區(qū)域。
6.根據(jù)權(quán)利要求1所述的一種EDA模型器件的凹多邊形區(qū)域生成方法,其特征在于:步驟S8具體劃分包括如下步驟:
7.根據(jù)權(quán)利要求6所述的一種EDA模型器件的凹多邊形區(qū)域生成方法,其特征在于:在步驟S801中,從步驟S5中得到的所有網(wǎng)絡(luò)凹包中,依次每次取兩個凹包;
8.根據(jù)權(quán)利要求1所述的一種EDA模型器件的凹多邊形區(qū)域生成方法,其特征在于:在步驟S9中,將步驟S5中得到的凹包和步驟S8中得到的保留區(qū)域進行Unite操作,得到選中網(wǎng)絡(luò)的凹多邊形區(qū)域。
9.一種EDA模型器件的凹多邊形區(qū)域生成裝置,包括存儲器、處理器以及存儲在存儲器中并可在處理器上運行的計算機程序,其特征在于:所述處理器執(zhí)行計算機程序時實現(xiàn)權(quán)利要求1至8任意一項凹多邊形區(qū)域生成方法中相應(yīng)的步驟。
10.一種EDA模型器件的凹多邊形區(qū)域生成裝置包括計算機可讀存儲介質(zhì),所述計算機可讀存儲介質(zhì)存儲有計算機程序,其特征在于:所述計算機程序被處理器執(zhí)行時實現(xiàn)權(quán)利要求1至8任意一項凹多邊形區(qū)域生成方法中相應(yīng)的步驟。
...【技術(shù)特征摘要】
1.一種eda模型器件的凹多邊形區(qū)域生成方法,其特征在于:包括如下步驟,s3獲得被選中網(wǎng)絡(luò),基于被選中網(wǎng)絡(luò)通過器件的網(wǎng)絡(luò)數(shù)據(jù)庫從映射表中獲得器件的幾何點數(shù)據(jù);s4分別合并同一被選中網(wǎng)絡(luò)上所有器件的幾何點數(shù)據(jù),獲得每一被選中網(wǎng)絡(luò)的凹包;s5對所有被選中網(wǎng)絡(luò)的凹包進行相交關(guān)系分組,分別獲得每組合并后的凹包,若為單組則跳過步驟s9;s6基于graham算法生成并獲得所有被選中網(wǎng)絡(luò)的凸包;s7用所有被選中網(wǎng)絡(luò)的凸包減去每組合并后的凹包,獲得多個裁剪區(qū)域;s8從所有被選中網(wǎng)絡(luò)的凹包中依次獲得兩個凹包的中心點線段,判斷每一中心點線段與每一裁剪區(qū)域是否相交,相交則將該裁剪區(qū)域加入保留區(qū)域,獲得凹多邊形區(qū)域的保留區(qū)域;s9將保留區(qū)域和所有被選中網(wǎng)絡(luò)的凹包合并,獲得所有被選中網(wǎng)絡(luò)中器件的凹多邊形區(qū)域。
2.根據(jù)權(quán)利要求1所述的一種eda模型器件的凹多邊形區(qū)域生成方法,其特征在于:還包括在步驟s3之前的如下步驟,s1獲得集成電路設(shè)計eda中器件的網(wǎng)絡(luò)數(shù)據(jù),構(gòu)建并獲得器件的網(wǎng)絡(luò)數(shù)據(jù)庫;s2基于器件的網(wǎng)絡(luò)數(shù)據(jù)庫,建立并獲得器件的id與幾何點數(shù)據(jù)的映射表。
3.根據(jù)權(quán)利要求1所述的一種eda模型器件的凹多邊形區(qū)域生成方法,其特征在于:還包括在步驟s9之后的如下步驟,s10對獲得的凹多邊形區(qū)域去小邊和平滑處理,獲得處理后凹多邊形區(qū)域。
4.根據(jù)權(quán)利要求1所述的一種eda模型器件的凹多邊形區(qū)域生成方法,其特征在于:在步驟s5中,將步驟s4中得到的所有選中的網(wǎng)絡(luò)的凹包進行空間關(guān)系判斷,將彼此相交和間接相交的凹包分為同一組,并對每組的凹包進行...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:代文亮,蔣歷國,胡訓(xùn),堵云竹,羅彬,
申請(專利權(quán))人:芯和半導(dǎo)體科技上海股份有限公司,
類型:發(fā)明
國別省市:
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。