Electronic system-level design and verification
https://en.wikipedia.org/wiki/Electronic_system-level_design_and_verification
ESL(Electronic System Level) 설계 및 검증은 추상화 수준이 높은 문제에 초점을 맞춘 전자 설계 방법론이다. ESL 설계라는 용어는 2001년 2월 1일 EDA 산업 분석 회사인 Gartner Dataquest에 의해 처음 정의되었다. 책 [ESL 설계 및 검증]에서는 "시스템에 대한 이해를 높이고 비용 효율적인 방식으로 기능을 성공적으로 구현할 확률을 높이기 위해 적절한 추상화를 활용하여 Design하는 것"으로 정의된다.
기본 전제는 C, C++와 같은 낮은 수준의 언어를 사용하거나 그래픽 "모델 기반" 설계 도구를 사용하여 전체 시스템의 동작을 모델링하는 것이다. SysML과 같은 범용 시스템 설계 언어뿐만 아니라 SMDL, SSDL 같은 임베디드 시스템 설계에 고유한 언어를 포함하여 더 높은 수준의 추상화로 모델을 만들 수 있는 새로운 언어가 등장하고 있다. 오늘날 많은 부분이 수동으로 수행되지만, 시스템의 신속하고 정확한 구성별 구현은 high-level synthesis 및 임베디드 소프트웨어 도구와 같은 EDA 도구를 사용하여 자동화될 수 있다. ESL은 추상적 모델링 언어로서 SystemC를 사용하여 달성할 수도 있다.
ESL은 세계 유수의 SoC(System-on-a-chip) 설계 회사들에서 확립된 접근 방식이며, 시스템 설계에 점점 더 많이 사용되고 있다. ESL은 '구현에 대한 링크가 없는' 알고리즘 모델링 방법론으로서 유래되어 맞춤형 SoC, 시스템 온 FPGA, 시스템 온 보드 및 전체 멀티 보드 시스템의 하드웨어 및 소프트웨어 구현을 통해 임베디드 시스템 설계, 검증 및 디버깅을 가능하게 하는 일련의 보완적인 방법론으로 진화하고 있다.
이 방법론 내에서 설계와 검증은 별개의 두 분야이다. 어떤 관행은 두 요소를 분리하여 유지하는 것이고, 다른 관행은 설계와 검증 사이의 보다 긴밀한 통합을 주장한다.
Design
ESL이든 다른 시스템이든 설계는 "전자 제품의 하드웨어와 소프트웨어 부품의 동시 설계"를 의미한다.
Tools
ESL 설계에 사용되는 EDA 도구에는 다양한 유형이 있다. 핵심 구성 요소는 기본적으로 시뮬레이터인 Virtual Platform이다. Virtual Platform은 가장 일반적으로 트랜잭션 수준 모델링(TLM)을 지원하며, 여기서 한 구성 요소의 연산은 각 구성 요소를 모델링하는 객체 간의 간단한 메 서드 호출로 모델링된다. 실제 시스템의 수천 개의 넷 수준 이벤트는 포인터를 단순히 통과하는 것으로 나타낼 수 있기 때문에, 예를 들어 이더넷 패킷이 수신된 것을 모델링하기 위해 SystemC를 사용하는 경우가 많다.
다른 툴들은 추상화의 다른 레벨들에서 모델링된 컴포넌트들과의 Import 및 export 또는 상호통신을 지원한다. 예를 들어, RTL 컴포넌트는 VtoC 또는 Verilator를 사용하여 SystemC 모델로 변환된다. 그리고 High Level Synthesis를 사용하여 구성 요소의 C 모델을 RTL 구현으로 변환할 수 있다.
Verification
ESL 설계 및 검증에서, 검증 테스트는 시스템 또는 장치의 설계의 무결성을 증명하기 위해 사용된다. 수많은 검증 기술이 적용될 수 있다; 이러한 테스트 방법은 일반적으로 테스트 대상 시스템 또는 장치를 더 잘 수용하도록 수정되거나 사용자 지정된다. 일반적인 ESL 검증 방법은 다음을 포함하지만 이에 제한되지는 않는다:
- 모듈형 아키텍처
- 제한된 무작위 자극 생성
- 오류 주입
- 완벽한 시뮬레이션 환경
검증은 종종 시스템/장치 설계자에 의해 제공되지만, 많은 경우에 추가적인 독립적인 검증이 필요하다.
Challenges and criticism
ESL 설계 및 검증에 대한 일부 비판이 제기되었다. 여기에는 C-기반 언어에 대한 너무 많은 초점 및 병렬 프로세스를 표현하는 데 있어서의 challenge가 포함된다. ESL 설계 및 검증이 검증 및 검증의 subset이라고 주장할 수도 있다.
'반도체 > 회로설계' 카테고리의 다른 글
[📚세미피디아] High-level synthesis란? (0) | 2024.04.08 |
---|---|
[📚세미피디아] EDA Tool이란? (0) | 2024.04.08 |
[📚세미피디아] 집적회로설계란? Integrated circuit design (2) | 2024.04.06 |
[📚세미피디아] Understanding Electromigration and IR Drop in Semiconductor Chip (0) | 2024.04.06 |
[📚세미피디아] Overcoming Lower Geometry Design Challenges (0) | 2024.04.06 |