HDL Coder

 

HDL Coder

FPGA 및 ASIC 설계를 위한 Verilog, SystemVerilog 및 VHDL 코드 생성

비디오 길이: 2:10
펄스 검출 알고리즘의 하드웨어 아키텍처 다이어그램.

상위수준 하드웨어 설계

HDL과 호환되는 300개 이상의 Simulink 블록과 MATLAB 함수 중에서 선택하여 서브시스템을 설계하고 Stateflow 차트, Simscape 모델, 딥러닝 신경망을 추가할 수 있습니다. 설계의 하드웨어 동작을 시뮬레이션하고, 대안적인 아키텍처를 살펴보고, 고정소수점이나 부동소수점 데이터형 또는 두 데이터형의 조합을 활용하여 합성 가능한 Verilog, SystemVerilog 또는 VHDL을 생성할 수 있습니다. 

합성 가능한 HDL에서 FPGA 및 ASIC까지 이어지는 워크플로를 보여주는 다이어그램.

공급업체 독립적 타겟팅

주요 공급업체의 FPGA에 맞추어 타겟에 최적화된 합성 가능한 RTL을 생성하고, 이를 ASIC에도 사용할 수 있습니다. 동일한 모델을 프로토타입 및 프로덕션 코드 생성에 재사용할 수 있습니다.

FIR 필터의 완전 병렬 및 완전 파이프라인 방식 아키텍처를 보여주는 다이어그램.

설계 최적화

RTL 구현 과정에 돌입하기 전에 다양한 하드웨어 아키텍처 및 고정소수점 양자화 옵션을 살펴볼 수 있습니다. 리소스 공유, 파이프라이닝, 지연 조절 등 논리, DSP, RAM 같은 소자 리소스에 효율적으로 매핑되는 고수준 합성 최적화를 활용할 수 있습니다.

FPGA가 장착된 개발 보드.

FPGA 기반 소자

FPGA 및 SoC 소자에 효율적으로 매핑되는 RTL을 생성할 수 있습니다. 널리 쓰이는 보드에 대한 하드웨어 지원 패키지를 사용하여 입력값과 출력값을 소자 수준 I/O 및 AXI 레지스터에 매핑하거나 사용자 지정 참조 설계를 정의할 수 있습니다.

MATLAB 및 Simulink 알고리즘을 ASIC에 타겟팅하는 공정 단계.

ASIC 워크플로

혼합 아날로그, 디지털 및 소프트웨어 시스템의 맥락에서 아키텍처와 상위수준 하드웨어 기능을 설계하고 검증할 수 있습니다. QoR(결과 품질)이 우수한 RTL을 생성하거나 Cadence® Stratus HLS에서 사용할 합성 가능한 SystemC를 생성할 수 있습니다.

대시보드 카메라로 촬영된 정지 영상, 비디오 처리를 위한 Simulink 모델 및 논리 분석기.

응용 사례 개발

Wireless HDL Toolbox의 서브시스템과 블록으로 통신 알고리즘을 설계하거나 Vision HDL Toolbox를 사용해 비전 처리 알고리즘의 스트리밍 구현을 개발할 수 있습니다. 복잡한 저지연 모터 제어 시스템을 구현할 수 있습니다. 

예제 (통신, 비전, 모터 제어) 

프레임으로부터 샘플로의 자동 변환에 대한 상위수준 워크플로 다이어그램.

하드웨어를 위한 설계

스트리밍 데이터에서 효율적으로 작동하는 알고리즘을 개발할 수 있습니다. HDL과 호환되는 Simulink 블록, 사용자 지정 MATLAB Function 블록, Stateflow 차트로 하드웨어 아키텍처의 세부 사항을 추가할 수 있습니다.

FPGA 블록이 표시된 Simulink 모델을 배경으로 하는 Speedgoat FPGA I/O 보드의 그림.

실시간 시뮬레이션 및 테스트

HDL Workflow Advisor를 사용해 Speedgoat의 프로그램 가능 FPGA I/O 모듈을 타겟팅할 수 있습니다. Simulink Real-Time을 사용해 시뮬레이션하거나 dSPACE 및 NI의 추가적인 FPGA I/O 모듈을 사용할 수 있습니다. 네이티브 부동소수점 HDL 코드를 생성해 고정확도 프로토타이핑의 워크플로를 간소화할 수 있습니다. 

HDL Verifier 및 ASIC Testbench 애드온의 특징을 보여주는 다이어그램.

조기 검증

주요 HDL 시뮬레이터와의 연동 시뮬레이션(HDL Verifier 필요)을 통해 생성된 HDL을 MATLAB 및 Simulink 테스트벤치로 검증할 수 있습니다. 

"시스템 아키텍트와 하드웨어 디자이너는 Simulink를 통해 소통할 수 있습니다. Simulink는 지식, 아이디어, 설계를 교환할 수 있는 공통의 언어와 같습니다. Simulink와 HDL Coder 덕분에 우리는 VHDL 구문이나 코딩 규칙을 검사하는 대신에 시뮬레이션을 통한 알고리즘 개발과 설계 고도화에 집중할 수 있습니다."

HDL Coder FAQ

HDL Coder는 FPGA 프로그래밍, ASIC 프로토타이핑, 프로덕션 설계를 위해 이식성이 좋고 합성 가능한 Verilog, SystemVerilog 및 VHDL 코드를 MATLAB 함수, Simulink 및 Simscape 모델, Stateflow 차트로부터 생성하는 코드 생성 툴입니다. 또한 HDL Coder는 합성 가능한 SystemC 코드를 생성하여 Cadence Stratus HLS와 통합할 수 있습니다.

HDL Coder를 사용하면 FPGA, SoC 및 ASIC을 위한 상위 설계를 수행할 수 있습니다.

HDL Coder는 300개 이상의 HDL 지원 Simulink 블록과 MATLAB 함수뿐만 아니라 Stateflow 차트 및 Simscape 모델도 지원합니다.

네, HDL Coder는 고정소수점 또는 부동소수점 데이터형이나 이 둘의 조합을 사용하여 합성 가능한 HDL을 생성할 수 있습니다.

HDL Coder를 사용하면 합성 전에 속도와 면적에 대해 최적화를 수행하고, 임계 경로를 강조 표시하며, 리소스 사용량을 추정하고, 리소스 공유, 파이프라이닝 및 지연 밸런싱과 같은 고수준 합성 최적화를 사용할 수 있습니다.

HDL Coder는 Simulink 모델과 생성된 Verilog, SystemVerilog 및 VHDL 코드 간의 추적성을 제공해 DO-254 및 기타 표준을 따르는 고무결성 애플리케이션에 대한 코드 검증을 지원합니다.

네, HDL Coder는 ASIC 워크플로를 위한 PPA(전력, 성능, 면적)를 고려한 RTL을 생성하며, Cadence Stratus HLS와 함께 사용하기 위한 합성 가능한 SystemC도 생성할 수 있습니다.

네, HDL Coder에는 생성된 코드를 FPGA 보드에서 프로토타이핑하는 작업을 자동화하고 ASIC 및 FPGA 워크플로에 대한 IP 코어를 생성하는 HDL Workflow Advisor가 있습니다.

HDL Coder에 대해 더 알아보고 싶으십니까?