반응형

 

 

먼저 사전에 공용의 라이브러리를 사용할 수 있는 환경을 구축시킨 후 이제 라이브러리 관리자의 관점으로 Allegro DE-HDL으로 라이브러리를 생성해본다.

 

<전사적인 환경 구축>

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

 

[Allegro Concept HDL/Design Entry] Cadence Allegro Design Entry를 구축하기 위한 환경 변수 세팅 (전사적인 Schema

(버전은 17.4 최신버전으로 진행) Cadence의 Allegro는 회로 설계부터 PCB설계까지 모든 부분을 망라한 Front to Back 의 철학으로 설계되었다. 또한 단순 개인사용자를 염두하기보다 거대한 조직의 흐름

ansan-survivor.tistory.com

 

<라이브러리 배포를 위한 환경 구축>

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

 

[Allegro Concept HDL/Design Entry] Allegro PCB Librarian 라이브러리 배포 환경 구축

* Cadence의 회로설계부터 PCB제작에 관한 모든 Flow는 아래와 같다. 이중 가장 먼저인 설계에 사용될 라이브러리를 배포 시킬 수 있는 환경을 만드는 방법에 대해 포스팅한다. Allegro PCB Librarian 환경

ansan-survivor.tistory.com

 

위 과정들이 선행 된 후, 본격적으적으로 심볼을 생성한다.

 * 경로는 로컬이든, 공유폴더든 상관 없다. 라이브러리 관리자는 작업을 완료하고 결과 release 심볼만 위에서 구축한 환경으로 보내면 되기 때문이다.

 

아래와 같은 IC심볼 74LVT574를 만들어본다.

(datasheet 다운로드)

74LVT574_NXP.pdf
0.12MB

 

  데이터 시트를 보면 LOGIC SYMBOL이 있고, 아래 심볼으로 제작해본다.

0. Project manager 프로그램 실행.

Project manager 실행

 

1. 라이센스 선택하기.

    Allegro PCB Librarian을 사용하기 위해서는 "Allegro Managed Library Authoring" 라이센스 옵션이 필요

 

2. Create Library Project 클릭하여 라이브러리 프로젝트 생성

Library 데이터를 만들 때 체크사항
서버를 통한 데이터 메니지가 아니면 Non-DM
프로젝트 이름, Location에 반드시 동일 이름으로 써준다. 그래야 폴더가 생성되고 그 내부에서 작업할 수 있다.
Cadence 제공 default 라이브러리들 import 하여 포함 (선택사항), 사용하지 않으면 전부 Remove하면되고, 일부만 사용할거면 Add로 추가한다.
Cadence 제공 default 라이브러리들 import 하여 포함 (선택사항 사내 라이브러리를 사용한다면 포함하지 않는다.)
프로젝트 이름, 경로 확인 후 finish
내가만든 경로에 프로젝트들이 생성 됨.

  <생성된 파일 분석하기>

    cds.lib를 열어보면, DEFINE으로 자동정의가 되어있는데, 자동으로 생성된 worklib가 [내프로젝트명_lib] 으로 정의된 것이다.

    worklib를 열어보면 아래 두 폴더가 있는데, 파트 심볼 생성후 배치 테스트를 하기 위한 dummy_root_design폴더가 있다.

    모든 프로젝트를 생성하면 각각의 Project Manager파일 (.cpm)이 생성된다. design_library는 재활용성을 위한 객체화를 위해 만든 프로젝트는 자기 자신을 라이브러리화 시킨다. 그리고 library는 향후 불러오거나 활용하거나 할 때 객체화한 자신을 포함 한 다른 라이브러리들을 Include하여 뒤에 추가한다.

객체화한 자기자신을 포함하고, 향후 include되면 뒤에다 cpm에 자동으로 추가된다.

Allegro PCB Librarian Flow가 선택되면 아래와 같이 화면이 변경 되고, 현재 어떤 Flow를 설계중인지 상단의 Flows를 보고 확인 가능하다

 

3. Library Explorer 실행 및 확인

현재는 project에 dummy밖에 없다.

 

4. 새로운 라이브러리 class 만들기, Rename 이름 바꾸기

생성한 후 rename으로 원하는 class로 이름을 바꿔준다. 그러면 자동으로 내 project폴더에 해당 라이브러리 폴더가 생긴것을 알 수 있다.

 

5. Part Developer를 실행 시킨다. (2가지 방법)

해당 디렉터리 클릭 후 - 마우스 우클릭 - Part Developer

 

6. 새로운 Cell을 생성한다. (ic의 새 파트를 만드는 예시)

    * 하나의 파트에 대해 생각해 보면, 회로 설계도의 복잡도에 따라 회로 설계 심볼모양이 여러개(homogeneous, heterogeneous )가 있을 수 있고, Footprint의 모양도 Dip, SMD, BGA 등 여러 모양이 있을 수 있고 회사의 재고나 유통과정 가격변동에 따라 여러 제조사의 Footprint를 미리 만들어놓고 유연하게 대응을 할 수 있을 것이다.

(모든상황에 유연하게 대처할 수 있는 파트를 만들 수 있도록하는 Cadence의 철학을 이해하는것이 중요하다.)

해당 파트를 개발 하기 위한 환경으로 진입한다.

   * Cadence에 철학에 걸 맞게, 여기서 중요한 3가지는 아래와 같다. 

    Packages : 해당 파트의 Physical적인 Footprint 정보이다.

    Symbols : 해당 파트의 Logical적인 Schematic Symbol 이다.

    Part Table Files : 해당 파트의 속성 값들, BOM등 detail한 정보를 담는 부분이다.

    여기서는 하나의 Symbol을 사용하며 DIP타입과 SOIC타입의 Footprint를 사용한다는 가정하에 만들어 본다.

    또한 Package를 등록하면서 알게되는 Pin의 정보를 바탕으로 역으로 Symbol을 자동생성 시키는 기능을 사용한다.

 

 

7. 파트 패키지와 심볼 만들기

    Footprint는 Cadence 내장 풋프린트인, DIP20_3SOIC20_3 을 사용한다.

    (Cadence의 내장 풋프린트에 관해서는 아래 참고)

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

 

[PCB Editor] OrCAD PCB / Allegro PCB Cadence에서 기본 제공하는 모든 풋프린트(Footprint) 보기

OrCAD 또는 Allegro PCB를 설치하면 Cadence에서 제공하는 기본 Footprint들이 있다. 필요한 Footprint를 찾을 때 해당 Footprint가 어떻게 생겼는지, 내가 찾고자 하는 것이 맞는지 답답할 수 있다. 가장 최신버

ansan-survivor.tistory.com

    7-1. Package - New

    7-2. physical parts (pack types) - new

    7-3. 타입 이름 입력

   

파트이름_타입 생성되었는지 확인

    7-4. DIP20_3 풋프린트 등록하기

Jedec Type에 Footprint 이름이 들어가야 반영된다.

 

8. 등록한 Footprint정보를 바탕으로 Logical Symbol 맵핑 생성

    datasheet의 심볼정보를 보고 pin의 속성을 넣어준다.

 

    8-1. Package pin탭 - 마우스우클릭 - Insert Row After

    ※ Part developer에서는 NOT을 앞에 *기호를 넣어서 표시한다.

    9-2. 값 입력

        name : 핀 이름

        type : 타입

        S1 : 핀번호

negative bar를 HDL에서 *으로 사용, S1 은 pin 넘버를 의미

    9-3. 복수의 핀 정보 넣기

        prefix : 접두어

        From x To x : 0부터 7까지

        Type : 모든타입

        Location : 심볼에 이 핀들이 위치할 구역 (왼쪽)

왼쪽핀에 D0~D7까지. Add를 누르면 아래 한꺼번에 속성이 들어간다.
위 정보만 바꿔서 나머지 핀도 Add를 누르면 아래 쭉 추가가 된다.
OK를 누르면 만든 핀 속성들이 쭉 들어간다.

10. 전원(power) 핀 넣기

    전원은 Global 의 속성으로 아래부분에서 넣는다.

    GND핀은 10번핀, VCC핀은 20번 핀으로 맵핑.

 

 

<살펴보기>

Package Pins 탭을 보면 좌측은 Logical Pins 이고 우측은 Physcial Pins 이다.

서로 동일한 갯수의 핀이 맵핑 되어야 하고, Logical에서 맵핑을 시키면 자동으로 Physical에 display된다.

S1 (slot)에 핀에 해당되는 번호를 넣으면 자동으로 맵핑이 된다.

 

11. Symbol 생성하기

왼쪽 Symbols에 생성된 것을 알 수 있다.

 

12. 생성된 심볼 보기. < 이 기능은 상위 라이센스가 있어야 가능하다. >

    라이센스가 없이는 Position의 좌표값을 변경하면서 수정해야 한다.

    아래와 같이 파트 심볼을 손쉽게 편집할 수 있는 환경이 열린다. (최근에는 System Capture 기반 엔진으로 변경)

 

13. 심볼 편집하기

    간단하게 우측의 필터로 잡을 부분을 선택하고 마우스드레그로 위치 변경이 가능하다.
    심볼의 아웃라인 늘리기
핀의 위치 옮기기
핀들의 디테일 속성 보기, 숨겨진 Power핀 보이게 하기
위와 같이 수정 - Save로 저장한다.

 

13. 이제 동일 심볼을 사용하면서 Footprint만 SOIC를 사용하기 때문에 만든 속성을 복사해서 수정한다.

복사해서 붙여넣기

    SOIC로 수정하기 (rename 하기)

rename 시키기
footprint 변경하기

  <변경 결과 확인하기>

이제 동일한 하나의 심볼이지만, 이 심볼은 두가지 Footprint의 옵션 속성을 갖게 된 것이다.

하나의 symbol, 두 type의 Footprint
Soic 풋프린트
Dip 풋프린트

 

반응형

14. Part Table File 생성하기

    파트의 속성 header 부분을 만든다.

    key_properties는 반드시 있어야 할 속성이고, 나머지는 옵션속성

    해더에서 만든것이 저장하면 Part Rows의 header부분에 추가된 것을 볼 수 있다.

  각각 값을 입력한다.

해당 부품의 구체적인 값, 설명 등이 등록된다.

 이 부품은 이제 배치시 설계자가 Dip으로 할지 Soic의 회사의 재고나 상황에 따라 유동적으로 Part_number를 기준으로 선택하여 배치할 수 있다.

파트편집이 되면 reload 메세지가 나옴으로 yes를 눌러 reload를 시킨다.
이제 해당 두 package의 속성값들이 들어갔음을 확인 할 수 있다.

 

15. Symbol의 Properties 설정

    15-1. 아래와 같은 방법을 원하는 항목을 선택하고 Properties값들은 추가한다.

        생성한 symbol클릭 - General탭 - 마우스우클릭 - Insert Row After (줄 추가)

    15-2. Name 선택 및 값 입력

        값들은 정해져 있지 않으므로 ?로 둔다. 나중에 회도로에서 Annotate 등을 통해 값들이 할당된다.

같은 방법으로 필요한 값들을 추가한다.

16. 저장 및 Export 하기

    16-1. 저장

하단을 보면 저장 record가 남는다. 이처럼 내가 했던 모든 작업들이 log가 남아 나중에 디버깅이 용이하기도 하다.

    16-2. 완성본 Export 하기

        16-2-1. Library Explorer 실행

Library Explorer 실행

        16-2-2. 만든 디렉터리 파일 확인

Library Explorer을 보면 내가 지금까지 작업하고 저장했던 파일들이 위처럼 들어가있다. 

        16-2-3. Export하기

내가 작업한 항목은 ic밖에 없으므로 ic만 체크

        * 테스트 및 개발이 끝나 배포할 폴더는 "Golden"이라고 한다. 그래서 "Golden_version"으로 명명

현재 내 project폴더 아래 새 폴더 명을 만들고, 라이브러리화 시킨다.
라이브러리화 시켰으므로 항목을 선택할 수 있다.

결과 확인

17. 파트가 잘 찍히는 지 테스트 해보기

    17-1. DE-HDL Schematic page를 연다. 

    17-2. 부품추가 - 내가만든 라이브러리 선택 (그러면 아래 2가지 package 타입이 나온다)

        각 패키지를 선택하면 바로 display된다.

SOIC타입

    17-3. 부품배치

(DIP타입) 부품 선택 후 - Add를 누르면 마우스클릭으로 배치 가능

(알아두기) 이 부품 배치 회로도는 맨 처음 root_dummy_design에 배치된 것으로, 어떤 기능을 하기보다 테스트로 쓰는 dummy design에 배치한 것이다.

* (결과)

 이제 테스트를 통한 수정 등을 마치고 해당 완성된 심볼을 라이브러리 관리자는 모든설계자가 사용할 수 있도록 배포를 해야 할 것이다. 라이브러리 관리자는 테스트를 마친 라이브러리 심볼을 Golden_version 으로 명명했고, 이제 74lvt574를 공용폴더로 옮기면 된다.

이제 공용 배포용 라이브러리에 저장된 74lvt574는 여러 설계자가 접근하여 해당 라이브러리를 사용할 수 있다.

 

DE-HDL은 트리형 디렉터리 구조로 모두 readable하게 파일들이 쪼개져 있다.

모든 프로젝트는 Project Manager를 포함 하고 있으므로 실행시킬 때는 Project Manager로 실행한 후 flow에서 선택해야 열 수 있다.

 

 

 

Cadence의 Allegro PCB Librarian 소개 영상

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

 

 

 

반응형

+ Recent posts