반응형

PCB Layout 설계를 완료했지만, 3D파일에 대한 정보를 적용하지 않았을 때, Board설계 중간에 STEP파일을 적용시키는 방법이 있다.

 

1.  Setup - STEP Mapping...

2. 아래 path를 클릭하면, 해당 Board파일의 STEP파일을 불러오는 경로가 어딘지 확인할 수 있다.

3. 해당 경로에 내가 다운로드 또는 설계한 3D모델의 STEP파일은 넣는다.

4. 그러면 아래와 같이 STEP파일이 Scope에 잡힌다.

6. 

    6-1. Symbols missing STEP model을 체크하여 STEP파일이 없는 파일을 필터링

    6-2. 바꾸고자 하는 Symbols 선택

    6-3. 불러온 STEP파일 선택

   

7. 해당 View와 Rotation, Offset을 이용해서 맞춘다.

    7-1. hide board를 체크하여 보드는 안보이도록 한다.

    7-2. 회전시켜 원하는 방향에 놓기

    7-3. TOP View로 핀 다리 맞추기

    7-4. Right나 Back등 다른 View를 통해 높이를 맞춘다.

다른 View로 확인

8. save한다.

(결과 확인) 이곳에 해당 STEP파일이 생긴걸 알 수 있다.

 

 

만약 STEP파일을 내가 만든 경로에서 불러오고 싶다면, user preference의 path를 추가해주면 된다.

원하는 경로를 추가하고, 저장 후 프로그램을 껐다가 다시 켠다.

 

 

=============< 패키지 Footprint 만들 때 STEP파일 넣는 법> ===============

https://ansan-survivor.tistory.com/100

 

[PCB Editor] OrCAD/Allegro PCB Editor 3D모델 Mapping 사이트 / Footprint에 step 파일 맵핑(mapping)시키기.

IC별 3D step 모델 파일을 아래 링크에서 구할 수 있다. http://www.traceparts.com http://www.pcb-3d.com http://www.digikey.com/en/resources/3d-models http://www.grabcad.com http://www.3dcontentcentral...

ansan-survivor.tistory.com

======< Ultra Librian 활용하여 원하는 IC및 소자 다운로드, STEP파일 넣는 법> ==================

https://ansan-survivor.tistory.com/32?category=384538

 

OrCAD Capture IC회사의 라이브러리 파일(.OLB) 다운로드 하기 / 무료 심볼(Symbol)받기

Orcad Capture를 하다보면, 필요한 라이브러리 Symbol을 만들어 주어야 하는데, 이는 여간 귀찮은 일이다. 어차피 우리가 디자인하는 Symbol은 결국 IC회사에서 만든 Datasheet를 보고 만들어야 하는데, 이�

ansan-survivor.tistory.com

https://ansan-survivor.tistory.com/33

 

OrCAD/Allegro PCB IC회사의 Footprint 파일( .psm / .pad / .dra ) 및 3D Model 파일 (.step) 무료 다운

이전 포스팅과 마찬가지로, Ultra Libraian은 Cadence 및 여러 ECAD의 Symbol뿐만 아니라, 패키지의 Footprint 와 심지어 기구설계시 필요한 3D Model까지 지원한다. 기구설계자는 기구 설계시 Chip의 높이나 너�

ansan-survivor.tistory.com

 

반응형
반응형

준비물

필자는 아래 포트를 구매해서 사용했다.

 

https://coupa.ng/bOshkG

파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음

 

AP-MW9 안드로이드 아이폰 USB C-type 일체형 3-in-1 MHL 미러링 케이블 2M

COUPANG

www.coupang.com

 

 

 

 

1. 포트를 연결한다.

    핸드폰 충전젝

    HDMI젝은 TV로 연결한다.

    USB젝은 전원연결용이다. (반드시 전원이 연결되어야 작동한다)

HDMI 케이블은 이렇게 생겼다.

2. 핸드폰 APP ezcast 다운로드

    (어플모양은 이렇게 생겼다.)

ezcast

3. TV뒤에 HDMI 포트에 외부입력이 몇인지 숫자가 쓰여있는데, 그게 맞는 외부입력을 리모콘으로 설정한다.

   그럼 화면에 아래와 같이 QR코드가 나올것이다.

4. ezcast를 사용하기전에 핸드폰 환경설정 USB 테더링(USB Tethering)을 켜준다.

   USB가 기기와 연결되면 해당스위치가 활성화 된다.

