EDIF
EDIFEDIF(Electronic Design Interchange Format)는 S-Expression을 기반으로 하는 벤더 중립형 포맷으로, 전자 넷리스트와 도식을 저장합니다.이는 전자 설계 자동화(EDA) 산업을 위한 중립적인 데이터 교환 형식을 구축하기 위한 최초의 시도 중 하나였습니다.목표는 EDA 시스템의 독점적 형식을 도출할 수 있는 공통 형식을 확립하는 것이었다.고객이 어떤 시스템에서 다른 시스템으로 데이터를 전송해야 할 경우 번역기를 어떤 형식으로든 써야 했습니다.형식(N)의 수가 증가함에 따라 변환기 문제는 N제곱의 문제가 되었습니다.EDIF를 사용하면 번역자의 수를 관련된 시스템의 수로 줄일 수 있을 것으로 기대했습니다.
EDA 기업 Daisy Systems, Mentor Graphics, Motorola, National Semiconductor, Tektronix, 텍사스 인스트루먼트 및 버클리 캘리포니아 대학의 대표자들은 1983년 11월에 EDIF 운영 위원회를 설립했습니다.이후 맨체스터 대학의 컴퓨터 공학 교수인 힐러리 칸이 팀에 합류하여 EDIF 2 0 0 버전에서 최종 버전 40 0 0 0 0까지 개발을 주도했다.
구문
EDIF의 일반적인 형식은 괄호를 사용하여 데이터 정의를 구분하는 것을 포함하며, 표면적으로는 Lisp와 유사합니다.EDIF 2.0.0의 기본 토큰은 키워드(라이브러리, 셀, 인스턴스 등), 문자열(큰따옴표로 구분), 정수, 심볼 상수(셀 유형의 경우 GENERIC, TIE, RIPPER 등) 및 "식별자"로 매우 제한된 문자 집합에서 형성되었습니다.EDIF 3.0.0 및 4.0.0에서는 키워드를 사용하여 심볼 상수가 완전히 폐기되었습니다.EDIF의 구문은 매우 단순합니다.일반적인 EDIF 파일은 다음과 같습니다.
(이디프 파이벡스 (edif Version(편집 버전) 2 0 0) (edif 레벨 0) (키워드 맵 (키워드 레벨 0)) (상황 (쓰인 (타임스탬프 1995 1 1 1 1 1) (프로그램. "xxx" (버전 "v1")))) (도서관 xxx (edif 레벨 0) (테크놀로지 (번호 정의 (규모. 1 (e 1 -6) (구성 단위 거리)))) (감방 dff_4 (셀 타입 포괄적인) (보다 표시 1 (뷰 타입 넷리스트) (인터페이스 (항구 asset (방향 입력)) (항구 쨍그랑 소리를 내다 (방향 입력)) ... (감방 yyy (셀 타입 포괄적인) (보다 개략도_ (뷰 타입 넷리스트) (인터페이스 (항구 분명한 (방향 입력)) (항구 시계 (방향 입력)) ... ) (내용물 (사례 I_36_1 (참조 표시 1 (cellRef dff_4))) (사례 (이름을 바꾸다 I_36_3 "I$3") (참조 표시 1 (cellRef addsub_4))) ... (그물 분명한 (합류했다 (portRef 분명한) (portRef asset (instance Ref(인스턴스 참조) I_36_1)) (portRef asset (instance Ref(인스턴스 참조) I_36_3)))) ... 버전
EDIF의 10 0 릴리스는 1985년에 작성되었습니다.
EDIF 2 0 0
EDIF의 첫 번째 "실제" 공개 릴리스는 버전 20 0으로 1988년 3월에 표준 ANSI/EIA-548-1988로 승인되었습니다.그것은 한 권으로 출판되었다.이 버전에는 정식 범위 문이 없지만 캡처하려는 내용은 정의된 뷰에 포함되어 있습니다.종류:
- 셀의 동작을 설명하는 동작
- 셀의 문서화를 설명하는 문서
- 그래픽스: 표시 가능 또는 인쇄 가능 정보의 멍청한 그래픽스 및 텍스트 표현을 설명합니다.
- 셀의 논리 시뮬레이션 모델을 기술하는 논리 모델
- 집적회로 레이아웃을 설명하는 MASKLAYOUT
- NETLIST: 넷리스트를 기술합니다.
- 프린트 회로 기판을 설명하는 PCBLAYOUT
- 셀의 개략적인 표현과 연결성을 설명하는 개략도
- 아직 알려지지 않은 셀 표현을 설명하는 낯선 사람
- 심볼 레이아웃을 설명하는 심볼릭
업계에서는 몇 년 동안 이 릴리스를 테스트했지만, 최종적으로 널리 사용되고 있는 것은 NETLIST 뷰뿐입니다.일부 EDA 툴은 현재도 EDIF 2 0 0에서 이 릴리스를 지원하고 있습니다.
주요 20 0 표준 문제를 해결하기 위해 몇 가지 추가 문서가 공개되었습니다.
- 전자공업협회
- EDIF Monograph 시리즈, 제1권, EDIF 입문, EIA/EDIF-1, 1988년 9월
- EDIF Monograph 시리즈, 제2권, EDIF Connectivity, EIA/EDIF-2, 1989년 6월
- EDIF 2 0 0을 사용한 개략도 전송, EIA/EDIF/AG-1, 1989년 7월
- Hilary J. Kahn, Manchester 대학교 컴퓨터 과학부 문서
- EDIF 2 0 0, 입문 튜토리얼", 1989년 9월
- EDIF 질의응답, 제1권, 1988년 11월
- EDIF 질의응답, 제2권, 1989년 2월
- EDIF 질의응답, 제3권, 1989년 7월
- EDIF 질의응답, 제4권, 1989년 11월
- EDIF 질의응답, 제5권, 1991년 6월
EDIF 3 0 0
EIA 표준 EIA-618의 명칭에 따라, 2 0 0 릴리스의 몇 가지 근본적인 약점으로 인해, 호환성이 없는 새로운 릴리스 3 0 0이 1993년 9월에 릴리스되었습니다.나중에 ANSI 및 ISO 지정을 받았습니다.그것은 4권으로 출판되었다.이 버전의 주요 초점은 뷰였습니다.NETLIST 및 SUKETICE from 2 0 . MASKLAYOUT, PCBLAYOUT 및 기타 뷰를 입력합니다.이러한 뷰에 대한 작업이 완전히 완료되지 않았기 때문에 이 릴리스에서 삭제되어 이후의 릴리스로 이행되었습니다.
EDIF 3 0 0은 국제 전기 표준 위원회(IEC 61690-1)에서 구할 수 있습니다.
EDIF 4 0 0
EDIF 4 0 0은 EDIF 3 0 0에 "인쇄 회로 기판" 확장 기능(원래 PCBLAYOUT 뷰)을 추가하기 위해 1996년 8월 말에 출시되었습니다.이는 EDIF 3 0 0의 2배 이상 크기로 CD에 HTML 형식으로 게시됩니다.
EDIF 4 0 0은 국제 전기 표준 위원회(IEC 61690-2)에서 구할 수 있습니다.
진화
2 0 0에 관한 문제
EDIF 2 0 0에서 사용자와 벤더가 직면한 문제를 이해하려면 먼저 전자 산업의 모든 요소와 역동성을 파악해야 합니다.이 기준이 필요한 사람들은 주로 설계 엔지니어들로, 그들은 주택 차고에서부터 수천 명의 엔지니어와 수십억 달러의 시설까지 다양한 규모의 회사에서 일했다.이 엔지니어들은 주로 1980년대 후반의 설계도와 넷리스트에서 작업했으며, 가장 큰 추진은 이 설계도에서 넷리스트를 자동으로 생성하는 것이었습니다.첫 번째 공급업체는 Electronic Design Automation 벤더(Daisy, Mentor, Valid 등)였습니다.이 회사들은 이 시장에서 그들의 점유율을 위해 치열한 경쟁을 벌였다.
이들 기업이 고객을 '포착'하기 위해 사용한 전술 중 하나는 자체 데이터베이스였습니다.각각은 다른 사람들에게는 없는 특별한 특징을 가지고 있었다.특정 벤더의 소프트웨어를 사용하여 설계에 들어가기로 결정되면 고객은 다른 소프트웨어를 사용하지 않을 수 없게 되었습니다.벤더 A에서 벤더 B의 시스템으로 이행하려면 일반적으로 거의 모든 설계 데이터를 새로운 시스템에 직접 재입력해야 했습니다.이러한 「이행」의 코스트는, 설계 엔지니어가 단일의 벤더를 이용하게 된 주된 요인이었습니다.
하지만 '고객'들은 다른 욕구를 가지고 있었다.공급업체 A는 아날로그 시뮬레이션 환경이 매우 좋은 반면 공급업체 B는 훨씬 더 나은 PCB 또는 실리콘 레이아웃 자동 라우터를 가지고 있다는 것을 즉시 알게 되었습니다.그리고 그들은 다양한 벤더 중에서 선택할 수 있기를 바랐습니다.
EDIF는 주로 전자제품 설계 최종 사용자와 그 회사들에 의해 지원되었습니다.EDA 벤더도 관여하고 있었지만, 그 동기는 고객을 소외시키지 않기 위해서였습니다.대부분의 EDA 벤더는 EDIF 20 0 번역기를 생산하고 있었지만 고품질의 EDIF 리더를 만드는 데 더 관심이 있었고 EDIF(Edif Writer)를 생성하는 소프트웨어를 작성할 의욕도 전혀 없었습니다.또, 고객이 EDIF를 다른 벤더의 소프트웨어로 대량 이행한다고 하는 위협 이외에는 전혀 없었습니다.
결과는 꽤 흥미로웠다.구문 또는 의미론의 심각한 위반이 없는 EDIF 2 0 출력을 작성한 소프트웨어 벤더는 거의 없습니다.의미론이 충분히 느슨해서 동일한 데이터를 설명할 수 있는 여러 가지 방법이 있을 수 있습니다.이것은 EDIF의 "향료"로 알려지기 시작했다.벤더 기업은 EDIF 제품을 대량으로 판매하더라도 많은 자원을 EDIF 제품에 할당하는 것이 항상 중요하다고 생각하지 않았습니다.실제로 몇 년 동안 유지 보수할 사람이 거의 없는 활성 제품에 대한 이야기가 여러 번 있었습니다.사용자 불만 사항은 단순히 수집되고 우선순위가 지정되었습니다.고객 데이터를 EDIF로 내보내는 것이 어려워질수록 벤더는 이를 더 좋아하는 것 같습니다.EDIF 번역기를 쓴 사람들은 그 시대의 EDIF 20 0 작가들이 만든 저품질 코드를 처리 및 조합할 수 있는 충분히 강력하고 관대하며 인공적으로 지능적인 독자를 만들기 위해 엄청난 시간과 노력을 들였다는 것을 알게 되었습니다.
위원회는 EDIF 3 0 0을 설계할 때 언어의 오류, 벤더에 의한 EDIF 2 0 0에 대한 비난 및 최종 사용자의 불만을 잘 알고 있었습니다.따라서 언어의 의미를 강화하고 표준에 대한 보다 공식적인 설명을 제공하기 위해 혁신적인 접근방식을 채택하여 정보 모델링 언어 EXPRESS에서 EDIF의 정보 모델을 제공했습니다.이는 표준을 더 잘 문서화하는 데 도움이 되었지만, 구문 제작이 모델에서 생성되는 것이 아니라 모델과 독립적으로 이루어졌기 때문에 나중에 더 잘 고려되었습니다.또한 구문과 모델이 일치하지 않으면 모델이 표준으로 되어 있지만 실제로는 그렇지 않습니다.설계설명을 작성하는 일상적인 작업을 수행하는 소프트웨어는 고정 구문을 기반으로 하기 때문에 구문의 BNF 설명은 언어의 기초가 됩니다.의 기초가 됩니다.또한 정보 모델은 EDIF를 기술하는 데 이상적으로 적합하지 않다는 사실로 인해 어려움을 겪었습니다.이름공간과 같은 개념을 잘 기술하지 않고 정의와 참조의 차이도 명확하게 기술할 수 없습니다.또한 EXPRESS에서 제약조건을 기술하기 위한 구조는 형식적일 수 있지만 제약조건 설명은 때때로 상당히 복잡한 문제입니다.그래서 대부분의 제약은 코멘트에 그치고 말았습니다.그 외 대부분은 독자들이 결코 해독할 수 없는 정교한 형식적인 설명이 되어 있어 자동 디버깅/컴파일을 견디지 못할 수도 있지만 컴파일러는 흥미로운 오류를 발견할 수도 있고 실제로 작성된 프로그램을 실행하면 훨씬 더 흥미로운 오류를 발견할 수도 있습니다.(또한 표준이 작성되었을 때는 유사한 EXPRESS 컴파일러/executor가 존재하지 않았으며 현재도 존재하지 않을 수 있습니다.)
EDIF 2 0 0 문제의 해결 방법
EDIF 2 0 0의 "맛" 문제에 대한 해결책은 EDIF 3 0 0 (1993)에서 보다 구체적인 의미적 기술을 개발하는 것이었다.실제로 EDIF 3 0 0 번역기를 만든 사람들의 보고 결과에 따르면, 의미적 제약이 심하기 때문에 작가들은 현재 훨씬 더 올바르게 쓰기가 어려우며 독자들은 비교적 개발하기가 쉽지 않다고 한다.
벤더의 '관심 충돌'에 대한 해결책은 벤더 인터페이스를 기반으로 EDIF 제품을 제공할 수 있는 중립적인 서드파티 회사였습니다.EDIF 제품을 벤더의 직접적인 통제에서 분리하는 것은 최종 사용자 커뮤니티에 적절한 도구를 제공하기 위해 매우 중요했습니다.그것은 아무 말 없이 자연스럽게 형성되었다.Engineering DataXpress는 아마도 이 분야에서 첫 번째 기업이었을 것이며, Electronic Tools Company는 1990년대 중후반 시장을 선점한 것으로 보입니다.이 업계의 또 다른 원동력은 EDIF 그 자체입니다.그들이 꽤 큰 규모로 성장했기 때문에, 독자와 작가를 배출하는 것은 매우 비용이 많이 드는 제안이 되었다.통상, 서드 파티의 기업은 필요한 스페셜리스트를 모아, 이 전문 지식을 사용해 소프트웨어를 보다 효율적으로 작성할 수 있습니다.또한 개별 벤더가 이용할 수 없는 코드 공유 및 기타 기술도 활용할 수 있습니다.2000년까지 거의 모든 주요 벤더가 자체 EDIF 툴을 생산하지 않고 OEM 서드파티 툴을 선택했습니다.
EDIF 4 0 0 발표 이후 EDIF 표준 기관 전체가 근본적으로 해산되었습니다.기술 소위원회, EDIF 전문가 그룹 등의 공개 회의는 없습니다.관련된 대부분의 사람들은 다른 회사나 노력으로 옮겨갔다.뉴스레터는 폐기되었고 사용자 그룹은 더 이상 연례 회의를 열지 않습니다.EDIF 3 0 0 및 4 0 0 0은 현재 ANSI, IEC 및 유럽(EN) 표준이 되었습니다.EDIF 버전 3 0은 IEC/EN 61690-1, EDIF 버전 4 0은 IEC/EN 61690-2입니다.
EDIF 하위 항목
- LKSoft는 EDIF 2 0 0에서 주요 개념을 취하여 회선용 기본 확장자 ".cam"을 가진 독자 데이터 형식을 만들었습니다.CAM 시스템은 LPKF Laser & Electronics AG가 독일 Garbsen/Hannover에서 제공하고 현재 중국 Tianjn에 있는 DCT Co.가 소유하고 있습니다.EDIF와 같은 포맷에서 효율적으로 작업하기 위해 LKSoft는 C 프로그래밍 언어용 API인 EDIF Procedural Interface를 개발했습니다.
- Zuken(이전의 Racal-Redac Ltd)은 초기 EDIF 40 0 개발 컨셉을 채택하여 Visula PCB-CAD 시스템용 CADIF라는 새로운 독자 포맷을 만들었습니다.이 형식은 서드파티 벤더에서도 널리 사용되고 있습니다.
- ISO 10303의 일부인 STEP-AP210은 도식을 제외한 EDIF 4 0 0 기능을 사실상 모두 상속받았습니다.
외부 링크
- BYU EDIF 도구 BYU의 구성 가능한 컴퓨팅 랩에서 개발 및 유지 보수한EDIF 파일을 해석/관리하기 위한 Java 프레임워크
- ISI의 Reconfigurable Computing Group의 EDIF 2 0 0 해석 및 조작을 포함한 재구성 컴퓨팅용 Torc 오픈 소스 C++ API
- Elgris Technologies, Inc.의 EDIF 개요
- www.edif.org(현재는 폐지)의 Internet Archive(인터넷 아카이브)에 있는 www.edif.org에 EDIF 형식의 소개가 포함되어 있습니다.
- VLSI 설계를 위한 컴퓨터 지원 - 부록 D: Steven M의 전자 설계 교환 형식루빈
- 힐러리 칸 교수(1943-2007)