1 / 67

1 장 서론

1 장 서론. 1.1 VHDL 및 논리 합성 탄생 배경 1.2 VHDL 과 ASIC 설계 환경과의 관계 1.3 VHDL 모델링 , 합성 및 FPGA 구현 예 1.4 VHDL 발전 추세 및 미래 전망. 1.1 VHDL 및 논리 합성 탄생 배경. ASIC(Application Specific IC) 의 등장 소량의 특정 목적의 IC 고성능 설계 도구의 영향 회로 집적도 증가의 결과 설계 기법 및 도구의 성능 향상 필요성 대두 설계 프로세스의 혁신

april
Télécharger la présentation

1 장 서론

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 1장 서론 1.1 VHDL 및 논리 합성 탄생 배경 1.2 VHDL 과 ASIC 설계 환경과의 관계 1.3 VHDL 모델링, 합성 및 FPGA 구현 예 1.4 VHDL 발전 추세 및 미래 전망

  2. 1.1 VHDL 및 논리 합성 탄생 배경 • ASIC(Application Specific IC)의 등장 • 소량의 특정 목적의 IC • 고성능 설계 도구의 영향 • 회로 집적도 증가의 결과 • 설계 기법 및 도구의 성능 향상 필요성 대두 • 설계 프로세스의 혁신 • HDL(Hardware Description Language) • Logic Synthesis System

  3. 1.1.1 ASIC 기술 • 칩 제작 • 설계 + 제조(Fabrication or Fab.) • 제조 공정 단축 위해 미리 정해진 Mask Pattern 사용 • 집적도 저하, Mask 수를 줄이고 시간 단축 • Mask Pattern 종류에 따른 구분 • Gate Array: 미리 준비된 트랜지스터를 연결해서 게이트 구성 • Standard Cell: 높이가 같은 셀들 배치 및 정해진 배선 영역 *. Gate density / count: 칩이 집적된 NAND, NOR 게이트의 수 • 80년대 초 • 수천 게이트 • 현재 • 100만 게이트 이상(1000 배 이상 증가)

  4. 1.1.1 ASIC 기술 • 집적회로 설계의 변천 과정

  5. 1.1.1 ASIC 기술 • 한 칩에 보드 전체, 즉 시스템을 집적 가능 • SoC(System-on-a-Chip) • 설계 문제 복잡도 • 기하 급수적 증가 →VHDL, 논리 합성의 기여

  6. 1.1.2 합성(Synthesis) • 설계 수준의 향상 • Layout, Gate 수준 →RTL 수준 이상 • RTL 설계의 게이트 수준으로의 변환 • 논리 합성(Logic Synthesis) • 게이트 수준 →Layout 수준 설계 • Layout Synthesis, placement & routing 도구

  7. 1.1.2 합성(Synthesis) • 설계 수준과 이에 따른 표현 방법의 변천

  8. 1.1.2 합성(Synthesis) • 회로도와 HDL을 이용한 설계 방법의 비교

  9. 1.1.3 VHDL & Verilog • 표준화를 목표로 하면서 사용되고 있는 HDL 의 비교 • VHDL • 시스템에 대한 기술의 능력은 매우 높으나, synthesis를 위하여 sub-set VHDL과 modeling에 대한 guide가 요구 • Verilog HDL • VHDL보다는 기술의 능력이 높지는 않으나 널리 사용되고 있으며, gate 레벨의 simulation 언어로는 매우 뛰어남 • VHDL의 개발과 변화 • 1980: The USA Department of Defense(DOD) 에서 요구 • Self-document,Top-down Strategy and Reusable with New Technology 필요성 • 1983: IBM,Texas Instrument와 Intermetrics에서 VHDL 개발 시작 • 1987: IEEE 1076 승인 • VHDL을 처음으로 이용하여 F-22 Aircraft 설계 • EDA(Electronic Design Automation) Vendor에서 개발을 시작하여 상업적으로 이용.

  10. 1.1.3 VHDL & Verilog • VHDL의 개발과 변화 • 1993: VHDL was revised to IEEE 1076 ’93 • 1996:IEEE 1076.3(a VHDL package for use with synthesis tools : std_logic_1164) IEEE 1076.4(VITAL) • Verilog HDL의 개발과 변화 • 1983: Gateway 에서 Verilog HDL 또는 Verilog 개발 • 1985: Verilog-XL Simulator 개발 • 1989: Cadence bought Gateway • 1995: IEEE 1364 승인

  11. 1.1.4 VHDL 합성의 필요성 • ASIC 설계는 PCB 설계와 다르다. • 오류 수정이 어렵다. • Layout, 제조 공정, 테스트 반복 필요 • 개발 비용, 기간에 직접적인 영향 • ASIC 설계 도구(오류 없는 설계, 시장 접근 시간을 맞추기 위한 설계 도구) • 검증 도구 • Simulator(각 수준에서) • Function, Gate / Logic, Circuit • 합성 도구 • Abstract → Concrete • RTL → Gate → Layout • Extraction 도구 • Layout → Gate → RTL (설계 정확성 검증 위해) • 그 외 • Timing Analyzer, Design Rule Checker, …………

  12. 1.1.4 VHDL 합성의 필요성 • VHDL 합성 도구는 gate 수준 netlist 및 회로 도면 생성을 자동화 시킴 • 설계자가 시스템 기능 정의 와 시뮬레이션에 노력을 집중하게 함 • 25,000 게이트 ASIC • 250 페이지 도면 필요

  13. 1.1.5 VHDL 논리 합성의 장점 • 설계 사이클 단축 • 설계 변경용이, 설계오류 가능성 저하, 간단한 기술 방식, 빠른 설계, 빠른 변경 • 설계의 질적 향상 • 여러 가지 architecture 시도 가능: 최적화 • 면적 또는 속도 최적화 가능(논리 합성기의 기능) • Timing analyzer 기능 포함(critical path delay, setup, hold time 계산) • 판매자, 기술(technology)에 무관한 설계 가능 • ASIC or FPGA 로 구현 가능 • 설계 비용 절감 • 설계 기간 단축, 스키메틱 설계 과정 생략, 설계 오류 저하 • Design reasability – IP, Library 그대로 또는 수정해서 사용가능 • 한 engineer가 30 ~ 40 k 게이트의 설계 담당 기능 • 집적 기술에 따른 성장 • 현재 수백만 게이트급 설계(SoC) 가능 • 고성능 워크스테이션 도움 – 논리 합성, 시뮬레이션 필수

  14. 1.1.5 VHDL 논리 합성의 장점 • 설계 관리 용이 • VHDL • Design, documentation 겸용 • 표준과의 일치 • IFIP 172, IEEE 1076.X

  15. 1.1.6 VHDL 논리 합성의 단점 • 설계 문화의 변화 • 회로 도면 설계 시스템 • 합성 시스템 이용한 RTL 수준 설계 시스템으로 • 설계 오류 발견 및 수정 필요(여전히) • 생성된 논리 설계에 대해 Delay 고려한 logic simulation 필요

  16. 1.1.7 VHDL 합성의 실체 • “VHDL 로 기술만 하면 합성도구가 완벽한 회로를 만들어 준다 !” • “합성 결과는 사람이 설계한 것 보다 나을 수 없다 !” • VHDL 설계는 논리 설계 경험에 근거해야 함 • 설계 도구는 engineer의 통제 하에 있어야만 한다. • 부적절한 코드, 모호한 코드는 설계자의 책임임 • 상위 수준 설계에 대한 판단은 역시 설계자가 해야 함 • 예 • 여러 사이클에 걸쳐 연산자 공유 하기

  17. 1.2 VHDL 과 ASIC 설계 환경과의 관계 1.2.1 합성 가능한 함수 및 합성 원칙 1.2.1.1 무엇을 합성할 수 있는가? • ASIC: Random Logic Block, Memory, Mega Function 부분 • Random Logic Block 합성에 가장 효과 • Memory(RAM, ROM), FIFO 등은 전용 컴파일러가 더 효율적임

  18. 1.2.1.1 무엇을 합성할 수 있는가? • 합성 가능 함수 • 조합형 • MUX, DEC, ENC, CMP, LUT, ALU, ADDER, SUBSTRACTOR, PLA, Parity Generator 등 • 순차 논리 함수 • Counter 및 관련 함수 • Register 와 Latch: Shift, Accumulator • 제어 논리 회로: Sequencer, FSM, Edge Detector, Synchronizer 등 • Timing Critical Design 은 추후에 Layout 등에 대한 수정 필요

  19. 1.2.1.2 기본 합성 원칙 • 설계 접근 방법: VHDL 설계 – 시뮬레이션 검증- 합성 • 모든 VHDL 코드가 합성 가능하지는 않음 • Synthesizable VHDL Code 에 대한 guideline 이 있다. • 논리 회로 설계 기법에 익숙해야 하고, ASIC 설계 경험도 많아야 좋은 설계 결과를 얻을 수 있다. • 논리 회로의 구조를 생각하며 설계해야 한다.

  20. 1.2.2 설계 계층 구조 • ASIC 설계 프로세스는 Top-Down(하향식) 설계 방식에 근거

  21. 1.2.3 ASIC 설계 프로세스 • ASIC design engineer 의 목표 • 한번의 설계로 정확히 동작하는 회로 설계 • 물리적 설계까지 끝낸 IC 를 완벽하게 테스트해 제조 과정에서 어떠한 결함도 없게 하는 것

  22. 1.2.3 ASIC 설계 프로세스 • ASIC 개발 과정

  23. 1.2.3.1 시스템 개발 계획 및 기능 분할 • 시스템 요건 분석 → 적용 가능한 알고리즘 선정, H/W와 S/W 간 기능 분할 → 상위 수준 블록 다이어그램, 하위 모듈에 대한 명세 도출

  24. 1.2.3.2 블록 다이어그램 및 개발 명세 결정 • 시스템 분할: 기판, 모듈, ASIC, 그외 IC • 이 과정에서 크기, 전력소모, 무게, 비용, 성능, 개발기간 등을 고려해야 함 • 출력 • ASIC 들의 역할 및 기능(Spec.) + 블록 다이어그램 • 인터페이스 방식, timing 요건, clock speed 등 • 가능한 계속적으로 분할하여 한 모듈이 적절한 크기의 모듈이 되게 한다. • 논리 설계를 시작할 수 있을 만큼의 소규모 블록들로 나눔 • 가능한 상세한 블록 다이어그램 완성 필요 • VHDL 코딩에 도움이 됨 • 함수, 신호 명칭등에 고려

  25. 1.2.3.2 블록 다이어그램 및 개발 명세 결정

  26. 1.2.3.2 블록 다이어그램 및 개발 명세 결정

  27. 1.2.3.3 테스트 및 시뮬레이션 계획 • 논리 블록 정의, testable design 에 대한 고려 필요 • Test Plan • IC의 controllability(제어 가능성), observability(관찰 가능성)을 위해 부가 회로 추가 필요 → test pattern의 양에 영향 • ASIC의 낮은 수율(yield)와 테스트 안된 설계의 제조는 엄청난 비용과 시간 손실 가져옴 • Simulation Plan • 각 모듈(ASIC) 및 시스템에 대한 시뮬레이션 통한 검증 계획 • 입력 신호 발생 방법 • 시뮬레이션 결과 신뢰도 확인 방법

  28. 1.2.3.4 논리 회로 설계 • VHDL 합성 사용에 의해 가장 큰 영향 받는 부분 • 종전 방식과 VHDL 합성 방식 사용 시 설계 흐름도간 비교

  29. 1.2.3.4 논리 회로 설계 • VHDL 합성 방식 • Entity 단위로 설계 상세화 • Entity 내의 MUX, Counter, Register 등은 Process 문으로 표현 • 주석(comment) 이용한 서술적 기술 추가 • VHDL 코드 작성 및 시뮬레이션 테스트 패턴 작성 • Netlist 얻기 전에 시뮬레이션 통한 검증이 되므로, 도면 설계에 비해 검증을 훨씬 빨리 시작함 • 자동 생성된 도면을 자주 관찰하여 자신의 VHDL 설계가 어떻게 만들어지는지(원하는 대로 만들어 지는지) 검증하는 것이 중요함(특히 초보자들에게는)

  30. 1.2.3.5 시뮬레이션 • VHDL 코딩 완료 단계, 시뮬레이션 중에도 합성 가능 여부를 미리 검사해 보는 것이 필요함 • 테스트 패턴 입력은 ASCII 텍스트 파일 • 출력 • 파형(waveform) • Breakpoint 설정 • Debug • 시뮬레이션 결과에 따라 오류 코드, 설계 오류 등 수정

  31. 1.2.3.6 논리 합성 • VHDL의 게이트 수준으로의 합성 • 입력 정보 • VHDL 코드 이외에, ASIC 제조 업체, 셀 라이브러리 • 셀 라이브러리: 게이트별 지연시간, capacitor 크기, 도선 길이에 따른 loading delay 계산 규칙 • 클럭 주파수, 펄스 폭, 동작 온도, 동작 전압, 출력 부하(output load) 등에 대한 가정, critical path 통한 최대 전달 지연 시간 등 • 논리 합성의 단계 • Generic technology gate / function 이용한 합성 • MUX, DEC, Register, ALU 등 범용 논리 블록으로의 합성 • 논리 블록 공유 최적화 • 특정 technology(library) 를 고려한 합성 • 범용 블록을 특정 ASIC 제조 업체의 library cell 들로 대치함 • 이 과정에서 속도 제약 조건 만족 위해 performance optimization 수행 • 속도 제약 조건 만족 시 면적 최소화(logic minimization) 수행

  32. 1.2.3.6 논리 합성 • 출력 정보 • 논리 게이트 수준의 netlist, schematic diagram, chip bonding, layout, gate-level logic simulation, post layout timing simulation 등에 사용 • Timing, gate count, critical path delay, 보고서 형태의 출력 • 어떤 기억 소자들에 합성 되었나, 속도 제약 조건 만족 여부 등 • 설계자의 합성 결과에 대한 면밀한 분석 자세 필요 • 자신의 예상대로 합성 여부(게이트 수, 메모리 소자) • 도면 관찰 통한 확인 필요 • 더 나은 결과(성능 또한 면적) 얻기 위해서도, 다양한 기술 방식의 합성 결과 관찰 필요 • 게이트 수가 지나치게 많지 않은지 검사도 필수적임

  33. 1.2.3.7 ASIC 검증 • Layout(placement) 및 routing 에 앞서 최종적인 gate-level 회로 검사 수행 • Pre-route signoff 라고도 함 • 목적: layout 직전, 직후에 어떤 설계 오류도 없게 하기 위함 • 입력 • 회로 파일(netlist) 와 시뮬레이션 패턴 파일 • 하는 일 • Gate-level logic/timing simulation, timing analysis, DRC(Design Rule Checking), ERC(Electrical Rule Checking) 및 I/O 핀 할당 • 특히 속도 제약 조건이 강한 설계의 경우 layout planning 에도 세심한 고려 필요 • Layout planning(floor planning)의 변화를 배선 전 예측(속도, 면적에 대한) 값에 많은 영향을 줌

  34. 1.2.4 VHDL 합성 방식에서 유의할 사항 • Schematic design 에서 사용되던 원칙이나 방식을 VHDL 이용한 설계 방식에도 적용해야 한다. • 유의 사항 • VHDL 설계는 프로그래밍이 아니라 논리 설계이다. 따라서 논리 회로 구조를 예상하고 도시한 후에 그에 따라 VHDL 설계를 해야 한다.(즉, schematic design 에서의 방식을 염두에 두어야만 정확한 설계가 가능하다.) • 자신이 원하는 것을 합성해 낼 수 있도록 VHDL 코딩을 하는 것이다. • VHDL 설계 시 사용되는 시뮬레이터와 최종 설계 검증 시, 사용되는 ASIC 제조 업체 공인 고성능 논리 시뮬레이터를 사용하는데, 두 시뮬레이터에 같은 테스트 패턴을 입력으로 사용한다.(게이트 수준 ASIC 설계와 VHDL 설계의 일치 여부 확인 위해) 공통을 테스트 패턴 사용위해 VHDL test bench 로 부터 양쪽 시뮬레이터에 대한 테스트 패턴 집합을 만들어 내는 것이 좋다.

  35. 1.3 VHDL 모델링, 합성 및 FPGA 구현 예 • VHDL 모델링, 시뮬레이션 통한 검증, FPGA 로의 구현 과정 • FPGA • 설계의 정확성 검증의 한 방법 • 최종 목적지는 ASIC 으로의 구현 1.3.1 합성을 위한 VHDL 모델링 • VHDL 모델링 수준: 행위 수준(알고리즘) 부터 게이트 수준까지 • Top-down design 방식 구현 위한 문법적 특징 • 합성가능 표현 구조는 매우 제한적임 • 테스트 벤치 기술 등을 위해서는 그 이외의 것들에 대한 이해 필요

  36. 1.3 VHDL 모델링, 합성 및 FPGA 구현 예 1.3.1.1 추상적 행위 수준 모델링 • 하드웨어의 기능과 동작에 대한 기술 • clock, word length, bit 할당 등 구체적 정보 배제됨 • PASCAL 이나 C 언어 기술과 유사함 • 특히 test bench 기술 시에 효과적임 1.3.1.2 레지스터 전송 수준 모델링(RTL) • 논리회로 설계 시 상세한 블록 다이어그램을 그리는 것에 해당 • Clock, reset 존재 • Data bus, register 등의 너비가 정해짐 • 신호 할당 예: Output <= Input; • 대개는 ASIC 제조 업체나 technology 에 무관함 • Data flow description 이라고도 함

  37. 1.3 VHDL 모델링, 합성 및 FPGA 구현 예 1.3.1.3 구조적 모델링 • Netlist 표현 방식과 유사 • 다양한 component 들이 신호선으로 연결된 회로 • Component는 gate, FF, 다른 RTL 코드 블록 *. 하향식 설계 • 상세화 되면서 낮은 수준의 블록으로 대체됨

  38. 1.3.1.4 전 가산기 VHDL 모델링의 예 • 반 가산기 entity 선언부

  39. 1.3.1.4 전 가산기 VHDL 모델링의 예 • 반 가산기: RTL 모델링

  40. 1.3.1.4 전 가산기 VHDL 모델링의 예 • 반 가산기: 추상적 행위 수준 모델링

  41. 1.3.1.4 전 가산기 VHDL 모델링의 예 • 전 가산기: 구조적 모델링

  42. 1.3.1.4 전 가산기 VHDL 모델링의 예 • 전 가산기 회로도

  43. 1.3.2 VHDL 모델링의 시뮬레이션 및 논리 합성의 예 • 전 가산기 회로에 대한 test bench

  44. 1.3.2 VHDL 모델링의 시뮬레이션 및 논리 합성의 예 • 전 가산기 시뮬레이션 결과

  45. 1.3.2 VHDL 모델링의 시뮬레이션 및 논리 합성의 예 • 전 가산기 합성 결과(그림 1-7 의 VHDL 코드 사용 시)

  46. 1.3.2 VHDL 모델링의 시뮬레이션 및 논리 합성의 예 • 전 가산기의 동작적 모델링

  47. 1.3.2 VHDL 모델링의 시뮬레이션 및 논리 합성의 예 • 전 가산기 합성 결과(그림 1-13의 VHDL 코드 사용)

  48. 1.3.3 VHDL 모델링의 FPGA 구현 • ASIC 의 종류 • standard cell, gate array, PLD(Programmable Logic Devices) 1.3.3.1 FPGA(Field Programmable Gate Array) • PLD의 확장 형태 • 범용 FPGA의 구조(논리 셀과 배선 영역 분리되어 있음)

  49. 1.3.3.2 FPGA 구현의 예 • 대표적인 FPGA 설계 흐름도

  50. 1.3.3.2 FPGA 구현의 예 • Pre-layout simulation 과 post-layout simulation이 있다. • Timing analyzer • Set-up time, hold time, clock trigger 에서 추력까지의 지연 시간, 최대 동작 주파수 예측 • Device programming file • JEDEC 포맷(Cypress, Warp tool), BIT 파일(XILINX) • 디바이스 선택 화면

More Related