'도구/기타'에 해당되는 글 13건

  1. 2016.07.03 누적 공차 계산기
  2. 2016.07.02 몬테카를로 시뮬레이션
  3. 2015.08.05 Package parasitic SPICE model extractor from IBIS file

누적 공차 계산기

도구/기타 2016. 7. 3. 22:00

누적 공차를 계산하는 방법은 크게 3가지 정도가 있다.

먼저 개별 공차를 그냥 산술적으로 더하는 방법이 하나 있고, 다음으로 공차의 제곱들을 더해서 제곱근을 적용하는 방법이 있다. 첫 번째 방법은 너무 극단적으로 큰 누적 공차가 나오므로 현실성이 떨어지고, 두 번째 방법은 샘플이 작을 경우 현실에 조금 가깝기는 하지만 샘플이 상당히 많아질 경우를 잘 반영하지 못한다. 그래서 현실을 좀 더 잘 반영하기 위해서 몬테카를로 방법을 적용하여 누적 공차를 계산할 수 있다.

아래는 몬테카를로 방법을 적용한 누적 공차 계산기이다.


누적 공차 계산.xlsm



'도구 > 기타' 카테고리의 다른 글

Wave 2 Table  (0) 2018.09.03
Spreadsheet Schematic Editor for Allegro  (0) 2016.12.05
패키지/커넥터 핀맵 작성기  (0) 2016.11.21
몬테카를로 시뮬레이션  (0) 2016.07.02
Package parasitic SPICE model extractor from IBIS file  (0) 2015.08.05
:

몬테카를로 시뮬레이션

도구/기타 2016. 7. 2. 22:00

몬테카를로 방법이란, 시뮬레이션 테크닉의 하나로, 많은 수의 실험을 바탕으로 통계 자료를 얻어 그 자료로부터 역산하여 어떤 특정한 수치나 확률분포를 구하는 방법이다. 확률 변수에 의거한 방법이기 때문에, 모나코의 유명한 도박 도시 몬테카를로(Monte Carlo)의 이름을 본 따 명명하였다.

진정한 의미에서의 몬테카를로 방법을 처음 사용한 사람은 현대 컴퓨터 구조의 완성자인 천재 수학자 폰 노이만으로, 그가 참여했던 맨해튼 프로젝트 (미국의 원자폭탄 개발 계획)에서 중성자 확산 시뮬레이션에 처음 사용한 것으로 알려져 있다.

몬테카를로 방법은, 특성상 통계 자료가 많을수록, 또 입력 값의 분포가 고를수록 결과의 정밀성이 보장된다. 그래서 컴퓨터를 이용하여 시뮬레이션이 진행된다.

몬테카를로법의 특징은 적용이 쉽다는 것이다. 실제로 파이의 값을 정확히 구하기 위해서는 무한급수에 관한 지식과 오차범위에 관한 지식 등 다양한 배경 지식을 바탕으로 올바른 알고리즘을 만들어 그 값을 계산해야 하지만, 몬테카를로 방법은 그런 모든 절차와 관계없이 짧은 컴퓨터 프로그램 몇 줄만으로 비교적 정확한 수치를 얻을 수 있다. 이런 장점은 이론적 배경만으로는 계산하기 어려운 수치들 - 예를 들면 복잡한 형태를 가진 표면에 빛을 비추었을 때 반사광의 분포, 복잡한 분자 계의 화학적 특성 분석, 핵융합로에서 중성자 빔이 반응에 미치는 영향 등 - 을 직접 구할 필요가 있을 때 빛을 발한다. 그래서 컴퓨터를 이용한 분석이 발달한 최근에는 거의 모든 과학과 공학 분야에서 몬테카를로 방법이 광범위하게 사용되고 있다.

몬테카를로 방법을 적용할 때, 입력 값의 확률 분포와 실험의 수학적 모델링이 정확하지 않으면 몬테카를로 방법은 무의미하다는 점에 주의하여야 한다. 난수의 분포가 분석에 큰 영향을 미치므로 필요한 난수의 범위와 분포에 따른 올바른 난수 생성 함수에도 주의를 기울여야 한다.

 

몬테카를로 시뮬레이션 진행 순서:

난수 발생 → 현재 분석하려는 발생 이벤트로의 변환 → 한 번의 이벤트에 대한 결과 획득 → 위 과정을 충분히 반복해서 확률 데이터 취득 → 결과(기대치) 획득



몬테카를로_v1_10k.xlsm


'도구 > 기타' 카테고리의 다른 글

