MATLAB과 Simulink 모두에서 HDL 코드 생성과 검증 지원
매스웍스는 삼성동 코엑스 인터컨티넨탈호텔에서 개최된 매스웍스의 종합 기술 컨퍼런스인 MATLAB EXPO 2012에서 MATLAB에서 자동으로 HDL 코드를 생성해 엔지니어가 FPGA와 ASIC 설계를 손쉽게 구현할 수 있도록 지원하는 새로운 버전의 HDL Coder를 발표했다. HDL Coder는 MATLAB 및 Simulink의 최신 버전인 릴리스 2012a(R2012a)에 포함된 제품으로 MATLAB 함수 및 Simulink 모델로부터 이식과 합성이 가능한 VHDL 및 Verilog 코드를 생성해 FPGA 프로그래밍이나 ASIC 프로토타입핑 및 설계에 사용할 수 있다. 이와 함께 EDA Simulator Link의 후속 제품으로, FPGA와 ASIC 설계 테스트를 위한 FPGA hardware-in-the-loop(HiL)을 포함하는 ‘HDL Verifier’도 발표했다.
HDL Coder는 Simulink에서 생성된 코드를 HDL로 변환하기 위한 툴(Simulink HDL Coder)로 존재하던 것을 MATLAB 환경에서도 부동소수점 연산에서 고정소수점 연산으로 자동 변환하고, HDL 리소스의 최적화와 보고서를 생성하고, 알고리즘과 HDL과의 트레이서빌리티(traceability) 등을 실행할 수 있다. Simulink 모델과 생성된 HDL 코드 사이에 추적이 가능함에 따라 DO-254 등의 표준 규격을 준수하는 고신뢰성 애플리케이션의 개발도 지원한다. 또한 HDL Coder 내에 자일링스(Xilinx)의 IP를 통합하는 기능도 제공한다.
한편, VHDL/Verilog 코드의 검증 및 공통 시뮬레이션 툴인 HDL Verifier는 HDL Coder로부터 생성된 코드 외에 직접 손으로 작성한 HDL 코드도 검증할 수 있다. HDL Verifier는 MATLAB과 Simulink를 케이던스(Cadence) 인사이시브(Incisive), 멘토그래픽스(Mentor Graphics)의 모델심(ModelSim) 및 퀘스타(Questa)의 HDL 시뮬레이터와 연결하는 공동 시뮬레이션 인터페이스를 제공한다. 엔지니어는 HDL 구현이 MATLAB 알고리즘 및 Simulink 시스템 사양과 일치하는지 빠르게 확인할 수 있다. 별도 판매되는 옵션 툴인 ‘Embedded Coder’를 이용하면, M 파일에서 SystemC TLM 2.0 코드를 출력할 수 있다.
매스웍스의 폴 버나드(Paul Barnard) 제품 마케팅 디렉터는 “두 제품을 통해 MATLAB 함수에서 HDL 코드를 자동 생성하고 FPGA 평가 보드를 사용해 확인하는 것이 가능하다. 이를 통해 알고리즘 설계를 담당하는 엔지니어와 하드웨어 설계를 담당하는 엔지니어 간의 원활한 의사소통이 가능해 개발 기간을 크게 단축할 수 있다”고 말했다.
HDL Coder를 사용할 경우에는 C 언어 자동 생성 옵션인 ‘MATLAB Coder’와 MATLAB에서 고정소수점을 사용해 프로그래밍하는 데 사용하는 ‘MATLAB Fixed-Point Toolbox’가 필요하다. 매스웍스 코리아 김영우 이사는 “MATLAB에서 기술하는 알고리즘은 부동소수점을 다루고 있는 반면, HDL은 고정소수점을 다루는 경우가 많다”며 “MATLAB 파일에서 HDL 코드를 자동 생성하려면 부동소수점에서 고정소수점으로 변환하는 기능이 필요하다. HDL Coder를 사용하면, 부동소수점에서 고정소수점으로 간단히 변환할 수 있다”고 말했다. 쫟
<저작권자(c)스마트앤컴퍼니. 무단전재-재배포금지>