반응형

아래와 같은 Layer정보를 가진 MOS가 있는데, 이 모든 Shape정보를 빼서 다른 재사용이 가능한 다른 SKILL파일을 만든다.

Virtusoso는 해당 화면을 하이라이트 시키면 아래와 인터프리터도 해당 창에 대해서 반응한다.

고로 위 MOS창을 하이라이트 시키고 아래 db id를 뽑으면 위 MOS에 관한 db id가 나온다.

위 MOS가 갖고 있는 shape을 모두 추출하여 새로운 .il 파일로 저장하는 코드

 

procedure(mos_info()
    let(()
        out_file = outfile("myReport.il" "w")            ; result.il 파일 쓰기모드 열기
        cv=geGetEditCellView()                         ; db id생성
        fprintf(out_file "procedure(mos_info()\n")	
        fprintf(out_file "let(()\n")
        fprintf(out_file "cv=geGetEditCellView()\n")

        tot_shape=cv~>shapes                            ; shapes의 db를 tot_shape에 넣기
        foreach(one_shape tot_shape                     ; foreach로 하나씩 접근
            layer_box=one_shape~>bBox                   ; 좌표데이터 뽑기
            layer_name=one_shape~>layerName             ; layer이름 데이터 뽑기
            x1_pos=xCoord(xCoord(layer_box))            ; (x1, y1), (x2, y2) 각 값 추출
            x2_pos=yCoord(xCoord(layer_box))
            y1_pos=xCoord(yCoord(layer_box))
            y2_pos=yCoord(yCoord(layer_box))
            fprintf(out_file "dbCreateRect(cv \"%s\" list(%.2f:%.2f %.2f:%.2f)) \n" layer_name x1_pos x2_pos y1_pos y2_pos)
            ;printf("dbCreateRect(cv %s list(%.2f:%.2f %.2f:%.2f)) \n" layer_name x1_pos x2_pos y1_pos y2_pos) ;디버깅용
        );foreach
    );let
fprintf(out_file ")\n")
fprintf(out_file ")\n")
close(out_file)                    ; 반드시 open한 파일은 close하기
);procedure

결과로 아래와 같은 .il 파일이 만들어진다.

이 myReport.il SKILL파일을 빈 layout에 생성해본다.

1. Library Manager

2.

3. 새 라이브러리를 만들고 새 layout 열기

4.

5. load("myReport.il")을 하여 스킬파일을 로드함.

6. 함수명 mos_info를 쳐서 실행

반응형
반응형

아래 MOS의 DB정보 빼내기.

 

    _itemsperline=1  ; 한줄에 표시할 데이터 갯수정의

    cv~>?              ; name 정보

    cv~>??             ; name 및 하위 DB정보 (구분이 힘들어서 파랑색으로 표시)

ex) shape에 관한 정보만 추출.

 

procedure(mos_info()

    let( ()

    cv=geGetEditCellView()

procedure(mos_info()
    let( ()
    cv=geGetEditCellView()
    
    work_lib=cv~>libName		; 라이브러리 이름 불러오기
    cell_name=cv~>cellName		; Cell의 이름 불러오기
    printf("Library name is %s cellname is %s" work_lib cell_name)
    
    tot_shape=cv~>shapes			; foreach에 쓰기 위해 shapes의 dbid를 tot_shape에 대입
    foreach(one_shape tot_shape		; tot_shape의 db를 풀어서 one_shape으로 하나씩 db를 대입
        layer_box=one_shape~>bBox	; one_shape db자료 중 좌표(bBox)값 추출
        layer_name=one_shape~>layerName		; one_shape db자료 중 layer이름을 추출
        printf("%s : %L\n" layer_name layer_box)

    );foreach   

    );let
);procedure

 

 

결과

반응형
반응형

기본적인 Cadence IC SKILL code 포맷. 이 형식으로 코딩을 진행한다.

확장명은 .il 을 사용한다.    예) name.il 

 

func_name : 함수이름 사용자 정의

cv=geGetEditCellView  : Cell DB 아이디를 받음

procedure( func_name( )
	let( ( )
		cv=geGetEditCellView()	; Cell의 DB를 대입.
        
         (DB를 이용해 함수 작성)
        
	);let
);procedure

아래와 같이 DB값을 받음

반응형
반응형

<모든 버전 동일>

부품을 만들다가 Reference를 변경하면 아래와 같이 밑줄이 생긴다.

그러면 해당 부품을 클릭하고 user Assigned Reference - Unset을하면 제거된다.

밑줄 제거

 * 밑줄이 생성되지 않도록 미리 설정하는 방법이 있다.

<16.6버전> 다만 최신 Hotfix(패치)가 설치되어야 한다. 

(최신 패치 확인 법)

1.

2.

 

<17.2 , 17.4버전>

1.

2.

3. Schematic - Display "_" on User Assigned Part Referece 체크박스 해제

 

반응형
반응형

DB내 이름이 다르고 동일 속성을 가진 경우가 있는데, 이를 쉽게 복사 붙여 넣기를 할 수 있다.

아래처럼, Capacitor 내 오른쪽과 같은 속성을 지닌다고 했을 때,

다른 Connectors나 Crystals 등 같은 속성을 갖고 있으면 복사 붙여넣기 하고 이름만 바꿔주면 된다.

새로운 table을 만들고 해당속성을 복사/붙여넣기 하여 이름만 바꿔줄 것이다.

 

 

1. 새 table 만들기

상단 탭에 새로운 table이 생길 것이다.

2. 기존 table 복사하기 (여기선 capacitor table)

테이블 열기
1번을 눌러 전체 테이블을 하이라이트 시킨채로 Edit-copy

3. 새 table에 붙여넣기

붙여넣기 완료

 

반응형

 

 

4. Ctrl + S 를 눌러 저장하고, 새로운 table 이름을 입력

5. 새로고침하고 확인

 

 

 

반응형
반응형

전자부품 및 통신관련 약어들에 대한 좋은 백과사전을 찾았다.

https://www.pcmag.com/encyclopedia

 

Encyclopedia Index

The PCMag Encyclopedia contains definitions on common technical and computer-related terms.

www.pcmag.com

 

 

 

 

반응형
반응형

Allegro PCB Editor에는

마우스 궤적을 이용해서 기능을 사용하는 방법이있다.

 

1. Tools - More - Stroke Editor  (옛버전 Tools - Utilities - Stroke Editor)

2. 아래와 같은 창이 뜨는데, 빈 백지에 두고 마우스 클릭으로 그리는 것이다.

    오른쪽 or 왼쪽마우스 1번 클릭 : 원점이동 (빨간 십자표) or 초기화(refresh)

    클릭한체 드레그 : 궤적그리기

3. Command 이름 입력 - 마우스궤적 그리기 - Add

저장

4. Stroke 사용하기

배치모드 활성화, Find 필터에 Symbols체크

 

선택하기
Spin(회전) 모드가 활성화 된다.

 

아래 블로거님 자료를 참고해도 많은 도움이 된다.

https://m.blog.naver.com/PostView.nhn?blogId=kingreddrake&logNo=221009402310&proxyReferer=https:%2F%2Fwww.google.com%2F

 

OrCAD Tip) Stroke(스트로크) 명령