5. ezcast 상단 버튼을 눌러 장치를 찾는다.

6. 장치가 인식이 안되면, 아래 QR코드를 이용하여 TV화면에 대면 장치를 찾는다.

7. 이를 이용해 TV와 핸드폰을 미러링 시킨다.

 

Test. 

youtube영상을 틀고 핸드폰 화면을 가로로 맞추면, TV화면에 꽉차게 출력된다. 그 밖에 Neflix 등도 마찬가지이다. 단, 소리는 핸드폰에서 출력이 된다.

 

반응형
반응형

부품 배치를 완료하고 Silkscreen Film을 뽑을 때, 

 

 

아래와 같이 부품 배치와 Routing을 완료한 후, 왼쪽은 Routing 이 된 Top side, 오른쪽은 Pin과 Via만 보이도록 설정한 것이다.  AutoSilk를 이용하면, 저기 만들어진 Silkscreen이 Dynamic(동적)으로 Via와 Pin을 피해서 만들어진다. 즉 제조상에 Pin과 Via에 Silkscreen 잉크를 뿌리는 문제를 Gerber파일 자체에서 해결해 준다.

1. Manufacture - Silkscreen

2.  실크스크린 생성 설정

    Layer                             : Autosilk 생성할 면의 위치 ( Top, Bottom 또는 Both(둘다) )

    Elements                      : Lines 만 할건지, REF(text)도 할 건지

    Text                             : 각도 몇도인 Text만 할 건지

    Class & Subclasses         : 어떤 요소에 할지 선택

    Minmum line length        : 최소 이 길이 이상이 되어야 Silkscreen에 표시

    Element to pad clearance : Pad로 부터 이 길이 이상 떨어진곳부터 Silkscreen 표시

 

    설정을 완료하고 Silkscreen을 누르면, 실크스크린이 생성된다.

 

3. Color Dialog에서 확인하기

    Setup - Colors 또는  Ctrl + F5 키를 누른다.

        Manufacturing - Autosilk_Top 체크박스를 켜고, 잘 보일 수 있도록 아무색으로 변경한다.

       그러면 기존의 Slikscreen과 AutoSilk로 만든 Silkscreen이 겹쳐 나오게 된다.

        기존 Silkscreen 체크박스를 해제한다.

        그러면 아래와 같이 Autosilk로 생성된 부분만 남게된다.

        자세히 보면 Via Hole이 있는 부분에 자동으로 제외시키고 Silkscreen이 만들어진다.

4. Via홀을 이동시키면 Silkscreen부분이 동적으로 생성되고 소멸되고 할 수 있다.

Via 위치 바꿔보기
Via위치 바꿔보기

이제 동적으로 Via의 위치를 피해서 Silkscreen이 자동으로 변경된다.

 

 

<TIP.> 만약 Silkscreen의 굵기를 지정하지 않으면, 나중에 출력되지 않을 수 있는데, 이 실수를 미연에 방지하기 위해 아래와 같은 지정되지 않은 Silkscreen 굵기를 기본으로 설정하는 방법이 있다.

 

1. setup - user preference

2.  Manufacture

   - artwork_undef_line_width (정의되지 않는 라인 굵기 지정)

   - artwork_undefined_width_error (정의 되지 않으면 에러 일으킴)

 

아래 영상을 참고

https://www.youtube.com/watch?v=Q1euJw41sM4 

 

https://www.youtube.com/watch?v=ODumzQwb4Pc 

 

 

반응형
반응형

아래와 같은 BGA타입 Package을 만들어본다.

 

============== Pad 만들기 =================

datasheet Pin grid

 

1. 사용되는 Pad는 1번핀과 나머지핀 2종류이다.

2. Padstack 실행 - Smd, Square 설정 - 단위설정 (mm단위)

3. Design Layers - Square, 가로 세로 0.63

   Mask Layers - Soldermask, PasteMask 가로 세로 0.63

4. 저장한다.

5. 다시 Padstack실행하고, 1번 pad를 만든다.

    SMD 타입의 - Chamferred Rectangle을 선택

6. pad의 가로세로 0.63을 맞춰주고,

   체크박스 Upper left에만 Chamfer를 적용한다.

7. 마찬가지로 Mask Layer의 Soldermask와 Pastemask에도 적용시켜준다.

8. 1번핀도 저장시켜준다.

 

BGA 핀에 관한 자세한 설명은 아래 사이트 참고.

