本申請(qǐng)涉及集成電路器件的建模領(lǐng)域,具體涉及一種集成電路器件神經(jīng)網(wǎng)絡(luò)建模樣本選擇方法及裝置。
背景技術(shù):
隨著集成電路技術(shù)的發(fā)展,集成電路器件的特征尺寸不斷減小,傳統(tǒng)的器件模型是基于半經(jīng)驗(yàn)半器件物理的模型,對(duì)實(shí)際器件做了很多簡(jiǎn)化和假設(shè),過(guò)去這種建模方法在實(shí)踐中是可行的,但是當(dāng)器件尺寸不斷減小隨之就會(huì)帶來(lái)很多新的物理效應(yīng),此時(shí)按照傳統(tǒng)的建模方法則會(huì)使模型變得復(fù)雜甚至一些新器件的建模變得不可能。
目前出現(xiàn)一種使用神經(jīng)網(wǎng)絡(luò)對(duì)集成電路進(jìn)行建模的方法,神經(jīng)網(wǎng)絡(luò)是一種從信息處理角度對(duì)人腦神經(jīng)元網(wǎng)絡(luò)進(jìn)行抽象,按不同的連接方式組成不同的網(wǎng)絡(luò),建立某種簡(jiǎn)單模型。它可以通過(guò)對(duì)訓(xùn)練樣本的學(xué)習(xí)獲得相應(yīng)的“知識(shí)”,能夠近似擬合任何非線性函數(shù),因此它可以被我們應(yīng)用到集成電路器件建模中去。在使用神經(jīng)網(wǎng)絡(luò)進(jìn)行建模的過(guò)程中,有很多因素會(huì)對(duì)最終的結(jié)果產(chǎn)生影響,比如訓(xùn)練樣本的選擇、訓(xùn)練權(quán)值、閾值的初始化、神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的配置以及訓(xùn)練算法優(yōu)化等,本申請(qǐng)重點(diǎn)關(guān)注的是訓(xùn)練樣本的選擇這一問(wèn)題。
訓(xùn)練樣本的規(guī)模既不能過(guò)小也不能過(guò)大:
過(guò)小的訓(xùn)練樣本會(huì)造成神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)不準(zhǔn)確,從而影響最終的結(jié)果精度。
過(guò)大的訓(xùn)練樣本首先會(huì)產(chǎn)生過(guò)擬合現(xiàn)象,這使得神經(jīng)網(wǎng)絡(luò)的外推和內(nèi)插能力變得很糟糕,無(wú)法在訓(xùn)練樣本之外產(chǎn)生準(zhǔn)確的預(yù)測(cè)結(jié)果;過(guò)大的訓(xùn)練樣還會(huì)會(huì)使得訓(xùn)練的負(fù)擔(dān)加重,使得訓(xùn)練過(guò)程更加耗時(shí),尤其是當(dāng)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)變得更復(fù)雜時(shí),所帶來(lái)的時(shí)間成本將會(huì)成倍的上升;過(guò)大的訓(xùn)練樣本還會(huì)增加我們用于建模的測(cè)試開(kāi)銷(xiāo),提高建模的成本。
因此,在使用神經(jīng)網(wǎng)絡(luò)對(duì)集成電路進(jìn)行建模時(shí),如何進(jìn)行訓(xùn)練樣本的選擇,這是一個(gè)很關(guān)鍵的問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:
本申請(qǐng)?zhí)峁┮环N集成電路器件神經(jīng)網(wǎng)絡(luò)建模樣本選擇方法及裝置。
根據(jù)本申請(qǐng)的第一方面,本申請(qǐng)?zhí)峁┮环N集成電路器件神經(jīng)網(wǎng)絡(luò)建模樣本選擇方法,包括:
確定待建模的集成電路器件的一個(gè)或多個(gè)輸入變量、輸出變量以及各輸入變量的變化區(qū)間;
分別計(jì)算各輸入變量的平均影響值;
對(duì)于平均影響值最大的輸入變量,計(jì)算其變化區(qū)間的相對(duì)誤差,若該相對(duì)誤差小于或等于一預(yù)設(shè)的誤差精度,則將該輸入變量的變化區(qū)間的長(zhǎng)度作為該輸入變量的步長(zhǎng);若該相對(duì)誤差大于所述誤差精度,則將該輸入變量的變化區(qū)間均等劃分為兩個(gè)子區(qū)間,并分別計(jì)算這兩個(gè)子區(qū)間的相對(duì)誤差;若存在相對(duì)誤差大于所述預(yù)設(shè)的誤差精度的子區(qū)間,則繼續(xù)將其均等劃分為兩個(gè)子區(qū)間并分別計(jì)算這兩個(gè)子區(qū)間的相對(duì)誤差,直到所有子區(qū)間的相對(duì)誤差都小于或等于所述誤差精度時(shí)停止均等劃分,并將區(qū)間長(zhǎng)度最小的子區(qū)間的長(zhǎng)度作為該輸入變量的步長(zhǎng);
根據(jù)平均影響值最大的輸入變量的步長(zhǎng),分別計(jì)算其他各輸入變量的步長(zhǎng);
對(duì)于每一個(gè)輸入變量,根據(jù)其變化區(qū)間及步長(zhǎng)進(jìn)行取點(diǎn),以得到每一個(gè)輸入變量的樣本點(diǎn)集合。
在一實(shí)施例中,計(jì)算任意一輸入變量在一區(qū)間的相對(duì)誤差,包括:
通過(guò)實(shí)際測(cè)試得到該輸入變量取值為該區(qū)間的左端點(diǎn)、中點(diǎn)、右端點(diǎn)時(shí)所述輸出變量分別對(duì)應(yīng)的測(cè)試值;
計(jì)算該輸入變量取值為該區(qū)間的左端點(diǎn)、右端點(diǎn)時(shí)所述輸出變量分別對(duì)應(yīng)的測(cè)試值的平均值;
計(jì)算該平均值與該輸入變量取值為該區(qū)間的中點(diǎn)時(shí)所述輸出變量對(duì)應(yīng)的測(cè)試值之間的相對(duì)誤差。
根據(jù)本申請(qǐng)的第二方面,本申請(qǐng)?zhí)峁┮环N集成電路器件神經(jīng)網(wǎng)絡(luò)建模樣本選擇裝置,包括:
確定模塊,用于確定待建模的集成電路器件的一個(gè)或多個(gè)輸入變量、輸出變量以及各輸入變量的變化區(qū)間;
平均影響值計(jì)算模塊,用于分別計(jì)算各輸入變量的平均影響值;
第一步長(zhǎng)計(jì)算模塊,用于對(duì)于平均影響值最大的輸入變量,計(jì)算其變化區(qū)間的相對(duì)誤差,若該相對(duì)誤差小于或等于一預(yù)設(shè)的誤差精度,則將該輸入變量的變化區(qū)間的長(zhǎng)度作為該輸入變量的步長(zhǎng);若該相對(duì)誤差大于所述誤差精度,則將該輸入變量的變化區(qū)間均等劃分為兩個(gè)子區(qū)間,并分別計(jì)算這兩個(gè)子區(qū)間的相對(duì)誤差;若存在相對(duì)誤差大于所述預(yù)設(shè)的誤差精度的子區(qū)間,則繼續(xù)將其均等劃分為兩個(gè)子區(qū)間并分別計(jì)算這兩個(gè)子區(qū)間的相對(duì)誤差,直到所有子區(qū)間的相對(duì)誤差都小于或等于所述誤差精度時(shí)停止均等劃分,并將區(qū)間長(zhǎng)度最小的子區(qū)間的長(zhǎng)度作為該輸入變量的步長(zhǎng);
其他步長(zhǎng)計(jì)算模塊,用于根據(jù)平均影響值最大的輸入變量的步長(zhǎng),分別計(jì)算其他各輸入變量的步長(zhǎng);
采樣模塊,用于對(duì)于每一個(gè)輸入變量,根據(jù)其變化區(qū)間及步長(zhǎng)進(jìn)行取點(diǎn),以得到每一個(gè)輸入變量的樣本點(diǎn)集合。
在一實(shí)施例中,所述第一步長(zhǎng)計(jì)算模塊包括相對(duì)誤差計(jì)算模塊,用于計(jì)算任意一輸入變量在一區(qū)間的相對(duì)誤差,所述相對(duì)誤差計(jì)算模塊包括:
輸出值測(cè)試模塊,用于通過(guò)實(shí)際測(cè)試得到該輸入變量取值為該區(qū)間的左端點(diǎn)、中點(diǎn)、右端點(diǎn)時(shí)所述輸出變量分別對(duì)應(yīng)的測(cè)試值;
平均值計(jì)算模塊,用于計(jì)算該輸入變量取值為該區(qū)間的左端點(diǎn)、右端點(diǎn)時(shí)所述輸出變量分別對(duì)應(yīng)的測(cè)試值的平均值;
計(jì)算子模塊,用于計(jì)算該平均值與該輸入變量取值為該區(qū)間的中點(diǎn)時(shí)所述輸出變量對(duì)應(yīng)的測(cè)試值之間的相對(duì)誤差。
本申請(qǐng)的有益效果是:
依上述實(shí)施的集成電路器件神經(jīng)網(wǎng)絡(luò)建模樣本選擇方法及裝置,對(duì)于平均影響值最大的輸入變量,通過(guò)將該輸入變量的區(qū)間不斷地均等劃分,直到所有劃分出的區(qū)間的相對(duì)誤差都小于或等于預(yù)設(shè)的誤差精度時(shí)才停止均等劃分動(dòng)作,并輸出劃分出的長(zhǎng)度最小的區(qū)間的長(zhǎng)度為該輸出變量的步長(zhǎng),再根據(jù)該輸入變量的步長(zhǎng)分別計(jì)算其他各輸入變量步長(zhǎng),最后對(duì)于每一個(gè)輸入變量,根據(jù)其變化區(qū)間及步長(zhǎng)進(jìn)行取點(diǎn),以得到每一個(gè)輸入變量的樣本點(diǎn)集合,從而可以實(shí)現(xiàn)在給定精度的情況下實(shí)現(xiàn)低樣本數(shù)據(jù)量的選擇,并且低樣本數(shù)據(jù)量還節(jié)約了器件建模所需的測(cè)試開(kāi)銷(xiāo),提高了神經(jīng)網(wǎng)絡(luò)的訓(xùn)練速度。
附圖說(shuō)明
圖1為本申請(qǐng)一種實(shí)施例的集成電路器件神經(jīng)網(wǎng)絡(luò)建模樣本選擇方法的流程圖;
圖2為本申請(qǐng)一種實(shí)施例的集成電路器件神經(jīng)網(wǎng)絡(luò)建模樣本選擇方法中計(jì)算平均影響值最大的輸入變量的步長(zhǎng)的流程圖;
圖3為本申請(qǐng)一種實(shí)施例的集成電路器件神經(jīng)網(wǎng)絡(luò)建模樣本選擇裝置的結(jié)構(gòu)示意圖;
圖4為本申請(qǐng)一種實(shí)施例的集成電路器件神經(jīng)網(wǎng)絡(luò)建模樣本選擇裝置中第一步長(zhǎng)計(jì)算模塊的結(jié)構(gòu)示意圖;
圖5為訓(xùn)練結(jié)果圖,其中圖5(a)為輸出變量Ids-輸入變量Vds的模型測(cè)結(jié)果與實(shí)測(cè)結(jié)果對(duì)比圖,圖5(b)為輸出變量Ids-輸入變量Vgs的模型測(cè)結(jié)果與實(shí)測(cè)結(jié)果對(duì)比圖。
具體實(shí)施方式
現(xiàn)有技術(shù)中,在使用神經(jīng)網(wǎng)絡(luò)對(duì)集成電路進(jìn)行建模時(shí),就如何進(jìn)行訓(xùn)練樣本的選擇這一問(wèn)題,在林琿的《微波器件智能建模中神經(jīng)網(wǎng)絡(luò)訓(xùn)練數(shù)據(jù)獲取算法研究》一文中進(jìn)行了總結(jié),大致有三種方法,其中第一種傳統(tǒng)的隨機(jī)采點(diǎn)方法采樣點(diǎn)數(shù)量極大,數(shù)據(jù)獲取的代價(jià)極高;第二種和第三種改進(jìn)的方法雖然減小了采樣點(diǎn)的數(shù)量,但是由于在處理過(guò)程中引入了標(biāo)準(zhǔn)誤差作為訓(xùn)練目標(biāo),并且沒(méi)有對(duì)測(cè)試結(jié)果進(jìn)行取對(duì)數(shù),導(dǎo)致在處理一些大數(shù)量級(jí)范圍的訓(xùn)練樣本選擇問(wèn)題時(shí)不能夠兼顧采樣點(diǎn)數(shù)量和訓(xùn)練結(jié)果精度的要求,而且這兩種方法在每次計(jì)算迭代過(guò)程中都會(huì)對(duì)所有的已劃分子區(qū)間都進(jìn)行一次標(biāo)準(zhǔn)誤差計(jì)算并排序得出最大標(biāo)準(zhǔn)誤差,當(dāng)問(wèn)題規(guī)模較大時(shí),算法的時(shí)間復(fù)雜度將會(huì)顯著增大,因此我們需要一種新的方法來(lái)處理訓(xùn)練樣本選擇問(wèn)題。
請(qǐng)參照?qǐng)D1,本申請(qǐng)公開(kāi)了一種集成電路器件神經(jīng)網(wǎng)絡(luò)建模樣本選擇方法(以下簡(jiǎn)稱(chēng)樣本選擇方法),其包括步驟S01~S11。
步驟S01:確定待建模的集成電路器件的一個(gè)或多個(gè)輸入變量、輸出變量以及各輸入變量的變化區(qū)間。由于不同種類(lèi)的集成電路器件,它們的輸入變量和輸出變量可能不同;即使輸入變量和輸出變量相同,它們各輸入變量的變化區(qū)間也可能不一樣,例如,對(duì)于A器件,它的輸入變量Vds的常態(tài)工作區(qū)間為0.3V~1.2V,輸入變量Vgs的常態(tài)工作區(qū)間為-0.1V~0.6V,而對(duì)于B器件,它的輸入變量Vds的常態(tài)工作區(qū)間為300V~1200V,輸入變量Vgs的常態(tài)工作區(qū)間為-0.8V~0.2V,而我們對(duì)某種集成電路器件進(jìn)行建模,肯定是對(duì)它常態(tài)工作區(qū)間進(jìn)行建模,忽略那些不考慮的、沒(méi)有意義的電特性區(qū)間對(duì)應(yīng)的輸入變量的區(qū)間,因此,在建模的第一步,需要確定待建模的集成電路器件的輸入變量、輸出變量以及輸入變量的變化區(qū)間,輸入變量具體的個(gè)數(shù)視待建模的集成電路器件而定,輸入變量的變化區(qū)間一般為該待建模的集成電路器件的該輸入變量的常態(tài)工作區(qū)間。
步驟S03:分別計(jì)算各輸入變量的平均影響值(MIV,Mean Impact Value)。需要說(shuō)明的是,平均影響值的符號(hào)代表影響的相關(guān)方向,絕對(duì)值大小代表影響的相對(duì)重要性,絕對(duì)值越大的平均影響值,其影響的相對(duì)重要性越大,后面涉及平均影響值之間的比較或計(jì)算時(shí),都是指平均影響值不帶符號(hào)的數(shù)值本身,也即是絕對(duì)值,舉個(gè)例子,一個(gè)平均影響值為-1,另一個(gè)平均影響值為0.1,那么在比較這兩個(gè)平均影響值時(shí),是將1與0.1比較,結(jié)果就是-1這個(gè)平均影響值比0.1這個(gè)平均影響值更大。
步驟S05:計(jì)算平均影響值最大的輸入變量的步長(zhǎng)。在一實(shí)施例中,請(qǐng)參照?qǐng)D2,步驟S05包括步驟P01~P13。
步驟P01:對(duì)于平均影響值最大的輸入變量,計(jì)算其變化區(qū)間的相對(duì)誤差。
步驟P03:比較該相對(duì)誤差與一預(yù)設(shè)的誤差精度,若該相對(duì)誤差小于或等于一預(yù)設(shè)的誤差精度,則進(jìn)行步驟P05,將該輸入變量的變化區(qū)間的長(zhǎng)度作為該輸入變量的步長(zhǎng),否則進(jìn)行步驟P07。
步驟P07:若該相對(duì)誤差大于上述誤差精度,則將該輸入變量的變化區(qū)間均等劃分為兩個(gè)子區(qū)間,并分別計(jì)算這兩個(gè)子區(qū)間的相對(duì)誤差。
步驟P09:判斷是否存在相對(duì)誤差大于上述預(yù)設(shè)的誤差精度的子區(qū)間。
步驟P11:若存在相對(duì)誤差大于上述預(yù)設(shè)的誤差精度的子區(qū)間,則繼續(xù)將其均等劃分為兩個(gè)子區(qū)間并分別計(jì)算這兩個(gè)子區(qū)間的相對(duì)誤差,直到所有子區(qū)間的相對(duì)誤差都小于或等于所述誤差精度時(shí)停止均等劃分。
步驟P13:將區(qū)間長(zhǎng)度最小的子區(qū)間的長(zhǎng)度作為該輸入變量的步長(zhǎng)。
在上述計(jì)算步長(zhǎng)的過(guò)程中,比較相對(duì)誤差與誤差精度,是比較兩者不帶符號(hào)的數(shù)值大小,即絕對(duì)值大小,因?yàn)橄鄬?duì)誤差的正負(fù)符號(hào)只是代表誤差的方向,并不代表誤差的大小。
在步驟P01~P13中,計(jì)算任意一輸入變量在一區(qū)間的相對(duì)誤差時(shí),是這樣計(jì)算的:
第一、通過(guò)實(shí)際測(cè)試得到該輸入變量取值為該區(qū)間的左端點(diǎn)、中點(diǎn)、右端點(diǎn)時(shí)輸出變量分別對(duì)應(yīng)的測(cè)試值。由于步驟S01確定的輸出變量,其受到各個(gè)輸入變量的影響,單一的一個(gè)輸入變量并不能決定輸出變量的值,因此,當(dāng)通過(guò)實(shí)際測(cè)試得到某一個(gè)輸入變量取值為該區(qū)間的左端點(diǎn)、中點(diǎn)、右端點(diǎn)時(shí)輸出變量分別對(duì)應(yīng)的測(cè)試值時(shí),在這期間,其他各輸入變量的取值為一位于自身變化區(qū)間的定值,較優(yōu)地,可以是自身變化區(qū)間的左端點(diǎn)或右端點(diǎn)。
第二、計(jì)算該輸入變量取值為該區(qū)間的左端點(diǎn)、右端點(diǎn)時(shí)上述輸出變量分別對(duì)應(yīng)的測(cè)試值的平均值。
第三、計(jì)算該平均值與該輸入變量取值為該區(qū)間的中點(diǎn)時(shí)上述輸出變量對(duì)應(yīng)的測(cè)試值之間的相對(duì)誤差。
由于在對(duì)集成電路器件建模時(shí),其有意義的各輸入變量的變化區(qū)間,根據(jù)集成電路器件的電學(xué)特性,其對(duì)應(yīng)的輸出變量的值的范圍處于一個(gè)很大數(shù)量級(jí)的范圍,一般大于105,因此如果直接利用輸出變量的值的絕對(duì)誤差來(lái)作為誤差評(píng)判標(biāo)準(zhǔn),則給出的標(biāo)準(zhǔn)絕對(duì)誤差值很難滿(mǎn)足輸出在不同數(shù)量級(jí)時(shí)的精度要求,最終會(huì)造成在某一段區(qū)間內(nèi)過(guò)多取點(diǎn)或過(guò)少取點(diǎn)。因此,在一較優(yōu)實(shí)施例中,在第二步計(jì)算平均值以及第三步計(jì)算相對(duì)誤差時(shí),都先輸出變量的測(cè)試值取對(duì)數(shù)操作。
總結(jié)起來(lái),步驟P01~P13計(jì)算輸入變量的步長(zhǎng),是通過(guò)將輸入變量的區(qū)間不斷地均等劃分,直到所有劃分出的區(qū)間的相對(duì)誤差都小于或等于預(yù)設(shè)的誤差精度時(shí)才停止均等劃分動(dòng)作,并輸出劃分出的長(zhǎng)度最小的區(qū)間的長(zhǎng)度為該輸出變量的步長(zhǎng)。在具體計(jì)算輸入變量在某一區(qū)間的相對(duì)誤差時(shí),是通過(guò)將輸入變量在該區(qū)間的左、右端點(diǎn)分別對(duì)應(yīng)的輸出變量的值求平均值后,與該輸入變量在該區(qū)間的中點(diǎn)對(duì)應(yīng)的輸出變量的值進(jìn)行求相對(duì)誤差。這種做法的原因是:根據(jù)數(shù)學(xué)常識(shí),兩個(gè)不同的點(diǎn)可以確定一條直線,因此根據(jù)這兩個(gè)不同點(diǎn)對(duì)應(yīng)的輸入變量和輸出變量,就可以知道這兩個(gè)點(diǎn)區(qū)間內(nèi)所有點(diǎn)對(duì)應(yīng)的輸出變量和輸出變量信息;類(lèi)似地,如果此時(shí)這兩個(gè)不同點(diǎn)之間是一條曲線,那么如果由這兩個(gè)點(diǎn)對(duì)應(yīng)的輸出變量的平均值與這兩個(gè)點(diǎn)的中點(diǎn)對(duì)應(yīng)的輸出變量的相對(duì)誤差在一定范圍內(nèi),那么我們就可以認(rèn)為可以近似用這兩個(gè)點(diǎn)來(lái)代表這兩個(gè)點(diǎn)之間的曲線信息。
步驟S07:根據(jù)平均影響值最大的輸入變量的步長(zhǎng),分別計(jì)算其他各輸入變量的步長(zhǎng)。在一實(shí)施例中,計(jì)算其他任意一輸入變量的步長(zhǎng)時(shí),是將平均影響值最大的輸入變量的平均影響值除以該待計(jì)算步長(zhǎng)的輸入變量的平均影響值后,再乘以平均影響值最大的輸入變量的步長(zhǎng)。
步驟S09:對(duì)于每一個(gè)輸入變量,根據(jù)其變化區(qū)間及步長(zhǎng)進(jìn)行取點(diǎn),以得到每一個(gè)輸入變量的樣本點(diǎn)集合。
步驟S11:對(duì)于每一個(gè)輸入變量,根據(jù)其變化區(qū)間及步長(zhǎng)進(jìn)行取點(diǎn)時(shí),若沒(méi)有取到該輸入變量的變化區(qū)間的端點(diǎn),則將該輸入變量的變化區(qū)間的端點(diǎn)額外添加到該輸入變量的樣本點(diǎn)集合中。步驟S11為可選步驟,其目的是最大化的保存邊界處的信息,避免邊界處的信息丟失,對(duì)建模的模型產(chǎn)生不收斂的問(wèn)題。
下面再以一個(gè)例子來(lái)說(shuō)明本申請(qǐng)的樣本選擇方法。
如上所述,不同種類(lèi)的集成電路器件,其輸入變量、輸出變量,以及輸入變量的常態(tài)工作區(qū)間都有可能不同,因此首先需要確定待建模的集成電路器件的輸入變量、輸出變量以及輸入變量的變化區(qū)間,不妨假設(shè)確定的輸入變量為input1和input2,輸出變量是output,其中輸入變量input1的變化區(qū)間為[input1L,input1R],輸入變量input2的變化區(qū)間為[input2L,input2R]。
接著均勻地測(cè)試少量處于變化區(qū)間的輸入變量以及對(duì)應(yīng)的輸出變量的值,以便利用MIV方法篩選出對(duì)神經(jīng)網(wǎng)絡(luò)輸出影響最大的輸入變量。計(jì)算得到的輸入變量為input1和input2的平均影響值分別為MIV1和MIV2。不妨假設(shè)MIV1大于MIV2,即|MIV1|大于|MIV1|。
接著來(lái)計(jì)算平均影響值最大的輸入變量的步長(zhǎng),也就是輸入變量為input1的步長(zhǎng)。通過(guò)測(cè)試設(shè)備得到待建模的集成電路器件在輸入變量input1取值分別為其變化區(qū)間的左端點(diǎn)input1L、右端點(diǎn)input1R以及中點(diǎn)input1M時(shí)輸出變量output分別對(duì)應(yīng)的測(cè)試值,記為outputL、outputR和outputM。需要說(shuō)明的是,由于輸出變量output的值受到各個(gè)輸入變量即input1和input2的影響,單一的一個(gè)輸入變量input1并不能決定輸出變量output的值,因此,當(dāng)通過(guò)實(shí)際測(cè)試得到輸入變量input1取值分別為其變化區(qū)間的左端點(diǎn)input1L、右端點(diǎn)input1R以及中點(diǎn)input1M時(shí)輸出變量output分別對(duì)應(yīng)的測(cè)試值,在這期間,輸入變量input2的取值為一位于自身變化區(qū)間[input2L,input2R]的定值,較優(yōu)地,可以是自身變化區(qū)間的左端點(diǎn)input2L或右端點(diǎn)input2R。計(jì)算輸入變量input1取值分別為其變化區(qū)間的左端點(diǎn)input1L、右端點(diǎn)input1R時(shí)輸出變量output分別對(duì)應(yīng)的測(cè)試值outputL和outputR的平均值,在一較優(yōu)實(shí)施例中,計(jì)算平均值前先對(duì)這兩個(gè)測(cè)試值取對(duì)數(shù)操作,因此如下面公式所述:
其中outputL_log為測(cè)試值outputL取對(duì)數(shù)操作后的值,outputR_og為測(cè)試值outputR取對(duì)數(shù)操作后的值,outputAVG_log為計(jì)算得到的平均值。
接著計(jì)算平均值與輸入變量input1取值為其變化區(qū)間的中點(diǎn)input1M時(shí)輸出變量output對(duì)應(yīng)的測(cè)試值outputM的相對(duì)誤差,當(dāng)然這里測(cè)試值outputM也要相應(yīng)地先取對(duì)數(shù)操作,因此如下面公式所述:
其中,outputM_log為測(cè)試值outputM取對(duì)數(shù)操作后的值,error為計(jì)算得到的相對(duì)誤差。
如果輸入變量input1在區(qū)間[input1L,input1R]的相對(duì)誤差error小于或等于一預(yù)設(shè)的誤差精度ERROR,則停止區(qū)間的劃分,該輸入變量input1的步長(zhǎng)就是區(qū)間[input1L,input1R]的長(zhǎng)度,即input1R-input1L。如果輸入變量input1在區(qū)間[input1L,input1R]的相對(duì)誤差error大于誤差精度ERROR,則將區(qū)間[input1L,input1R]均等劃分成兩個(gè)區(qū)間[input1L,inputM]和[inputM,input1R],并分別按照上面的方法計(jì)算這兩個(gè)區(qū)間的相對(duì)誤差。若這兩個(gè)區(qū)間[input1L,inputM]和[inputM,input1R]中存在相對(duì)誤差大于上述誤差精度ERROR的區(qū)間,則繼續(xù)將相對(duì)誤差大于誤差精度ERROR的區(qū)間繼續(xù)均等劃分為兩個(gè)區(qū)間并分別計(jì)算這兩個(gè)子區(qū)間的相對(duì)誤差,直到所有劃分出的區(qū)間的相對(duì)誤差都小于或等于所述誤差精度時(shí)停止均等劃分。最后,將劃分成的區(qū)間長(zhǎng)度最小的區(qū)間的長(zhǎng)度作為該輸入變量input1的步長(zhǎng)。計(jì)算得到的輸入變量input1的步長(zhǎng)不妨記為△1。
接著根據(jù)輸入變量input1的步長(zhǎng)△1計(jì)算輸入變量input2的步長(zhǎng),輸入變量input2的步長(zhǎng)不妨記為△2。在一實(shí)施例中,輸入變量input2的步長(zhǎng)△2通過(guò)下式計(jì)算:
最后,輸入變量input1根據(jù)其步長(zhǎng)△1在變化區(qū)間[input1L,input1R]進(jìn)行取點(diǎn),輸入變量input2根據(jù)其步長(zhǎng)△2在變化區(qū)間[input2L,input2R]進(jìn)行取點(diǎn)。具體地,對(duì)輸入變量input1的變化區(qū)間[input1L,input1R]進(jìn)行取點(diǎn)時(shí),可以從左端點(diǎn)input1L開(kāi)始均勻取點(diǎn),兩個(gè)相鄰的取點(diǎn)之間的距離為步長(zhǎng)△1,因此輸入變量input1的樣本點(diǎn)集合即為{input1L,input1L+△1,input1L+2×△1,input1L+3×△1,…},在一實(shí)施例中,若最后沒(méi)有取點(diǎn)到右端點(diǎn)input1R,那么可以將右端點(diǎn)input1R添加到輸入變量input1的樣本點(diǎn)集合中,因此輸入變量input1的樣本點(diǎn)集合為{input1L,input1L+△1,input1L+2×△1,input1L+3×△1,…,input1R}。對(duì)輸入變量input2根據(jù)其步長(zhǎng)△2在其變化區(qū)間[input2L,input2R]進(jìn)行取點(diǎn)以得到輸入變量input2的樣本點(diǎn)集合也是類(lèi)似的,在此不再贅述。
以上為本申請(qǐng)的集成電路器件神經(jīng)網(wǎng)絡(luò)建模樣本選擇方法,相應(yīng)地,本申請(qǐng)還提出一種集成電路器件神經(jīng)網(wǎng)絡(luò)建模樣本選擇裝置(以下簡(jiǎn)稱(chēng)樣本選擇裝置),請(qǐng)參照?qǐng)D3,本申請(qǐng)的樣本選擇裝置包括確定模塊01、平均影響值計(jì)算模塊03、第一步長(zhǎng)計(jì)算模塊05、其他步長(zhǎng)計(jì)算模塊07、采樣模塊09和添加模塊11,下面具體說(shuō)明。
確定模塊01用于確定待建模的集成電路器件的一個(gè)或多個(gè)輸入變量、輸出變量以及各輸入變量的變化區(qū)間。
平均影響值計(jì)算模塊03用于分別計(jì)算各輸入變量的平均影響值。
第一步長(zhǎng)計(jì)算模塊05用于對(duì)于平均影響值最大的輸入變量,計(jì)算其變化區(qū)間的相對(duì)誤差,若該相對(duì)誤差小于或等于一預(yù)設(shè)的誤差精度,則將該輸入變量的變化區(qū)間的長(zhǎng)度作為該輸入變量的步長(zhǎng);若該相對(duì)誤差大于上述誤差精度,則將該輸入變量的變化區(qū)間均等劃分為兩個(gè)子區(qū)間,并分別計(jì)算這兩個(gè)子區(qū)間的相對(duì)誤差;若存在相對(duì)誤差大于上述誤差精度的子區(qū)間,則繼續(xù)將其均等劃分為兩個(gè)子區(qū)間并分別計(jì)算這兩個(gè)子區(qū)間的相對(duì)誤差,直到所有子區(qū)間的相對(duì)誤差都小于或等于上述誤差精度時(shí)停止均等劃分,并將區(qū)間長(zhǎng)度最小的子區(qū)間的長(zhǎng)度作為該輸入變量的步長(zhǎng)。在一實(shí)施例中,請(qǐng)參照?qǐng)D4,第一步長(zhǎng)計(jì)算模塊05包括相對(duì)誤差計(jì)算模塊06,相對(duì)誤差計(jì)算模塊06用于計(jì)算任意一輸入變量在一區(qū)間的相對(duì)誤差,相對(duì)誤差計(jì)算模塊06包括輸出值測(cè)試模塊06a、平均值計(jì)算模塊06b、計(jì)算子模塊06c和取對(duì)數(shù)模塊06d。輸出值測(cè)試模塊06a用于通過(guò)實(shí)際測(cè)試得到該輸入變量取值為該區(qū)間的左端點(diǎn)、中點(diǎn)、右端點(diǎn)時(shí)所述輸出變量分別對(duì)應(yīng)的測(cè)試值。平均值計(jì)算模塊06b用于計(jì)算該輸入變量取值為該區(qū)間的左端點(diǎn)、右端點(diǎn)時(shí)所述輸出變量分別對(duì)應(yīng)的測(cè)試值的平均值。計(jì)算子模塊06c用于計(jì)算該平均值與該輸入變量取值為該區(qū)間的中點(diǎn)時(shí)所述輸出變量對(duì)應(yīng)的測(cè)試值之間的相對(duì)誤差。取對(duì)數(shù)模塊06d用于在平均值計(jì)算模塊06b計(jì)算平均值和計(jì)算子模塊06c計(jì)算相對(duì)誤差時(shí),都先對(duì)各測(cè)試值取對(duì)數(shù)操作。取對(duì)數(shù)模塊06d為可選模塊,因?yàn)樵趯?duì)集成電路器件建模時(shí),其有意義的各輸入變量的變化區(qū)間,根據(jù)集成電路器件的電學(xué)特性,其對(duì)應(yīng)的輸出變量的值的范圍處于一個(gè)很大數(shù)量級(jí)的范圍,一般大于105,因此如果直接利用輸出變量的值的絕對(duì)誤差來(lái)作為誤差評(píng)判標(biāo)準(zhǔn),則給出的標(biāo)準(zhǔn)絕對(duì)誤差值很難滿(mǎn)足輸出在不同數(shù)量級(jí)時(shí)的精度要求,最終會(huì)造成在某一段區(qū)間內(nèi)過(guò)多取點(diǎn)或過(guò)少取點(diǎn)。因此,在一較優(yōu)實(shí)施例中,取對(duì)數(shù)模塊06d在平均值計(jì)算模塊06b計(jì)算平均值和計(jì)算子模塊06c計(jì)算相對(duì)誤差時(shí),都先對(duì)各測(cè)試值取對(duì)數(shù)操作。
其他步長(zhǎng)計(jì)算模塊07用于根據(jù)平均影響值最大的輸入變量的步長(zhǎng),分別計(jì)算其他各輸入變量的步長(zhǎng)。在一實(shí)施例中,其他步長(zhǎng)計(jì)算模塊07在計(jì)算其他任意一輸入變量的步長(zhǎng)時(shí),是將平均影響值最大的輸入變量的平均影響值除以該待計(jì)算步長(zhǎng)的輸入變量的平均影響值后,再乘以平均影響值最大的輸入變量的步長(zhǎng)。
采樣模塊09用于對(duì)于每一個(gè)輸入變量,根據(jù)其變化區(qū)間及步長(zhǎng)進(jìn)行取點(diǎn),以得到每一個(gè)輸入變量的樣本點(diǎn)集合。
添加模塊11用于當(dāng)采樣模塊09對(duì)于每一個(gè)輸入變量,根據(jù)其變化區(qū)間及步長(zhǎng)進(jìn)行取點(diǎn),若沒(méi)有取到該輸入變量的變化區(qū)間的端點(diǎn)時(shí),將該輸入變量的變化區(qū)間的端點(diǎn)額外添加到該輸入變量的樣本點(diǎn)集合中。添加模塊11為可選模塊,其目的是最大化的保存邊界處的信息,避免邊界處的信息丟失,對(duì)建模的模型產(chǎn)生不收斂的問(wèn)題。
以上就是本申請(qǐng)的集成電路器件神經(jīng)網(wǎng)絡(luò)建模樣本選擇方法及裝置,可以看到,本申請(qǐng)?jiān)跇颖具x擇過(guò)程中,對(duì)迭代中產(chǎn)生的各劃分出的區(qū)間不會(huì)重復(fù)進(jìn)行誤差計(jì)算,并且不需要對(duì)每次迭代得到的劃分區(qū)間的相對(duì)誤差進(jìn)行排序操作,當(dāng)問(wèn)題復(fù)雜度較高的時(shí)候計(jì)算效率會(huì)更高;本申請(qǐng)?jiān)诮o定結(jié)果精度(即誤差精度)的前提下可以確定一個(gè)滿(mǎn)足結(jié)果精度的低數(shù)據(jù)量的訓(xùn)練樣本集合,避免因訓(xùn)練樣本集合過(guò)大造成測(cè)試成本增加或樣本集合過(guò)小造成訓(xùn)練結(jié)果不準(zhǔn)確,并且由于集成電路器件的電學(xué)特性的輸出值是處于一個(gè)很大數(shù)量級(jí)的范圍,因此在本申請(qǐng)對(duì)測(cè)試結(jié)果取對(duì)數(shù),使得本申請(qǐng)更加適用于集成電路器件領(lǐng)域內(nèi)的問(wèn)題處理,依本申請(qǐng)進(jìn)行建模時(shí),具有高精度但低樣本數(shù)據(jù)量的特點(diǎn)。
下面以一個(gè)具體的實(shí)例來(lái)驗(yàn)證本申請(qǐng)的樣本選擇方法及裝置的效果。
不妨以一個(gè)溝道長(zhǎng)度為20nm的雙柵無(wú)結(jié)器件作為待建模器件,確定的感興趣的輸入變量分別為Vgs和Vds,輸出變量為Ids,其中確定的輸入變量Vgs的變化區(qū)間為[-0.1V,0.9V],輸入變量Vds的變化區(qū)間為[0.25V,1.05V]。
利用MIV方法算出輸入變量Vgs的平均影響值MIV1為-0.0987,輸入變量Vds的平均影響值MIV2為-0.0096,由于MIV1大于MIV2,因此接下來(lái)按照本申請(qǐng)的樣本選擇方法及裝置計(jì)算輸入變量Vgs的步長(zhǎng)△1,在這過(guò)程中,令輸入變量Vds的值為其變化區(qū)間[0.25V,1.05V]的左端點(diǎn)0.25。
當(dāng)誤差精度被預(yù)設(shè)為0.5%時(shí),可以計(jì)算得到輸入變量Vgs的步長(zhǎng)△1為0.015,進(jìn)一步可以計(jì)算得到輸入變量Vds的步長(zhǎng)△2近似等于0.154。
當(dāng)誤差精度被預(yù)設(shè)為0.1%時(shí),可以計(jì)算得到輸入變量Vgs的步長(zhǎng)△1為0.008,進(jìn)一步可以計(jì)算得到輸入變量Vds的步長(zhǎng)△2近似等于0.082。
當(dāng)將輸入變量Vgs的步長(zhǎng)△1取值介于0.008~0.015之間,對(duì)應(yīng)地,輸入變量Vds的步長(zhǎng)△2也是取值介于0.082~0.154之間,那么該取點(diǎn)得到樣本點(diǎn)集合后進(jìn)行建模,該模型的誤差精度應(yīng)該介于0.1%~0.5%之間。
例如,將輸入變量Vgs的步長(zhǎng)△1取值介于0.008~0.015之間,具體為△1為0.01,相應(yīng)地,△2為0.10;根據(jù)輸入變量Vgs的步長(zhǎng)△1對(duì)輸入變量Vgs的變化區(qū)間[-0.1V,0.9V]進(jìn)行取點(diǎn),根據(jù)輸入變量Vds的步長(zhǎng)△2對(duì)輸入變量Vds的變化區(qū)間[0.25V,1.05V]進(jìn)行取點(diǎn),得到神經(jīng)網(wǎng)絡(luò)的樣本點(diǎn)集合后,配置神經(jīng)網(wǎng)絡(luò),利用此樣本點(diǎn)集合訓(xùn)練神經(jīng)網(wǎng)絡(luò),圖5為訓(xùn)練結(jié)果圖,其中圖5(a)為輸出變量Ids-輸入變量Vds的模型測(cè)結(jié)果與實(shí)測(cè)結(jié)果對(duì)比圖,圖5(b)為輸出變量Ids-輸入變量Vgs的模型測(cè)結(jié)果與實(shí)測(cè)結(jié)果對(duì)比圖,得到的訓(xùn)練結(jié)果的精度(即誤差精度)為0.3%,可以看到,其介于0.1%~0.5%之間,這驗(yàn)證了本申請(qǐng)的效果。
再反過(guò)來(lái),將誤差精度預(yù)設(shè)為0.3%,根據(jù)本申請(qǐng)的樣本選擇方法及裝置,可以計(jì)算得到輸入變量Vgs的步長(zhǎng)△1正好等于0.01以及輸入變量Vds的步長(zhǎng)△2正好等于0.10,這又進(jìn)一步驗(yàn)證了本申請(qǐng)的效果。
因此,依據(jù)本申請(qǐng)的樣本選擇方法及裝置選出的樣本點(diǎn)集合,進(jìn)行建模后最終得到的上述雙柵無(wú)結(jié)器件的模型,可能被運(yùn)用到實(shí)際的電路模擬分析中。
以上內(nèi)容是結(jié)合具體的實(shí)施方式對(duì)本申請(qǐng)所作的進(jìn)一步詳細(xì)說(shuō)明,不能認(rèn)定本申請(qǐng)的具體實(shí)施只局限于這些說(shuō)明。對(duì)于本申請(qǐng)所屬技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本申請(qǐng)發(fā)明構(gòu)思的前提下,還可以做出若干簡(jiǎn)單推演或替換。