Stroke 기능은 마우스 궤적으로 명령을 수행하는 기능으로 메뉴 Tools - Utilities - Stroke Editor에...

blog.naver.com

Command를 어떻게 찾는지 궁금하면 아래 링크 참고.

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

 

[PCB Editor] OrCAD Allegro PCB Editor 기본 단축키 / 사용자지정 단축키 만들기.

Cadence Allegro PCB에는 기본으로 내장된 단축키가 있다. 이를 확인하려면, command창에 "funckey"라고 입력하고 엔터를 누르면 된다. 텍스트가 의미하는 바 C: ctrl S: Shift CS : Ctrl + Shift ~S : Ctrl + S..

ansan-survivor.tistory.com

 

반응형
반응형

PCB에서 특정 Refdes를 수정한 후 이 데이트를 바탕으로 다시 OrCAD Capture의 Netlist를 업데이트 시킨다.

 

아래와 같이 Ref가 뒤죽박죽인 PCB board의 Ref를 왼쪽부터 정렬할 것이다.

 

1. Manufacture - Auto Rename Refdes - Rename

2. setup

3. rename클릭

    왼쪽상단부터 우측하단까지 차례대로 Ref가 정렬된다.

 

4. Update된 Ref를 Schematic 으로 보내기, 17.4 버전에는 Design Sync 모드가 생겨서, 한번에 진행이 가능하다.

    그러나 최신 Hotfix가 나와서 019 이전버전과 이후 버전이 약간의 UI가 다르다. 

   (Rename하고 다른이름으로 저장한 후 실행하길 추천)

 

    4-1. OrCAD Capture에서 Design sync하기 (최신 Hotfix 019 이전)

둘중 하나 선택

            1) 클릭하여 화살표를 위쪽으로 변경 (layout -> Schematic 방향)

            2), 3) Browse를 클릭하여 .opj 파일을 선택

            4) 변경사항 확인하고 Sync 클릭

    4-1. OrCAD Capture에서 Design sync하기 (최신 Hotfix 019 이후)

        위처럼 화살표를 바꿔 적용할 필요가 없고, 아래와 같이 PCB - Update Schematic 만 하면 된다.

 

 

        Atmega8 의 Schematic Ref가 변경됨을 확인

 

 

아래 동영상을 참고했다.

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

 

 

(16.6 버전이나 17.2 버전일 경우 아래 참고)

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

 

[CAPTURE / PCB Editor] Back Annotating / Back Annotation 백 에노테이팅 하기 (OrCAD 16.6 / 17.2 버전)

Back annotating이 필요한 이유? (영문) https://resources.pcb.cadence.com/blog/what-is-annotation-and-back-annotation-in-pcb-design-2 What is Annotation and Back Annotation in PCB Design? There are tw..

ansan-survivor.tistory.com

 

반응형
1···150151152153154155156···181

+ Recent posts