https://macrofab.com/blog/bga-pad-creation-smd-nsmd/

 

BGA Pad Creation - SMD vs NSMD? - MacroFab

How to properly use SMD and NSMD pads for creating BGA footprints. Contact today to find out more!

macrofab.com

 

 

============== Footprint 만들기 =================

 

1. Package symbol (wizard) 로 실행.

2.

3.

        17.4에서 작업하면 이런 경고가 나올 수있는데, 하위 버전과 호환이 안될거라는 메세지다 Yes눌러 진행

4.

5. 데이터 시트의 Grid 배치모양을보고, 세로(Vertical) 11개, 가로(Horizontal) 7개 배치 

   일단 Full Matrix로 생성한다. (나중에 없는부분 수동삭제)

6. 1번핀이

7.

E : 9mm D: 15mm
pitch : 1.27

8. 아까 만든 1번 pad와  기본 pad를 적용

   * <= 기호를 사용하여 필터링한다.

9.

10.    Find옵션창에서 - Pin만 활성화 시키고

        Edit - Delete 커맨드를 이용한다. (단축키 Ctrl + D )

아래와 같이 하면 해당핀이 지워진다.

1. 드레그

2. 하이라이트된 부분 Ctrl + D

11. 완성

BGA 풋프린트 완성. (3D View)

아래 Datasheet를 보고 만들었다.

05081817_A_lga70.pdf
0.18MB

 

 

 

 

참고 동영상으로 아래 링크.

https://www.youtube.com/watch?v=wfCM0Ho8IE0&app=desktop

 

반응형
반응형

 

아래 링크는 전세계의 실시간 바람의 흐름을 보여주는 링크이다.

태풍이 어디쯤 오는지 알 수 있다.

 

https://earth.nullschool.net/ko/#current/wind/surface/level/orthographic=-214.43,28.14,559

 

earth :: a global map of wind, weather, and ocean conditions

See current wind, weather, ocean, and pollution conditions, as forecast by supercomputers, on an interactive animated map. Updated every three hours.

earth.nullschool.net

 

 

 

 

반응형
반응형

Cadence에서 출시한 제품이 무수히 많은데, 이에 대해 어떤 순으로 공부를 시작해야 하는지에 대한 가이드가 있다.

 

OrCAD나 Pspice는 Cadence에서 합병한 제품으로 이 Learning Map에서는 제외되어 있다.

Learning Map에서는 전통적인 Cadence Tool에 대해서만 나타나 있다.

 

Schematic 회로도면을 그리는 Tool으로 Allegro Entry HDL (과거이름 Concept HDL) 이라는 Tool이 있다. 즉 흔이 OrCAD Capture를 그리고 Allegro PCB로 넘어가는게 익숙하지만, 이는 OrCAD가 인수합병되며 프로그램이 하나로 합쳐진 것이며, 기존에는 HDL으로 Schematic을 그리고 Allegro PCB로 Netlist를 넘겨주었다. HDL은 옛날 유닉스 환경에서 개발되었으며, 복잡한 라이브러리 구조때문에 진입장벽이 높다.

 

 

 

그 외 Cadence Tool으로는 Allegro Package Designer(IC패키지 설계), Virtuoso (Analog IC 회로 및  layout설계), Digital IC 설계, 시뮬레이션 툴 등이 있다.

 

master-learning-maps.pdf
0.58MB

 

 

회로 및 PCB설계

schematic (회로도 그리기) : Allegro Entry HDL

PCB (PCB layout 설계)      : Allegro PCB Designer

SI/PI 시뮬레이션              : Sigrity 툴

전사적 라이브러리 관리 툴 : EDM 

IC 패키지설계               

Allegro Package Designer, Sip Layout

(그러나 17.4 버전부터 통합되어 "Allergro Package Designer Plus"가 되었다고 한다.)

아날로그 반도체 설계, RF설계              

Virtuoso Schematic : 반도체 회로도 그리기

Virtuoso Layout      : 반도체 layout 배치

Spectre Simulator    : 반도체 회로 및 layout 시뮬레이션

디지털 반도체 설계              

기본적으로 FPGA언어(Verilog or VHDL)를 아는 상태로 디지털 설계를 한다.

Genus        : RTL레벨 Verilog설계, Synthesis작업

INNOVUS    : 타이밍 시뮬레이션 

 

디지털 반도체 설계 및 Verification 시뮬레이션 툴

디지털 IC HDL 하드웨어 언어 학습 방향

 

