먼저 사전에 공용의 라이브러리를 사용할 수 있는 환경을 구축시킨 후 이제 라이브러리 관리자의 관점으로 Allegro DE-HDL으로 라이브러리를 생성해본다.
<전사적인 환경 구축>
https://ansan-survivor.tistory.com/889
<라이브러리 배포를 위한 환경 구축>
https://ansan-survivor.tistory.com/874
위 과정들이 선행 된 후, 본격적으적으로 심볼을 생성한다.
* 경로는 로컬이든, 공유폴더든 상관 없다. 라이브러리 관리자는 작업을 완료하고 결과 release 심볼만 위에서 구축한 환경으로 보내면 되기 때문이다.
아래와 같은 IC심볼 74LVT574를 만들어본다.
(datasheet 다운로드)
데이터 시트를 보면 LOGIC SYMBOL이 있고, 아래 심볼으로 제작해본다.
0. Project manager 프로그램 실행.
1. 라이센스 선택하기.
Allegro PCB Librarian을 사용하기 위해서는 "Allegro Managed Library Authoring" 라이센스 옵션이 필요
2. Create Library Project 클릭하여 라이브러리 프로젝트 생성
<생성된 파일 분석하기>
cds.lib를 열어보면, DEFINE으로 자동정의가 되어있는데, 자동으로 생성된 worklib가 [내프로젝트명_lib] 으로 정의된 것이다.
worklib를 열어보면 아래 두 폴더가 있는데, 파트 심볼 생성후 배치 테스트를 하기 위한 dummy_root_design폴더가 있다.
모든 프로젝트를 생성하면 각각의 Project Manager파일 (.cpm)이 생성된다. design_library는 재활용성을 위한 객체화를 위해 만든 프로젝트는 자기 자신을 라이브러리화 시킨다. 그리고 library는 향후 불러오거나 활용하거나 할 때 객체화한 자신을 포함 한 다른 라이브러리들을 Include하여 뒤에 추가한다.
Allegro PCB Librarian Flow가 선택되면 아래와 같이 화면이 변경 되고, 현재 어떤 Flow를 설계중인지 상단의 Flows를 보고 확인 가능하다
3. Library Explorer 실행 및 확인
4. 새로운 라이브러리 class 만들기, Rename 이름 바꾸기
5. Part Developer를 실행 시킨다. (2가지 방법)
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_3 과 SOIC20_3 을 사용한다.
(Cadence의 내장 풋프린트에 관해서는 아래 참고)
https://ansan-survivor.tistory.com/626
7-1. Package - New
7-2. physical parts (pack types) - new
7-3. 타입 이름 입력
7-4. DIP20_3 풋프린트 등록하기
8. 등록한 Footprint정보를 바탕으로 Logical Symbol 맵핑 생성
datasheet의 심볼정보를 보고 pin의 속성을 넣어준다.
8-1. Package pin탭 - 마우스우클릭 - Insert Row After
※ Part developer에서는 NOT을 앞에 *기호를 넣어서 표시한다.
9-2. 값 입력
name : 핀 이름
type : 타입
S1 : 핀번호
9-3. 복수의 핀 정보 넣기
prefix : 접두어
From x To x : 0부터 7까지
Type : 모든타입
Location : 심볼에 이 핀들이 위치할 구역 (왼쪽)
10. 전원(power) 핀 넣기
전원은 Global 의 속성으로 아래부분에서 넣는다.
GND핀은 10번핀, VCC핀은 20번 핀으로 맵핑.
<살펴보기>
Package Pins 탭을 보면 좌측은 Logical Pins 이고 우측은 Physcial Pins 이다.
서로 동일한 갯수의 핀이 맵핑 되어야 하고, Logical에서 맵핑을 시키면 자동으로 Physical에 display된다.
S1 (slot)에 핀에 해당되는 번호를 넣으면 자동으로 맵핑이 된다.
11. Symbol 생성하기
12. 생성된 심볼 보기. < 이 기능은 상위 라이센스가 있어야 가능하다. >
라이센스가 없이는 Position의 좌표값을 변경하면서 수정해야 한다.
아래와 같이 파트 심볼을 손쉽게 편집할 수 있는 환경이 열린다. (최근에는 System Capture 기반 엔진으로 변경)
13. 심볼 편집하기
13. 이제 동일 심볼을 사용하면서 Footprint만 SOIC를 사용하기 때문에 만든 속성을 복사해서 수정한다.
SOIC로 수정하기 (rename 하기)
<변경 결과 확인하기>
이제 동일한 하나의 심볼이지만, 이 심볼은 두가지 Footprint의 옵션 속성을 갖게 된 것이다.
14. Part Table File 생성하기
파트의 속성 header 부분을 만든다.
key_properties는 반드시 있어야 할 속성이고, 나머지는 옵션속성
해더에서 만든것이 저장하면 Part Rows의 header부분에 추가된 것을 볼 수 있다.
각각 값을 입력한다.
이 부품은 이제 배치시 설계자가 Dip으로 할지 Soic의 회사의 재고나 상황에 따라 유동적으로 Part_number를 기준으로 선택하여 배치할 수 있다.
15. Symbol의 Properties 설정
15-1. 아래와 같은 방법을 원하는 항목을 선택하고 Properties값들은 추가한다.
생성한 symbol클릭 - General탭 - 마우스우클릭 - Insert Row After (줄 추가)
15-2. Name 선택 및 값 입력
값들은 정해져 있지 않으므로 ?로 둔다. 나중에 회도로에서 Annotate 등을 통해 값들이 할당된다.
16. 저장 및 Export 하기
16-1. 저장
16-2. 완성본 Export 하기
16-2-1. Library Explorer 실행
16-2-2. 만든 디렉터리 파일 확인
16-2-3. Export하기
* 테스트 및 개발이 끝나 배포할 폴더는 "Golden"이라고 한다. 그래서 "Golden_version"으로 명명
결과 확인
17. 파트가 잘 찍히는 지 테스트 해보기
17-1. DE-HDL Schematic page를 연다.
17-2. 부품추가 - 내가만든 라이브러리 선택 (그러면 아래 2가지 package 타입이 나온다)
각 패키지를 선택하면 바로 display된다.
17-3. 부품배치
(알아두기) 이 부품 배치 회로도는 맨 처음 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