FPGA, ASIC 또는 SoC 프로젝트의 여러 구성원들은 협업을 통해 높은 추상화 수준에서 초기 단계의 주요 의사결정을 내릴 수 있고, 코드와 모델을 생성하여 바로 구현을 시작할 수 있습니다.
MATLAB 및 Simulink로 다음과 같은 작업을 수행할 수 있습니다.
- 다양한 아키텍처를 선택하여 모델링 및 시뮬레이션
- 구현을 향해 하향식으로 알고리즘 개선
- 고정소수점 양자화로 수렴
- 생산급 품질의 RTL 및 임베디드 C 코드 생성
- 디지털 또는 아날로그 시뮬레이션 환경용 검증 모델 생성
- 기능 안전 인증 워크플로 준수
MATLAB을 사용한 생산 설계 및 검증
SoC 아키텍처 및 하향식 설계
알고리즘 개발자는 시스템 설계자 및 디지털 엔지니어, 아날로그/혼합 신호 엔지니어, 검증 엔지니어와 협업하여 높은 추상화 수준에서 아키텍처 옵션을 살펴볼 수 있습니다. 팀원들은 이를 통해 분할 전략을 실험하고 하드웨어 마이크로 아키텍처 및 고정소수점 양자화 같은 구현 세부 사항을 적용하여 점진적으로 분할을 개선할 수 있습니다. 프로덕션 검증된 하드웨어 IP 블록 및 서브시스템을 통해 여러 수학 연산을 아우르는 300여 개의 블록이 SystemVerilog, Verilog, VHDL의 생성을 지원합니다.
이러한 하향식 공정 전체에 걸쳐 더 정교한 모델을 지속적으로 통합하면서 시스템 맥락에서 시뮬레이션함으로써 기능 문제와 성능 문제를 조기에 해결할 수 있습니다. 이 과정을 통해 다양한 시스템 수준의 테스트 케이스를 생성하고 관리하며 모델 커버리지를 측정하여 성공적인 구현을 보장할 수 있습니다.
검증 모델 생성
ASIC Testbench for HDL Verifier 애드온을 사용하면 Verilog 테스트벤치나 VHDL 테스트벤치를 작성하지 않고 MATLAB 및 Simulink에서 검증 구성요소를 직접 내보낼 수 있습니다. 이로써 RTL 시뮬레이션에 대한 참조 모델 및 입력의 상위 수준 동작을 정확히 포착할 수 있습니다. 상위 수준 설계가 변경되면 모델을 다시 생성할 수 있습니다.
이러한 검증 구성요소는 SystemVerilog DPI(Direct Programming Interface)를 사용하므로 SystemVerilog를 지원하는 모든 시뮬레이터에서 이들 구성요소를 사용할 수 있습니다. RTL 검증 환경에서 UVM(범용 검증 방법론)을 사용하는 경우에는 Simulink에서 UVM 구성요소를 생성할 수도 있습니다.
생산 코드 생성
과거의 설계 공정에서는 사양 문서를 작성하고 그 문서를 기반으로 코드를 작성하는 수작업 과정에서 버그가 종종 발생했습니다. MATLAB 및 Simulink로 시스템 수준 검증을 수행하면, FPGA 및 ASIC 설계를 위한 HDL 및 C 코드를 검증된 구현 모델에서 직접 생성할 수 있습니다.
이렇게 생성된 HDL은 가독성이 좋고 소스 모델로의 추적성이 좋으며 타겟 독립적입니다. 파이프라인 삽입 같은 속도 최적화, 리소스 공유 같은 영역 최적화, 그리고 다양한 코딩 스타일과 구조 옵션을 제어할 수 있습니다. 또한 재타겟팅이 가능한 IP 코어를 구축하여 SoC 설계에서 프로세서 작업을 가속화할 수도 있습니다. AMD®와 Intel®의 합성 툴을 코드 생성 메뉴에서 자동으로 실행할 수 있고, 원하는 FPGA 또는 ASIC 합성 툴을 실행할 수도 있도록 스크립트를 생성할 수도 있습니다.
기능 안전
기능 안전 표준을 준수해야 하는 프로젝트인 경우 DO-254, ISO 26262, IEC 61508용 키트에 FPGA, ASIC, SoC 개발 워크플로가 포함되어 있습니다. 이러한 워크플로에는 모델이 알맞은 표준의 요구사항을 준수하도록 내장된 검사 기능으로 모델 어드바이저를 실행하는 단계가 있습니다.
생성된 HDL 및 C 코드는 가독성이 좋고 모델 및 요구사항으로의 추적성이 좋아 코드 리뷰가 수월합니다. 연동 시뮬레이션을 이용한 백투백 테스트나 FPGA-in-the-loop 등 다양한 기법을 활용하여 검증 요구사항을 충족할 수 있습니다.