기타 등등 ~

Cadence Tool을 배울때 무엇부터 어떻게 시작해야 하는지 가이드라인을 잡기 좋다.

또한 Cadence Korea 지사에서 일부 교육을 제공한다. 아쉽게도 미국만큼 제공하지는 않는듯 하다.

 

반응형
반응형

 

아래 코드를 실행

함수 받는 인자

mos_info(x값, y값, width, length, finger) 에 따라 원하는 MOS생성

procedure(mos_info(x y width length finger)   ; 인자 5개를 받음
let(()

cv=geGetEditCellView()

;dbCreateRect(cv "pd" list(0.00+x:1.00+y 6.12+x+width:7.80+y+length)) 
dbCreateRect(cv "m0" list(3.66+x+width:1.10+y 6.02+x+width:7.70+y+length))
dbCreateRect(cv "m0" list(0.10+x:1.10+y 2.46+x:7.70+y+length))
dbCreateRect(cv "cd" list(4.34+x+width:3.90+y 5.34+x+width:4.90+y))
dbCreateRect(cv "cd" list(4.34+x+width:2.00+y 5.34+x+width:3.00+y))
dbCreateRect(cv "cd" list(4.34+x+width:3.90+y 5.34+x+width:4.90+y))
dbCreateRect(cv "cd" list(4.34+x+width:5.80+y 5.34+x+width:6.80+y))
dbCreateRect(cv "cd" list(0.78+x:3.90+y 1.78+x:4.90+y))
dbCreateRect(cv "cd" list(0.78+x:2.00+y 1.78+x:3.00+y))
dbCreateRect(cv "cd" list(0.78+x:3.90+y 1.78+x:4.90+y))
dbCreateRect(cv "cd" list(0.78+x:5.80+y 1.78+x:6.80+y))
dbCreateRect(cv "gc" list(2.56+x:0.00+y 3.56+x+width:8.80+y+length))

gc_width=(3.56+x+width)-(2.56+x)
gc_dist=(6.12+x+width)-(2.56+x)
m0_width = (2.46+x)-(0.10+x)
m0_dist = (3.66+x+width)-(0.10+x)
cd_dist = (5.34+x+width)-(4.34+x+width)

; finger가 2개 이상일 때 실행
cnt = 0
if(finger > 1  then
  for(i 1 finger-1
    println(i)
    dbCreateRect(cv "gc" list((2.56+x)+(gc_dist*i):0.00+y (2.56+x)+(gc_dist*i)+gc_width:8.80+y+length))
    dbCreateRect(cv "m0" list((3.66+x+width)+(m0_dist*i):1.10+y (3.66+x+width)+(m0_dist*i)+m0_width:7.70+y+length))
    cnt = i
  ;dbCreateRect(cv "cd" list(5.34+x+width:
  );for
  dbCreateRect(cv "pd" list(0.00+x:1.00+y (3.66+x+width)+(m0_dist*cnt)+m0_width+0.1:7.70+y+length))

);if

)
반응형

결과

반응형
반응형

 

 

 

아래 프로그램을 form.il 으로 저장하고 돌리면,

x_loc=hiCreateFloatField(
	?name 'x_loc			
	?prompt "x_loc:"
	?value 0.0              ; 초기값
)

y_loc=hiCreateFloatField(
	?name 'y_loc
	?prompt "y_loc:"
	?value 0.0
)

width=hiCreateFloatField(
	?name 'width
	?prompt "width:"
	?value 0.0
)

length=hiCreateFloatField(
	?name 'length
	?prompt "length:"
	?value 0.0
)

hiCreateAppForm(
	?name 'form_menu                               ;hiDisplayForm(함수명)에 사용될 이름
	?formTitle "make mos menu"                     ;창 이름
	?callback "mos_create()"                       ;불러오는 함수이름
	?fields list(
                list(x_loc 10:0 150:50 100)        ; 이름, 위치, 너비
                list(y_loc 10:30 160:50 100)
                list(width 10:60 170:50 100)
                list(length 10:90 180:50 100)
                )
)

 

결과로 아래와 같은 창이 만들어진다.

1. 위 함수를 로드한다.

    1-1. 위코드를 복사해서 인터프리터에 붙여넣기

실행하면 아래와 같이 뜬다

 

2. hiDisplayForm('form_menu)를 인터프리터 창에 입력하면 직접만든 window가 실행됨.

 

 

반응형
1···149150151152153154155···181

+ Recent posts