Verilog는 강력한 하드웨어 설명 언어 중 하나이며 동시 및 순차 구성을 지원합니다. 이 언어는 합성 가능 및 합성 불가 구성의 사용을 지원하므로 업계에서 널리 사용됩니다. 설계 및 검증 맥락에서 기본 설계 흐름을 이해하는 것은 필수적입니다. Verilog-2005 코딩 스타일인 IEEE 1364-2005인 Verilog의 안정적인 릴리스를 사용합니다.
로직 디자인의 진화
William Shockley, John Bardeen 및 Walter Brattain이 Bell 연구소에서 1946~1947년에 프로토타입 트랜지스터 모델을 실제로 발명한 것은 스위칭 이론과 칩 설계에서 반도체 사용에 혁명을 일으켰습니다. 설계에 사용된 작동 트랜지스터는 1954-1956년 동안 Tanenbaum이 가장 크게 기여한 것입니다.
1958년에 Texas Instrument의 젊은 전기 엔지니어 Jack Kilby는 작은 게르마늄 조각에 회로 요소 트랜지스터, 저항기 및 커패시터를 배치하는 방법을 알아냈습니다. 그러나 1958년 이전에 훨씬 더 혁신적인 아이디어가 출판되고 개념화되었습니다.
1963년 CMOS 로직의 발명으로 로직 셀의 통합이 매우 쉬워졌으며 Intel의 공동 설립자인 Gordon Moore는 '밀도 집적 회로(IC)의 트랜지스터 수가 2년마다 2배씩 증가한다'고 예측했습니다. 무어의 법칙처럼! 무어의 법칙은 단지 관찰일 뿐이며 트랜지스터의 배율을 고려하여 칩 설계의 전반적인 계획에 사용됩니다. 무어의 법칙과 록의 법칙(제2무어의 법칙), 즉 '반도체 칩 제조 비용은 4년마다 두 배로 증가한다'는 칩 설계 및 제조 과정에서 필요한 전체 설계 주기와 투자를 계획하는 데 사용됩니다.
두 법칙 모두 칩 설계 주기 동안 재무를 포함한 전반적인 계획에 사용됩니다. 업계는 거의 2014년까지 무어의 법칙에 따라 트랜지스터가 두 배로 증가하는 것을 목격했습니다. 10nm 미만에서는 2년 동안 트랜지스터를 두 배로 늘리는 데 실패했으며 이제 더 낮은 프로세스 노드에서 트랜지스터를 두 배로 늘리기 위해 필요하다고 말할 수 있습니다. 거의 30~36개월이 소요됩니다.
그러나 경험 엔지니어가 복잡한 VLSI 기반 ASIC 칩 설계를 통해 얻을 수 있다는 무어의 예측이 얼마나 옳았는지. 현재 10년 동안 칩 영역은 충분히 줄어들었고 파운드리가 작동하는 공정 기술 노드는 10nm 미만이며 칩에는 작은 실리콘 다이 크기를 가진 수십억 개의 트랜지스터가 있습니다. 알고리즘 설계 및 제조 프로세스의 발전으로 대부분의 설계는 VHSICHDL(Very High Speed Integrated Circuit Hardware Description Language) 또는 Verilog를 사용하여 구현됩니다. 지난 10년 동안 SystemVerilog는 하드웨어 설명 및 하드웨어 검증에 널리 사용되었습니다.
시스템과 로직 설계 추상화
대부분의 디자인은 다양한 추상화 수준을 가지고 있습니다. 디자인 접근 방식은 하향식 또는 상향식일 수 있습니다. 구현 팀은 설계 복잡성과 설계 리소스의 가용성에 따라 올바른 접근 방식을 결정합니다. 복잡한 칩의 대부분은 또한 상향식 접근 방식 대신 하향식 접근 방식을 사용하여 설계됩니다.
아키텍처 설계
디자인은 초기에 기능적 모델로 기술되고, 디자인의 아키텍처와 마이크로 아키텍처는 기능적 디자인 사양을 이해함으로써 기술됩니다. 아키텍처 설계에는 기능 설계 요구 사항을 참조하여 연관글루 로직을 사용한 기능 블록, 메모리, 프로세서 논리 및 처리량의 추정 및 역할이 포함됩니다. 아키텍처 설계는 기능 블록의 형태로 설계의 기능을 블록 다이어그램 형태로 나타냅니다. 간단히 말해서 아키텍처 디자인은 기능적 디자인 사양에서 발전된 블록 수준의 표현이라고 볼 수 있습니다.
마이크로 아키텍처 설계
마이크로 아키텍처는 아키텍처 문서에 지정된 모든 기능 블록의 세부 표현입니다. 인터페이스, 핀 연결, 계층적 설계 세부 사항과 같은 블록 및 하위 블록 수준 세부 사항을 설명합니다. 동기 또는 비동기 설계와 클록 및 재설정 트리에 대한 정보는 마이크로 아키텍처 문서에 설명되어야 합니다. 세부 타이밍 정보와 전체 데이터 흐름도 마이크로 아키텍처 문서에 포함될 수 있습니다.
RTL 설계 및 합성
RTL은 레지스터 전송 레벨을 나타냅니다. RTL 설계는 마이크로 아키텍처를 참조 설계 문서로 사용하며 주요 전략은 필요한 설계 기능을 충족하기 위해 합성 가능한 Verilog 구성을 사용하여 설계를 코딩하는 것입니다. 이 단계에서 효율적인 설계 및 코딩 지침이 중요한 역할을 하며 효율적인 RTL은 구현 단계에서 전체 시간 요구 사항을 줄입니다.
RTL 디자인은 게이트 레벨 넷리스트를 얻기 위해 합성 도구에 의한 입력 중 하나로 사용됩니다. 게이트 레벨 넷리스트는 조합 및 순차 논리 셀의 형태로 기능 설계를 나타냅니다.
스위치 레벨 설계
마지막으로 스위치 레벨 설계는 ASIC의 표준 셀 및 매크로 형태로 설계를 표현하기 위해 레이아웃에서 사용되는 추상화입니다. 또는 FPGA 기반 설계의 경우 스위치 수준 설계는 전용 FPGA 아키텍처 리소스를 사용하여 FPGA 패브릭에서 설계 구현을 나타낼 수 있습니다.
집적회로 설계 및 방법론
VLSI 설계 알고리즘의 발전과 프로세스 노드의 축소로 설계는 더욱 복잡해지고 SOC 기반 설계는 더 짧은 시간에 실현 가능합니다. 프론트엔드와 백엔드 디자인에서 사용되는 효율적인 디자인 플로우를 이용하여 보다 짧은 시간 안에 제품을 배송하고자 하는 고객의 요구가 가능합니다. 설계는 사양 단계에서 최종 레이아웃까지 진화해야 합니다. 적합한 기능이 있는 EDA 도구를 사용하면 기능이 입증된 버그 없는 설계가 가능해졌습니다.
'프로그래밍 언어 > Verilog' 카테고리의 다른 글
[Verilog 학습] Verilog에서 동시 기능 모델링 (0) | 2022.03.28 |
---|---|
[Verilog 학습] Verilog 모듈 구조 (0) | 2022.03.27 |
[Verilog 학습] Verilog 구성 (0) | 2022.03.26 |
[Verilog 학습] 디자인 설명 (0) | 2022.03.25 |
[Verilog 학습] Verilog란 (0) | 2022.03.22 |