(51) Int. Cl. (19) 대한민국특허청 (KR) (12) 등록특허공보 (B1) G06F 17/50 (2006.01) H01L 21/00 (2006.01) (21) 출원번호 10-2008-0129152 (22) 출원일자 2008 년 12 월 18 일 심사청구일자 2008 년 12 월 18 일 (65) 공개번호 10-2010-0070560 (43) 공개일자 2010 년 06 월 28 일 (56) 선행기술조사문헌 JP2005004709 A JP07182310 A (45) 공고일자 2011년12월12일 (11) 등록번호 10-1093001 (24) 등록일자 2011년12월06일 (73) 특허권자 포항공과대학교산학협력단 경상북도포항시남구효자동산 31 포항공과대학교내 주식회사하이닉스반도체 경기이천시부발읍아미리산 136-1 (72) 발명자 이준호 경기도수원시팔달구우만 2 동주공 2 단지아파트 207-1203 이형동 서울특별시강남구개포 1 동 660-1 번지주공 1 단지 3-306 ( 뒷면에계속 ) (74) 대리인 특허법인신성전체청구항수 : 총 15 항심사관 : 최훈영 (54) 회로모델해석방법및그시스템 (57) 요약 회로해석속도를증가시킬수있는회로모델해석방법및그시스템에관한기술이개시된다. 이러한기술에따르면간접해석방법에따라반복연산을수행하여근사해를산출하는근사해산출단계 ; 및상기근사해산출단계에의해산출된현재근사해의오차변화율에따라상기현재근사해및동적예측값중어느하나를선택적으로초기값으로설정하여상기근사해산출단계로복귀하는동적예측단계를포함한다. 대표도 - 도 2-1 -
(72) 발명자 김현석 인천광역시남구관교동신비마을아파트 110 동 103-516 차홍파 중국길림성연길시공원가원춘위 7 조, 연변대학교 19 빌딩 4 단원 1 층서 김영환 경상북도포항시남구효자동산 31 번지포항공과대학교전자전기공학과 790-784 배태일 경상북도포항시남구효자동산 31 번지포항공과대학교전자전기공학과 790-784 김욱 경상북도포항시남구효자동산 31 번지포항공과대학교전자전기공학과 790-784 김진욱 경상북도포항시남구효자동산 31 번지포항공과대학교전자전기공학과 790-784 양형균 경상북도포항시남구효자동산 31 번지포항공과대학교전자전기공학과 790-784 - 2 -
특허청구의범위청구항 1 간접해석방법에따라반복연산을수행하여근사해를산출하는제1단계 ; 상기제1단계에의해산출된현재근사해의오차변화율과기설정된제1설정값을비교하는제2단계 ; 상기오차변화율이상기제1설정값보다작은경우에, 상기현재근사해를초기값으로설정하는제3단계 ; 및상기오차변화율이상기제1설정값보다크고 1보다작은경우에, 상기현재근사해가산출되는데사용된초기값이직전반복연산에의해산출된직전근사해이었으면동적예측값을상기초기값으로설정하고, 상기현재근사해가산출되는데사용된초기값이상기동적예측값이었으면상기현재근사해를상기초기값으로설정하는제4단계를포함하고, 상기제3단계또는상기제4단계의수행이후에는상기제1단계로복귀하는회로모델해석방법. 청구항 2 삭제청구항 3 제1항에있어서, 상기제1설정값은 1보다작은값인회로모델해석방법. 청구항 4 제3항에있어서, 상기동적예측값은하기의수학식에의해산출되는회로모델해석방법. [ 수학식 ] 단, 는상기현재근사해, 는상기직전근사해, 는상기동적예측값, 는상기현재근사 해의오차, 수임. 은상기직전근사해의오차, m 은자연수로서동적예측단위, k 는자연수로서반복연산의횟 청구항 5 제 4 항에있어서, 상기회로모델의노드의방정식이하기 [ 수학식 1] 과같을경우, 상기현재근사해의오차와상기직전근사해 - 3 -
의오차사이에는하기 [ 수학식 2] 의관계가성립되며, 상기현재근사해의오차는하기 [ 수학식 2] 의일반해인하기 [ 수학식 3] 으로표현되는회로모델해석방법. [ 수학식 1] AX=B, A=S-T [ 수학식 2] [ 수학식 3] 단, A, B, S, T 는벡터, 는로표현되는근사해의오차식에서의고유값 (eigen value), 는의고유벡터 (eigen vector), c는초기조건을만족시키기위한계수, 는간접해석방법에따른반복연산을위해필요한최초의초기값임. 청구항 6 삭제청구항 7 삭제청구항 8 삭제청구항 9 제4항에있어서, 상기오차변화율이 1보다크고기설정된제2설정값보다작은경우에, 상기현재근사해를상기초기값으로설정하는제5단계 ; 및상기오차변화율이 1보다크고상기제2설정값보다큰경우에, 상기동적예측단위를감소시키고, 상기감소된동적예측단위에기초하여산출되는상기동적예측값을상기초기값으로설정하는제6단계를더포함하고, 상기제5단계또는상기제6단계의수행이후에는상기제1단계로복귀하는회로모델해석방법. 청구항 10 삭제청구항 11 제1항에있어서, 상기오차변화율은하기 [ 수학식 ] 으로정의되는회로모델해석방법. - 4 -
[ 수학식 ] 단, 는상기현재근사해의오차, 은직전근사해의오차, k는자연수로서, 반복연산의횟수임. 청구항 12 간접해석방법에따라반복연산을수행하여근사해를산출하는근사해산출수단, 및상기근사해산출수단에의해산출된현재근사해의오차변화율과기설정된제1설정값의비교결과에따라상기현재근사해및동적예측값중어느하나를초기값으로설정하여상기근사해산출수단으로피드백시키는동적예측수단을포함하고, 상기동적예측수단은상기오차변화율이상기제1설정값보다작은경우에, 상기현재근사해를상기초기값으로설정하고, 상기오차변화율이상기제1설정값보다크고 1보다작은경우에, 상기현재근사해가산출되는데사용된초기값이직전반복연산에의해산출된직전근사해이었으면상기동적예측값을상기초기값으로설정하고, 상기현재근사해가산출되는데사용된초기값이상기동적예측값이었으면상기현재근사해를상기초기값으로설정하는회로모델해석시스템. 청구항 13 삭제청구항 14 제12항에있어서, 상기제1설정값은 1보다작은값인회로모델해석시스템. 청구항 15 제14항에있어서, 상기동적예측값은하기수학식에의해산출되는회로모델해석시스템. [ 수학식 ] - 5 -
단, 는상기현재근사해, 는상기직전근사해, 는상기동적예측값, 는상기현재근사 해의오차, 수임. 은상기직전근사해의오차, m 은자연수로서동적예측단위, k 는자연수로서반복연산의횟 청구항 16 제15항에있어서, 상기회로모델의노드의방정식이하기 [ 수학식 1] 과같을경우, 상기현재근사해의오차와상기직전근사해의오차사이에는하기 [ 수학식 2] 의관계가성립되며, 상기현재근사해의오차는하기 [ 수학식 2] 의일반해인하기 [ 수학식 3] 으로표현되는회로모델해석시스템. [ 수학식 1] AX=B, A=S-T [ 수학식 2] [ 수학식 3] 단, A, B, S, T 는벡터, 는로표현되는근사해의오차식에서의고유값 (eigen value), 는의고유벡터 (eigen vector), c는초기조건을만족시키기위한계수, 는간접해석방법에따른반복연산을위해필요한최초의초기값임. 청구항 17 삭제청구항 18 삭제청구항 19 삭제청구항 20 제15항에있어서, 상기동적예측수단은상기오차변화율이 1보다크고기설정된제2설정값보다작은경우에, 상기현재근사해를상기초기값으로설정하고, 상기오차변화율이 1보다크고상기제2설정값보다큰경우에, 상기동적예측단위를감소시키고, 상기감소된동적예측단위에기초하여산출되는상기동적예측값을상기초기값으로설정하는회로모델해석시스템. 청구항 21-6 -
삭제청구항 22 제12항에있어서, 상기오차변화율은하기 [ 수학식 ] 으로정의되는회로모델해석시스템. [ 수학식 ] 단, 는상기현재근사해의오차, 은직전근사해의오차, k는자연수로서, 반복연산의횟수임. 청구항 23 회로모델해석시스템에, 간접해석방법에따라반복연산을수행하여근사해를산출하는근사해산출기능 ; 및상기근사해산출기능에의해산출된현재근사해의오차변화율과기설정된제1설정값의비교결과에따라상기현재근사해및동적예측값중어느하나를선택적으로초기값으로설정하여상기근사해산출기능으로피드백시키는동적예측기능을실현시키고, 상기동적예측기능은상기오차변화율이상기제1설정값보다작은경우에, 상기현재근사해를상기초기값으로설정하고, 상기오차변화율이상기제1설정값보다크고 1보다작은경우에, 상기현재근사해가산출되는데사용된초기값이직전반복연산에의해산출된직전근사해이었으면상기동적예측값을상기초기값으로설정하고, 상기현재근사해가산출되는데사용된초기값이상기동적예측값이었으면상기현재근사해를상기초기값으로설정하는프로그램을기록한컴퓨터로판독가능한기록매체. 청구항 24 삭제청구항 25 제23항에있어서, 상기제1설정값은 1보다작은값인컴퓨터로판독가능한기록매체. 청구항 26 제25항에있어서, 상기동적예측값은하기수학식에의해산출되는컴퓨터로판독가능한기록매체. - 7 -
[ 수학식 ] 단, 는상기현재근사해, 는상기직전근사해, 는상기동적예측값, 는상기현재근사해 의오차, 임. 은상기직전근사해의오차, m 은자연수로서동적예측단위, k 는자연수로서반복연산의횟수 명세서 발명의상세한설명 [0001] 기술분야 본발명은회로모델해석방법및그시스템에관한것으로, 보다상세하게는회로모델해석속도를증가시키 는회로모델해석방법및그시스템에관한것이다. [0002] [0003] [0004] [0005] 배경기술설계된회로모델이의도대로동작하는지확인하기위해서는시뮬레이션을통한회로모델해석이필요하다. 관련하여, 회로에사용되는소자의개수가점점기하급수적으로증가되고회로자체도훨씬복잡해져서회로모델을보다빠르고효율적으로해석하기위한연구가활발히진행되어왔다. 회로모델을해석하는방법은크게직접해석방법 (direct method) 과간접해석방법 (inderect metod) 으로구분된다. 직접해석방법은정확한해를구할수있는장점이있지만매우많은메모리를필요로하며해석하는시스템의사이즈에비례하여해석복잡도가증가하므로큰규모의회로모델해석에는적합하지않다. LU분해법 (LU decomposition) 이대표적인직접해석방법이다. 간접해석방법은반복적인연산 (iterative computation) 을통해근사해로부터오차를줄여가며최종해를산출하는방법이다. 간접해석방법의예로서 GS(Gauss-Seidel) 방법, SOR(successive over-relaxation) 방법이있다. 직접해석방법보다간접해석방법이우수한이유는병렬연산 (parallel computation) 이가능하다는점이다. 즉, 간접해석방법에따르면회로모델을여러부분으로나누어병렬적으로회로모델을해석할수있으며메모리의분산사용이가능하기때문에대규모회로모델해석을위해, 간접해석방법이보다많이이용되고있다. 다만간접해석방법은근사해로부터최종해를산출하기까지반복연산이수행되기때문에반복연산의횟수에따라회로모델해석에소요되는시간및비용이증가하는문제가있다. 따라서반복횟수를감소시켜회로모델해석속도를증가시키고비용을절감할수있는간접해석방법이필요하다. 발명의내용 [0006] 해결하고자하는과제 본발명은상기문제점을해결하기위하여제안된것으로서, 회로모델을해석하는데소요되는시간과비용을 줄일수있는회로모델해석방법및그시스템을제공하는데그목적이있다. [0007] 과제해결수단 상기목적을달성하기위한본발명은간접해석방법에따라반복연산을수행하여근사해를산출하는근사해산 출단계 ; 및상기근사해산출단계에의해산출된현재근사해의오차변화율에따라상기현재근사해및동적예 - 8 -
측값중어느하나를선택적으로초기값으로설정하여상기근사해산출단계로복귀하는동적예측단계를포함하 는회로모델해석방법을제공한다. [0008] [0009] 또한상기목적을달성하기위한본발명은간접해석방법에따라반복연산을수행하여근사해를산출하는근사해산출수단 ; 및상기근사해산출수단에의해산출된현재근사해의오차변화율에따라상기현재근사해및동적예측값중어느하나를선택적으로초기값으로설정하여상기근사해산출수단으로피드백시키는동적예측수단을포함하는회로모델해석시스템을제공한다. 또한상기목적을달성하기위한본발명은회로모델해석시스템에, 간접해석방법에따라반복연산을수행하여근사해를산출하는근사해산출기능 ; 및상기근사해산출기능에의해산출된현재근사해의오차변화율에따라상기현재근사해및동적예측값중어느하나를선택적으로초기값으로설정하여상기근사해산출기능으로피드백시키는동적예측기능을실현시키기위한프로그램을기록한컴퓨터로판독가능한기록매체를제공한다. [0010] 효과본발명에따르면간접해석방법을통해회로모델을해석하는과정에서산출되는근사해간의오차변화율의크기에따라반복연산의스텝사이즈를동적으로조절함으로써회로모델해석에소요되는비용및시간을감소시킬수있다. [0011] [0012] 발명의실시를위한구체적인내용이하본발명이속하는기술분야에서통상의지식을가진자가본발명의기술적사상을용이하게실시할수있도록상세히설명하기위하여, 본발명의가장바람직한실시예를첨부도면을참조하여설명하기로한다. 도 1은종래의간접해석방법을이용하여수렴조건을만족하는회로모델을해석하여산출된해의오차와반복 연산의횟수 (k) 간의관계를나타내는그래프이다. 도 1의그래프에서 y축의오차는 [6*10-3, 1*10-3 ] 의범위로표현되어있으며, x축의횟수 (k) 는 [1*10 0, 1*10 4 ] 의범위에서로그스케일 (log10) 로표현되어있다. 간접해석방법을이용해산출되는근사해는소정의오차를가질수있다. 그리고여기서회로모델을해석한다는것은회로모델의다수의노드의전압값을구하는것일수있으며해석모델결과산출된근사해는회로모델의다수의노드의전압값일수있다. [0013] 도 1 을참조하면반복연산의횟수 (k) 가증가할수록근사해의오차는감소한다. 근사해의오차는직전근사해와 현재근사해의차이를말한다. 즉, 근사해의오차 ( ) 는 k-1 번째근사해 ( ) 와 k 번 째근사해 ( ) 의차이를말한다. [0014] 그리고도 1을참조하면근사해의오차 ( ) 는반복연산의횟수 (k) 가증가할수록크게감소하다가소정반복횟수이후에는감소되는정도가미약해진다는것을알수있다. 반복연산의횟수 (k) 가증가할수록산출되는근사해는최종해에근접하며따라서오차가작아지기때문이다. 따라서, 하기 [ 수학식1] 로정의되는, k번째근사 해 ( 은 1 에가까워진다. ) 의오차변화율은반복연산의횟수 (k) 가증가할수록, 즉근사해가최종해에근접할수록오차변화율 수학식 1 [0015] [0016] [0017] 즉, k번째근사해의오차 ( ) 와 k-1번째근사해의오차 ( ) 의차이가적어져오차가작아질수록오차변화 율은 1에가까워진다. 도 1에도시된그래프는반복연산의횟수 (k) 의소정값을빠른영역 (Fast region A) 과느린영역 (Slow region B) 으로구분될수있다. 후술되는바와같이, 빠른영역과느린영역의구분기준은제1설정값이다. 빠른영역 에서는반복연산의횟수 (k) 가증가할수록근사해의오차가비교적빠른속도로감소하며오차변화율이상대적 - 9 -
으로크다. 반면, 느린영역에서는오차변화율이 1에근접하며반복연산의횟수 (k) 가증가하더라도근사해의오차가크게변하지않기때문에오차변화율이상대적으로작다. 즉, 오차변화율은간접해석방법에따른회로모델해석의속도를나타내며, 따라서빠른영역에서는근사해가최종해와많은차이가있으며회로모델해석속도가빠르지만느린영역에서는근사해가최종해에근접한상태로서회로모델해석속도가느리다. [0018] [0019] [0020] 본발명에따르면, 느린영역의근사해가갖는속성, 즉근사해가최종해에근접한상태라는점을이용하여느린영역에서의회로모델해석속도를증가시킨다. 즉, 느린영역에서는간접해석방법의반복연산과정에서요구되는초기값으로서, 직전반복연산과정에서산출된근사해가아닌동적예측값을사용한다. 따라서느린영역에서의회로모델해석속도를증가시키고결과적으로전체적인회로모델해석의속도를증가시킴으로써회로모델을해석하는데소요되는시간과비용을줄인다. 도 2는본발명의일실시예에따른회로모델해석방법의흐름도이다. 도 2에도시된바와같이, 본발명의일실시예에따른회로모델해석방법은초기화단계 (S201) 로부터시작된다. 초기화단계 (S201) 에서는상기 GS(Gauss-Seidel) 방법, SOR(successive over-relaxation) 방법등의간접해석방법에따른반복연산을위해필요한최초의초기값과, 후술되는제1, 2설정값및동적예측단위값등이설정된다. 후술되는상수값또한초기화단계 (S201) 에서설정될수있다. 다음, 근사해산출단계 (S203) 에서는상기 GS(Gauss-Seidel) 방법, SOR(successive over-relaxation) 방법등의간접해석방법에따른반복연산 (iterative computation) 이수행되어근사해가산출된다. 반복연산 (iterative computation) 에따르면, 근사해산출단계 (S203) 에서현재산출된근사해가예를들어 k 번째근사해 ( ) 라면, 후술되는단계 S209 에서현재근사해즉 k 번째근사해 ( ) 가초기값즉직전근사해로설정됨으로써그다음 으로수행되는근사해산출단계 (S203) 에서는 k+ 1번째근사해 ( ) 가산출된다. 한편, 근사해산출단계 (S20 3) 에서현재산출된근사해가예를들어 k번째근사해 ( ) 인경우에, 후술되는바와같이동적예측단계 (S215) 에서는 k+ m번째근사해 ( ) 가산출되며, 단계 S217에서동적예측값즉 k+ m번째근사해 ( ) 가초기값즉직전근사해로설정됨으로써그다음으로수행되는근사해산출단계 (S203) 에서는 k+ m+ 1번째근사해 ( ) 가산출된다. [0021] [0022] 다음, 단계 S205에서는, 근사해산출단계 (S203) 에서산출된근사해가허용오차범위내에속하는지판단된다. 허용오차는현재산출된근사해가최종해로서이용될수있는지여부의기준이되는오차이다. 따라서근사해산출단계 (S203) 에서산출된근사해가허용오차범위내에속하는것으로판단되면, 당해근사해는간접해석방법에따른최종해로서이용되며프로세스는종료된다. 반면, 근사해산출단계 (S203) 에서산출된근사해가허용오차범위내에속하지않는것으로판단되면, 상기허용오차범위내에속하는근사해가산출될때까지이후의프로세스가반복하여수행된다. 근사해산출단계 (S203) 에서산출된근사해가허용오차범위내에속하지않는것으로판단되면, 상기 [ 수학식1] 로표현되는현재근사해 ( 예를들어, ) 의오차변화율이속하는범위에따라, 다음근사해산출단계 (S203) 에서수행되는반복연산에필요한초기값을달리설정함으로써반복해석방법에의해산출되는근사해의스텝사이즈를동적으로조절한다. 이러한스텝사이즈의동적조절에의해도 1에도시된그래프의느린구간에서반복연산의횟수를감소시킴으로써회로모델해석속도를증가시키고비용을절감할수있다. 스텝사이즈관련, 후술되는바와같이, 예를들어근사해산출단계 (S203) 에서현재산출된근사해가 k번째근사해 ( ) 라면, 단계 S209 에서현재근사해즉 k 번째근사해 ( ) 가초기값즉직전근사해로설정됨으로써그다음으로수행되 는근사해산출단계 (S203) 에서는 k+ 1 번째근사해 ( ) 가산출된다. 그러나, 근사해산출단계 (S203) 에서현재 산출된근사해가 k 번째근사해 ( ) 인경우에, 동적예측단계 (S215) 에서는동적예측값즉 k+ m 번째근사해 ( ) 가산출되며, 단계 S217 에서동적예측값즉 k+ m 번째근사해 ( ) 가초기값즉직전근사해로설 정됨으로써그다음으로수행되는근사해산출단계 (S203) 에서는 k+ m+ 1 번째근사해 ( ) 가산출된다. 즉, 단계 S209 에의해산출되는근사해의스텝사이즈가 1 이라는점을고려하면동적예측단계 (S215) 에의해산 - 10 -
출되는근사해의스텝사이즈는 m+ 1 이다. [0023] 근사해산출단계 (S203) 에서산출된근사해가허용오차범위내에속하지않는것으로판단되면, 단계 S207에서상기현재근사해의오차변화율이제1설정값보다작은지여부가판단된다. 상기제1설정값은도 1에도시된그래프에서빠른영역과느린영역을구분하는기준값이다. 상기된바와같이빠른영역에서는오차변화율크며회로모델해석속도가빠른반면, 느린영역에서는오차변화율이작으며회로모델해석속도가느리다. 상기제1설정값은 1보다작은값으로설정되며, 바람직하게는 1에근사한값으로설정된다. 예를들어, 상기제1설정값은 0.9일수있다예를들어상기제1설정값이 0.9인경우현재근사해, 예를들어 k번째근사해 ( ) 의오 차변화율이 0.8 이면프로세스는단계 S209 로분기되며, k 번째근사해 ( 로분기된다. ) 의오차변화율이 0.95 라면단계 S211 [0024] 단계 S207 의판단결과, 상기현재근사해의오차변화율이상기제 1 설정값보다작은경우에, 단계 S209 에서는 현재근사해, 예를들어 k 번째근사해 ( ) 가간접해석방법에따른반복연산을위해필요한초기값으로설 정되며, 단계 S209 이후에피드백되는근사해산출단계 (S203) 에서는 k+ 1 번째근사해 ( 후의프로세스가다시수행된다. ) 가산출됨으로써이 [0025] [0026] 한편, 단계 S207의판단결과, 상기현재근사해의오차변화율이상기제1설정값보다큰경우에, 단계 S211에서상기현재근사해의오차변화율이 1보다작은지여부가판단된다. 오차변화율이 1 이상인경우는반복연산의횟수가증가할수록근사해의오차가증가된다는것을의미하므로오차를제어할필요가있다. 단계 S211의판단결과, 상기현재근사해의오차변화율이 1보다작은경우즉오차제어가불필요한경우에는, 피드백되는근사해산출단계 (S203) 에서수행되는반복연산을위해필요한초기값으로서 k번째근사해 ( ) 및동적예측단계 (S215) 에서산출되는동적예측값즉 k+ m번째근사해 ( ) 가교번하여설정된다. 동적예측단계 (S215) 에서산출되는동적예측값즉 k+ m번째근사해 ( ) 가근사해산출단계 (S203) 에서수행되는반복연산을위해필요한초기값으로사용된다는의미는근사해의스텝사이즈를 m+ 1로증가시킨다는의미이며이러한스텝사이즈의증가로인하여오차가증가될수있다. 따라서본발명에따른회로모델해석방법 은근사해산출단계 (S203) 에서수행되는반복연산을위해필요한초기값으로서 k 번째근사해 ( ) 및동적예 측단계 (S215) 에서산출되는동적예측값즉 k+ m 번째근사해 ( 오차가감소될수있도록한다. ) 가교번하여설정되도록함으로써근사해의 [0027] 구체적으로, 단계 S211의판단결과, 상기현재근사해의오차변화율이 1보다작은경우즉오차제어가불필요한경우에는, 단계 S213에서는, 현재근사해가산출되는데사용된초기값이단계 S209에의해설정된직전근사해이었는지아니면단계 S217에의해설정된동적예측값이었는지여부가판단된다. 단계 S213의판단결과, 현재근사해가산출되는데사용된초기값이단계 S209에의해설정된직전근사해이었으면프로세스가동적예측 단계 (S215) 로분기되어하기 [ 수학식 12] 에의해, 현재근사해즉 k 번째근사해 ( ) 와직전근사해즉 k-1 번째 근사해 ( ) 에기초하여동적예측값즉 k+ m 번째근사해 ( ) 가산출된다. 반면, 단계 S213 의판단결과, 현재근사해가산출되는데사용된초기값이단계 S217 에의해설정된동적예측값이었으면프로세스가단계 S209 로분기된다. [0028] 이하에서는동적예측단계 (S215) 및단계 S217 에서동적예측값, 즉 k+ m 번째근사해 ( 자세히설명된다. ) 가예측되는원리가 [0029] 회로모델의노드의방정식이 AX=B 이고 A=S-T(A, B, S, T 는벡터 ) 라면근사해산출단계 (S203) 에서하기 [ 수학식 2] 에따라현재근사해, 예를들어 k 번째근사해 ( ) 가도출된다. 수학식 2 [0030] - 11 -
[0031] 상기 [ 수학식 2] 에의해현재근사해즉 k 번째근사해의오차 ( ) 와직전근사해즉 k-1 번째근사해의오차 ( ) 간에는하기 [ 수학식 3] 의관계가성립한다. 수학식 3 [0032] [0033] 단, 따라서 k 번째근사해의오차 ( ) 는하기 [ 수학식 4] 와같이정의될수있다. 수학식 4 [0034] 단, 는간접해석방법에따른반복연산을위해필요한최초의초기값 [0035] 이때의고유값 (eigen value) 을라고하고반복연산에의해산출되는근사해의수렴조건은 이다. [0036] 한편, 상기 [ 수학식 3] 의일반해는잘알려진바와같이하기 [ 수학식 5] 로표현된다. 수학식 5 [0037] [0038] [0039] 여기서, 는의고유벡터 (eigen vector) 이며 c는초기조건을만족시키기위한계수이다. 와 c는모두상수이다. 상기 [ 수학식5] 로표현되는오차 ( ) 와반복연산의횟수 (k) 와의관계를나타내는그래프가도 1이다. 앞서설명된바와같이, 도 1에도시된그래프의빠른영역에서는오차변화율이상대적으로큰데, 그이유는빠른영역에서오차 ( ) 가상대적으로작은고유값 ( ) 의지수에의해지배적으로결정되기때문이다. 반면, 느린영 역에서는오차변화율이상대적으로작은데, 그이유는느린영역에서오차 ( ) 가 1에가까운큰고유값 ( ) 의지수에의해지배적으로결정되기때문이다. 느린영역에서의고유값 ( ), 즉 1에가까운고유값 ( ) 은하기의 [ 수학식6] 으로표현될수있다. 여기서 t는느린영역에서의오차 ( ) 를구성하는고유값 ( ) 중에서큰값을갖는고유값 ( ) 의개수를나타낸다. 수학식 6 [0040] [0041] [0042] 여기서, 는매우작은양의실수이다. 상기 [ 수학식 6] 을고려하면, 상기 [ 수학식 5] 는하기 [ 수학식 7] 로근사화될수있다. 수학식 7 [0043] [0044] 따라서느린영역에서의오차 ( ) 를구성하는고유값 ( ) 중에서작은값을갖는고유값 ( ) 을무시하면, 느 린영역에서의근사화된오차 ( ) 는상기 [ 수학식 5] 및 [ 수학식 7] 에의해하기 [ 수학식 8] 과같이표현될수 - 12 -
있다. 수학식 8 [0045] [0046] 따라서, 상기 [ 수학식 8] 을고려하면, 느린영역에서의근사화된오차간차이 ( 9] 로표현된다. ) 는일정하며하기 [ 수학식 수학식 9 [0047] [0048] 한편, k+ 1 번째근사해의오차 ( ) 부터 k+ m 번째근사해의오차 ( ) 는하기 [ 수학식 10] 으로 표현된다. 수학식 10 [0049] [0050] 상기 [ 수학식 10] 을정리하면, 하기 [ 수학식 11] 과같이, k+ 1 번째근사해의오차 ( ) 내지 k+ m 번째근사해의 오차 ( ) 및 k 번째근사해 ( ) 로표현되는 k+ m 번째근사해 ( ) 가산출된다. 수학식 11 [0051] [0052] 한편, 상기 [ 수학식 9] 로표현되는느린영역에서의근사화된오차간차이 ( ) 가일정하다는점, 근사화된 오차간차이 ( ) 와오차간차이 ( ) 가근사관계라는점을고려하면, 상기 [ 수학식 11] 은하기 [ 수학식 12] 로정리될수있다. 수학식 12 [0053] - 13 -
[0054] 정리하면, 동적예측단계 (S215) 에서는상기 [ 수학식 12] 에의해, 현재근사해즉 k 번째근사해 ( ) 와직전근 사해즉 k-1 번째근사해 ( ) 에기초하여동적예측값즉 k+ m 번째근사해 ( ) 가산출되는것이다. [0055] 여기서, m 은동적예측단위이다. 근사해산출단계 (S203) 에서현재산출된근사해가예를들어 k 번째근사해 ( ) 라면, 단계 S209 에서현재근사해즉 k 번째근사해 ( ) 가초기값즉직전근사해로설정됨으로써그 다음으로수행되는근사해산출단계 (S203) 에서는 k+ 1 번째근사해 ( ) 가산출된다. 그러나, 근사해산출단계 (S203) 에서현재산출된근사해가예를들어 k 번째근사해 ( 명된바와같이동적예측값으로서 k+ m 번째근사해 ( ) 인경우에, 동적예측단계 (S215) 에서는앞서설 ) 가산출되며, 후속단계인단계 S217 에서상기동 적예측값즉 k+ m 번째근사해 ( ) 가초기값즉직전근사해로설정됨으로써그다음으로수행되는근사해 산출단계 (S203) 에서는 k+ m+ 1번째근사해 ( ) 가산출된다. 즉, 단계 S209에의해산출되는근사해의스텝사이즈가 1이라는점을고려하면동적예측단계 (S215) 에의해산출되는근사해의스텝사이즈는 m+ 1이되는것이다. 본발명의일실시예에따르면, 도 1에도시된그래프의느린영역에서근사해를산출하는반복연산의스텝사이즈를, 동적예측을통해, m+ 1로증가시킴으로써반복연산의횟수를감소시켜회로모델해석속도를증가시키고비용을절감할수있다. 동적예측단위 m은사용자의설정에의해결정되는값으로서예를들어 100 일수있다. [0056] 다시도 2로돌아와, 단계 S211의판단결과, 상기현재근사해의오차변화율이 1보다큰경우즉오차제어가필요한경우에는, 단계 S219에서상기현재근사해의오차변화율이제2설정값보다작은지여부가판단된다. 상기제2설정값은사용자의설정에의해결정되는값으로서예를들어 6일수있다. 기본적으로, 현재근사해의오차변화율이 1보다큰경우에는동적예측단위인 m의값을감소시킴으로써오차변화율이 1보다작아지도록오차제어가필요하다. 그러나, 본발명의일실시예에따르면현재근사해의오차변화율이 1보다큰경우일지라도무조건동적예측단위 m의값을감소시키는것이아니라, 오차변화율이 1보다크고상기제2설정값보다는작은범위에서는프로세스를단계 S209로분기시킴으로써현재근사해, 예를들어 k번째근사해 ( ) 가간접해석방법에따른반복연산을위해필요한초기값으로설정되도록하여, 단계 S209 이후에피드백되는근사해산 출단계 (S203) 에서 k+ 1번째근사해 ( ) 가산출되도록한다. 현재근사해, 예를들어 k번째근사해 ( ) 의오차변화율이 1보다큰경우상기제2설정값초과여부를판단하지않고항상 m을감소시켜동적예측값, 즉 k+ m 번째근사해 ( ) 가산출되도록하는경우, m이매우작아져회로모델해석속도가충분히빨라질수없기때문이다. 따라서본발명의일실시예에따른회로모델해석방법은상기제2설정값을기준으로하여, 피드백 되는근사해산출단계 (S203) 에서수행되는반복연산을위해필요한초기값으로서 k 번째근사해 ( ) 및동적 예측단계 (S215) 에서산출되는동적예측값즉 k+ m번째근사해 ( ) 중어느하나가선택적으로설정된다. 결국, m을일정값이상으로유지해회로모델해석의속도를충분히증가시키면서근사해의오차도감소시킬수있다. 단계 S219로부터단계 S209로의분기를통해근사해산출단계 (S203) 에서산출되는 k+ 1번째근사해 ( ) 의오차변화율은 1보다작은값으로감소될수있다. [0057] 단계 S219 에서상기현재근사해의오차변화율이상기제 2 설정값보다큰경우에는, 단계 S221 에서동적예측단 위인 m 의값이감소된다. 다음으로, 동적예측단계 (S215) 에서는감소된 m 에기초하여, 동적예측값으로서 k+ m 번 째근사해 ( ) 가산출되며, 후속단계인단계 S217 에서상기동적예측값즉 k+ m 번째근사해 ( ) 가 초기값즉직전근사해로설정됨으로써그다음으로수행되는근사해산출단계 (S203) 에서는 k+ m+ 1 번째근사해 ( ) 가산출된다. 단계 S219 로부터단계 S221, S215, S217 로의분기를통해감소된 m 에기초하여, 근사 해산출단계 (S203) 에서산출되는 k+ m+ 1 번째근사해 ( ) 의오차변화율은 1 보다작은값으로감소될수 있다. 예를들어초기 m이 100으로설정되고현재근사해, 예를들어 k번째근사해 ( ) 의오차변화율이상기제2설정값보다큰경우 m은단계 S221에의해예를들어 90, 80 등과같이감소되며이경우다음반복연산에의해산출되는근사해의오차변화율이상기제2설정값보다작아질때까지감소될수있다. 보다작은 m으로산 - 14 -
출되는근사해는스텝사이즈가감소된해이기때문에그만큼오차는감소될수있다. [0058] 도 3 은도 2 에도시된프로세스를보다구체화한흐름도로서, 도 3 에도시된흐름도를의사코드 (pseudo code) 로 표현하면다음의 [ 표 1] 과같다. 도 3 및 [ 표 1] 에서오차변화율은 "error_ratio," 제 1 설정값은 "Max_err_ratio," 제 2 설정값은 "E TH " 로표현되어있다. 동적오류예측단위 m 은 "N skip " 으로표현되어있다. 한편, 도 3 및 [ 표 1] 에서 "Flag_com" 은동적오류예측과정이수행되는지여부를나타내는플래그값으로서 "O" 의값이 동적오류예측과정이수행되는경우를나타낸다. 또한, "XM," 및 "X k " 는현재근사해를나타내며, "XM_pre," 및 "X k+ 1 " 는다음반복연산을위해필요한초기값을나타낸다. 표 1 [0059] [0060] 도 4 는본발명의일실시예에따른회로모델해석방법으로회로모델을해석한결과와종래의간접해석방법 으로회로모델을해석한결과를나타내는그래프로서, 느린영역에서의해의오차와반복연산의횟수 (k) 간의 관계를나타내는그래프이다. 도 5 의그래프에서 y 축의오차는 [0.02, 0] 의범위로표현되어있으며, x 축의횟 수 (k) 는 [1*10 0, 1*10 4 ] 의범위에서로그스케일 (log10) 로표현되어있다. 도 4에도시된그래프에서 "GS method" 는종래의간접해석방법으로회로모델을해석한결과이며, "The Proposed method" 가본발명의일실시예에따른회로모델해석방법으로회로모델을해석한결과이다. 도 4에도시된그래프로부터알수있는바와같이, 본발명의일실시예에따라회로모델이해석되면종래보다빠르게최종해에도달한다. 한편, 본발명의일실시예에따른회로해석과정에서오차가갑자기증가하는경우가있으나, 다시금빠른속도로오차가감소하는것을알수있다. 앞서설명된바와같이, 본발명의일실시예에따르면현재근사해의오차변화율이 1 보다큰경우에, 상기제2설정값을기준으로하여, 피드백되는근사해산출단계 (S203) 에서수행되는반복연산을 위해필요한초기값으로서 k 번째근사해 ( ) 및동적예측단계 (S215) 에서산출되는동적예측값즉 k+ m 번째 근사해 ( ) 중어느하나가선택적으로설정되도록함으로써, m 을일정값이상으로유지해회로모델해석 의속도를충분히증가시키면서근사해의오차도감소시킬수있다. [0061] 다음의 [ 표 2] 는본발명에따른회로모델해석방법으로회로모델을해석한결과와종래의간접해석방법으로 - 15 -
회로모델을해석한결과를나타내는표이다. [ 표 2] 에서본발명에따른회로모델해석방법은 "Proposed" 로 표시되었으며, 종래기술에따른회로모델해석방법은 "Un-acceler." 로표시되었다. [0062] [0063] 본발명에따른회로모델해석방법으로회로모델을해석한결과는상기제1설정값을 0.99, m을 100, 상기제 2설정값을 6으로설정하고동적오류예측모드에서 m이 1/2만큼씩감소되도록설정한상태에서의결과이다. 그리고도 2의근사해산출단계 (S203) 에서이용되는간접해석방법으로는 GS 방법 ([ 표2] 에서 "GS relaxation" 으로표시 ) 과 SOR 방법 ([ 표2] 에서 "SOR" 로표시 ) 이채택되었다. 회로의크기 ("Size") 는회로모델의노드의개수를의미한다. 속도증가비 ("Speed-up") 는본발명에따른회로모델해석방법대비종래의간접해석방법에의한해석속도를나타낸다. 따라서속도증가비가 1보다클수록본발명에따른회로모델해석방법의해석속도가종래의간접해석방법의해석속도보다빠르다는것을나타낸다. 표 2 [0064] [0065] [0066] [0067] [0068] [0069] [0070] [0071] 상기 [ 표2] 로부터알수있는바와같이, 본발명에따른회로모델해석방법으로회로모델을해석한결과, 종래기술에따른회로모델해석방법에비하여반복횟수 ("the number of iterations") 가감소하고해석속도 ("Speed-up") 가증가했음을알수있다. 한편, 비록도면에도시되지는아니하였으나, 본발명의일실시예에따른회로해석방법, 예를들어도 2에도시된프로세스는본발명의일실시예에따른회로해석시스템에의해수행될수있다. 본발명의일실시예에따른회로해석시스템은간접해석방법에따라반복연산을수행하여근사해를산출하는근사해산출수단 ; 및상기근사해산출수단에의해산출된현재근사해의오차변화율에따라상기현재근사해및동적예측값중어느하나를선택적으로초기값으로설정하여상기근사해산출수단으로피드백시키는동적예측수단을포함한다. 상기동적예측수단은상기오차변화율이제1설정값보다작은경우에, 상기현재근사해를상기초기값으로설정하여상기근사해산출수단으로피드백시키는초기값설정부를포함한다. 상기동적예측수단은상기오차변화율이상기제1설정값보다크고 1보다작은경우에, 상기현재근사해가산출되는데사용된초기값이상기근사해산출수단의직전반복연산에의해산출된직전근사해이었으면하기수학식에의해상기동적예측값을산출하는동적예측부를더포함하며, 상기초기값설정부는상기동적예측부에의해산출되는상기동적예측값을상기초기값으로설정하여상기근사해산출수단으로피드백시킨다. 한편, 상기초기값설정부는상기오차변화율이상기제1설정값보다크고 1보다작은경우에, 상기현재근사해가산출되는데사용된초기값이상기동적예측부에의해산출된동적예측값이었으면상기현재근사해를상기초기값으로설정하여상기근사해산출수단으로피드백시킨다. 그리고, 상기초기값설정부는상기오차변화율이 1보다크고제2설정값보다작은경우에, 상기현재근사해를상기초기값으로설정하여상기근사해산출수단으로피드백시킨다. 한편, 상기동적예측부는상기오차변화율이상기제2설정값보다큰경우에, 상기동적예측단위를감소시키고, 상기감소된동적예측단위에기초하여상기동적예측값을산출하며, 상기초기값설정부는상기동적예측부에 - 16 -
의해산출되는상기동적예측값을상기초기값으로설정하여상기근사해산출수단으로피드백시킨다. [0072] [0073] 나아가, 전술한바와같은본발명에따른회로해석방법은컴퓨터프로그램으로작성이가능하다. 그리고상기프로그램을구성하는코드및코드세그먼트는당해분야의컴퓨터프로그래머에의하여용이하게추론될수있다. 또한, 상기작성된프로그램은컴퓨터가읽을수있는기록매체 ( 정보저장매체 ) 에저장되고, 컴퓨터에의하여판독되고실행됨으로써본발명의방법을구현한다. 그리고상기기록매체는컴퓨터가판독할수있는모든형태의기록매체 (CD, DVD와같은유형적매체뿐만아니라반송파와같은무형적매체 ) 를포함한다. 본발명은비록한정된실시예와도면에의해설명되었으나, 본발명은이것에의해한정되지않으며본발명이속하는기술분야에서통상의지식을가진자에의해본발명의기술사상과특허청구범위의균등범위내에서다양한수정및변형이가능함은물론이다. [0074] [0075] [0076] [0077] 도면의간단한설명도 1은종래의간접해석방법을이용하여수렴조건을만족하는회로모델을해석하여산출된해의오차와반복연산의횟수 (k) 간의관계를나타내는그래프, 도 2는본발명의일실시예에따른회로모델해석방법의흐름도, 도 3은도 2에도시된프로세스를보다구체화한흐름도, 도 4는본발명의일실시예에따른회로모델해석방법으로회로모델을해석한결과와종래의간접해석방법으로회로모델을해석한결과를나타내는그래프이다. 도면 도면 1-17 -
도면 2-18 -
도면 3-19 -
도면 4-20 -