Rambus - HDL Coder로 상위수준 합성을 사용한 ASIC용 DSP 블록 개발 사례

"일반적으로 검증 및 백엔드 팀은 사양 기반 RTL의 첫 번째 버전이 준비될 때까지 통합을 시작할 수 없는데, 이 버전에도 여전히 버그가 있을 수 있습니다. HDL Coder에 기반한 이 워크플로를 사용하면 버튼 하나만 클릭하면 시스템 수준에서 검증된 모델로부터 HDL을 생성할 수 있어 수 개월의 시간을 절약할 수 있고, 이러한 팀들을 위한 고품질의 시작점을 보장할 수 있습니다."

주요 성과

  • HDL 코드 생성을 통해 설계 프로세스가 1년에서 3개월로 단축되었고, 생성된 코드의 80%가 최종 구현에 보존되어 생산성이 향상되었습니다.
  • 검증 환경 개발은 자동 생성된 RTL 코드로 시작하여 사용자 지정 RTL 개발과 병행하여 진행되었습니다.
  • 설계 세대 간 이동 또는 동일 세대의 구현 간 이동에는 HDL 지원 Simulink 모델에 대한 변경이 거의 필요 없었습니다.
Simulink 모델을 사용해 RTL 참조 설계를 생성하는 DSP ASIC에 대한 워크플로 도식. 이 참조 설계는 디버그 및 가관측성 기능, 기술 셀, ECO 준비가 된 재사용 가능한 코드를 갖춘 PPA 최적화된 맞춤형 RTL로 점진적으로 개발됩니다.

RTL 검증 및 사용자 정의를 통한 HDL 코드 생성을 사용한 DSP ASIC 워크플로.

오늘날의 통신 기기에는 더 높은 성능, 더 낮은 최종 제품 비용, 더 낮은 전력 소비를 위해 ASIC(주문형 반도체)에 복잡한 신호 처리 알고리즘이 통합 구현되어 있습니다. ASIC의 물리적 구현은 매우 긴 과정입니다. 이 작업은 RTL 검증이 완료되기 전에 시작되며 최적화된 가산기와 곱셈기의 수동 통합은 물론 RTL 디버그 및 가관측성 기능도 필요합니다.

Rambus의 디지털 엔지니어링 책임자인 Ehud Nir는 제한된 시간과 엔지니어링 리소스로 Gen6 PCIe PHY에 대한 DSP를 개발해야 했습니다. 비슷한 설계에 대한 이전 프로젝트에서는 ASIC 설계자 한 명이 RTL 코드를 작성하고 검증 엔지니어 한 명이 테스트벤치를 개발하는 데 12개월이 걸렸습니다. 시스템 아키텍트가 MATLAB® 및 Simulink®를 사용해 DSP를 포함한 전체 Gen6 SerDes(직렬/병렬 변환기)를 모델링하기 때문에 Ehud는 HDL Coder™를 사용해 Simulink 모델로부터 직접 ASIC 구현에 대한 RTL 참조를 생성함으로써 설계 프로세스를 가속화하기로 결정했습니다.

시작하려면 시스템 아키텍트는 SerDes DSP의 부동소수점 Simulink 모델을 고정소수점으로 변환해야 합니다. 이 모델이 목표 전기적 사양과 특성을 충족하는지 확인한 후, ASIC 디지털 설계자는 HDL Coder를 사용해 고정소수점 모델에서 RTL 코드를 생성했습니다. 이 참조 모델은 디지털 프론트엔드 필터 수정 등 요구사항의 변화로 인해 설계 과정 중 Simulink에서 여러 번 재생성되었습니다.

HDL Coder로 생성한 RTL 코드는 검증 팀이 IP 수준 검증을 시작하고 백엔드 팀이 물리적 설계를 시작하는 기준점 역할을 했습니다. 그 사이 디지털 설계자는 전력 소비를 줄이고 저전력 모드를 추가하기 위해 조합 논리 및 순차 논리를 개발하여 RTL 코드를 사용자 지정했습니다. 생성된 RTL을 참조로 사용하여 사용자 정의된 RTL과 생성된 RTL 참조 간의 완전한 계층적 비교가 가능해졌습니다. 추가된 어설션을 통해 HDL 시뮬레이터를 사용하면 사용자 정의 RTL을 검사하여 참조 모델과 비트 단위 및 사이클 단위로 정확한지 확인할 수 있습니다. 그 결과, 이전 프로젝트에서는 두 명의 엔지니어가 12개월 동안 작업한 것과 비교했을 때, 단 한 명의 엔지니어가 3개월도 안 되는 기간 안에 완벽하게 검증되고 타이밍이 완벽한 DSP 넷리스트를 제작할 수 있었습니다. 이 DSP로 구동되는 Gen6 PHY ASIC 테스트 칩은 실험실에서 첫 시도만에 통과하여 검증되었습니다.