Wave 2 Table  (0) 2018.09.03
Spreadsheet Schematic Editor for Allegro  (0) 2016.12.05
패키지/커넥터 핀맵 작성기  (0) 2016.11.21
누적 공차 계산기  (0) 2016.07.03
Package parasitic SPICE model extractor from IBIS file  (0) 2015.08.05
:

Package parasitic SPICE model extractor from IBIS file

도구/기타 2015. 8. 5. 22:00

IBIS 파일 안에는 디바이스(component)의 버퍼 정보 외에도 각 핀들에 대한 패키지 기생 정보 즉 패키지의 R, L, C 값에 대한 정보가 담겨 있다. 보통 시뮬레이터들은 이 정보를 활용하여 시뮬레이션을 할 수 있다. 시뮬레이션에 패키지 정보를 포함시킬 수도 있고 뺄 수도 있다. 보통 핀에서 프로빙을 할 경우에 문제가 되지 않지만 다이(die)에서 신호 프로빙을 할 경우, 패키지 정보가 포함 되지 않는 시뮬레이터들이 많다. 이 경우 정확도를 위해 패키지 정보를 포함 시키려면 불편함을 감수하면 패키지 기생 값을 R,L,C 모델로 스키메틱에서 그려야 하는 수고를 해야한다. - Hyperlynx 같은 툴은 사용자의 추가 노력 없이 핀에서 프로빙 할 지 다이에서 할 지 고를 수 있는 옵션이 있어서 편하다. 

아무튼, 핀 수가 좀 많으면 이것을 일일이 그리는 것도 은근히 시간 많이 걸리고 귀찮다. 부품 평균 값으로 쓸 수도 있지만 그것은 어디까지나 평균 값인 것이고 핀에 따라서 편차가 클수도 있으므로 개별 핀의 기생 값을 사용하는 것이 바람직할 것이다. 암튼, 매뉴얼로 값 넣다 보면 실수하기도 쉽고... 귀찮다. 그래서, IBIS 파일에서 핀의 패키지 기생 R, L, C 값을 읽고 자동으로 SPICE 모델을 만들어 주는 툴을 만들어 보았다.


rlc spice model generator from ibs 150802.xlsm


그냥 급하게 만들어 본 것이라 제약 사항이 좀 있다.

*.ibs 파일의 형식은 windows 형식(LF+CR) 텍스트 파일이어야 한다. UNIX 형식(LF)은 오류가 난다. 일부 *.ibs 파일은 유닉스 형식을 저장되는 경우가 있으므로 확인해야 한다. 워드로 읽어서 저장할 때 윈도우 형식으로 저장하면 쉽게 형식을 바꿀 수 있다. 그 외에 2번 실행시 파일 저장 안되는 오류 등 몇가지 버그들이 있지만 사용에 큰 지장은 없다. 필요하다면 VBA 소스 코드를 수정해서 사용하면 된다.

부가적으로 SPICE 모델 추출 외에 각 핀의 패키지 내 wire impedance와 propagation delay 리스트를 작성해 준다.

아래는 사용 과정이다.

먼저, 탐색기에서 rlc spice model generator form ibs 150802.xlm를 클릭하여 실행한다.


매크로 보안 경고가 뜨면 '콘텐츠 사용'을 눌러 프로그램을 실행 시키다.


IBIS 파일을 찾는 파일 열기 다이얼로그가 열리면 모델 추출을 원하는 *.ibs 파일을 찾아서 연다.


프로그램이 즉시 실행되어 ZnTD라는 시트가 생성되며, 각 핀의 패키지 impedance와 propagation delay 가 자동 계산되어 리스트로 보여진다.


첫 번째 시트(Sheet1)를 클릭하면 방금 읽어 들인 IBIS 파일이 보여진다.


이제 방금 엑셀 매크로를 실행한 폴더를 다시 보면 IBIS 파일 안에 정의된 부품 이름으로 된 폴더가 생긴 것을 확인할 수 있다. 폴더 하나를 들어가 보면 각 해당 핀 별로 기생 SPICE 모델이 생긴것을 확인할 수 있다.


모든 핀에 대한 SPICE 모델이 부품 폴더 안에 들어 있다.  그 중 하나를 텍스트 에디터로 열면 아래 처럼 자동으로 생성된 모델으 확인할 수 있다.





'도구 > 기타' 카테고리의 다른 글

Wave 2 Table  (0) 2018.09.03
Spreadsheet Schematic Editor for Allegro  (0) 2016.12.05
패키지/커넥터 핀맵 작성기  (0) 2016.11.21
누적 공차 계산기  (0) 2016.07.03
몬테카를로 시뮬레이션  (0) 2016.07.02
: