산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial Internet of Things >> 임베디드

Renode를 사용한 공동 설계 SoC의 설계 주기 단축

이 기사에서는 Antmicro의 Renode와 같은 오픈 소스 기능 시뮬레이터의 사용이 하드웨어-소프트웨어 공동 설계 노력의 필수적인 부분이 될 수 있는 방법을 설명합니다. .

이 기사에서는 Antmicro의 Renode와 같은 오픈 소스 기능 시뮬레이터의 사용이 하드웨어-소프트웨어 공동 설계 노력의 필수적인 부분이 될 수 있는 방법을 설명합니다.

Semico Research에 따르면 시장이 임베디드 시스템에 대해 더 많은 것을 요구함에 따라 차세대 SoC가 더욱 복잡해지고 있어 설계 주기가 길어지고 비용이 증가합니다.

장치 제조업체에게 실망스러운 현실은 고객이 요구하는 새롭고 혁신적인 기능, 더 강력한 보안, 더 나은 성능을 제공하는 유일한 방법은 "전체 스택" 공동 설계, 하드웨어, 펌웨어, 런타임의 진화에 참여하는 것입니다. (OS) 및 개발 도구 체인이 함께 제공됩니다. 이렇게 하면 하드웨어 및 소프트웨어 팀이 기능 및 최적화를 구현하기 위해 스택의 어느 위치에 있는지에 대한 복잡한 절충안을 해결할 수 있습니다.

불행히도 공동 설계는 적절한 시뮬레이션 도구가 없을 때 설계 주기를 연장하고 비용을 발생시키는 주요 동인인 경우가 많습니다.

이 기사에서는 Antmicro의 Renode와 같은 오픈 소스 기능 시뮬레이터의 사용이 하드웨어-소프트웨어 공동 설계 노력의 필수적인 부분이 될 수 있는 방법을 설명합니다. 또한 Renode 사용자가 이 도구를 활용하여 설계 주기를 획기적으로 단축하고 고객이 솔루션을 평가할 수 있는 간단하고 효과적인 수단을 제공하며 동시에 소프트웨어 자료를 적용할 수 있는 방법의 예를 보여 드리겠습니다. 하드웨어 통합 노력

소프트웨어 시뮬레이터가 부족한 부분

올바른 시뮬레이션 도구 선택의 중요성은 Dover Microsystems의 경우에 가장 잘 설명되어 있습니다.

Dover의 CoreGuard® 기술은 소프트웨어 취약점의 악용을 방지하고 프로세서가 네트워크 기반 공격으로부터 스스로를 방어할 수 있도록 하는 유일한 솔루션입니다. Dover는 8년 간의 연구 개발을 통해 이를 달성할 수 있었습니다. 처음에는 DARPA Crash Program에서 가장 큰 성과를 거두었고 Draper Labs에서는 임베디드 시스템을 위한 고유한 하드웨어/소프트웨어 하이브리드 솔루션이 탄생했습니다.

이 하이브리드 솔루션은 하드웨어와 소프트웨어 구성 요소 간의 긴밀한 통합이 필요합니다. CoreGuard 실리콘 IP는 사이버 공격으로부터 임베디드 시스템을 보호하는 보디가드 역할을 하는 센트리 프로세서입니다. 호스트 프로세서가 실행하는 모든 명령을 모니터링하여 CoreGuard의 소프트웨어 구성 요소인 마이크로 정책이라고 하는 정의된 보안, 안전 및 개인 정보 보호 규칙 집합을 준수하는지 확인합니다. 명령이 기존 규칙을 위반하는 경우 CoreGuard는 손상이 일어나기 전에 실행을 중지합니다.

이를 달성하기 위해 CoreGuard는 호스트 프로세서의 실행을 따라잡아야 합니다. 즉, 평균적으로 보호되는 호스트 프로세서와 동일한 속도로 명령을 폐기(미시 정책을 통해 승인)할 수 있어야 합니다. CoreGuard가 메타데이터 관리에 필요한 메모리 양을 최소화하는 것도 바람직합니다.

따라서 성능, 전력 및 면적 요구 사항을 충족하려면 하드웨어 및 소프트웨어 계층 모두에서 최적화의 복잡한 상호 작용이 필요합니다.

Dover의 하드웨어 팀은 표준 SystemVerilog 기반 프로세스 및 도구 체인을 사용합니다. CoreGuard 시스템의 초기 프로토타입은 RISC-V 기반 SoC를 기반으로 합니다. CoreGuard는 하드웨어 IP 외에도 상당한 소프트웨어 구성 요소를 가지고 있기 때문에 하드웨어 프로토타입을 사용할 수 있기 훨씬 전에 소프트웨어 팀이 시작할 수 있는 것이 중요했습니다.

Dover의 소프트웨어 팀은 처음에 RISC-V GitHub 리포지토리에서 사용할 수 있는 Spike RISC-V ISA 소프트웨어 시뮬레이터를 사용했습니다. 그들은 Spike를 기반으로 CoreGuard의 상업적 개발을 기반으로 두 가지 문제에 직면했습니다.

<올>
  • Spike는 현실적인 주변 장치를 제공하지 않습니다. 즉, Spike는 SoC 시뮬레이터가 아니라 ISA 시뮬레이터입니다. Dover 팀은 UART 및 영구 저장소와 같은 주변 장치를 Spike에 추가하기 시작했고 이것은 많은 작업이었습니다.
  • Spike는 정의에 따라 RISC-V 전용이지만 Dover Microsystems의 초기 고객은 RISC-V와 Arm 기반입니다.
  • 이러한 단점은 Dover가 Spike 대신 사용할 주변 모델 개념을 갖춘 유연한 다중 아키텍처 시뮬레이터의 필요성을 강조했습니다.

    Renode가 중요한 공동 설계 요구 사항을 해결하는 방법

    오픈 소스 소프트코어, 최첨단 컴퓨팅 플랫폼을 위한 초기 소프트웨어, FPGA SoC, RISC-V, Antmicro와 같은 새로운 CPU 아키텍처로 인한 유사한 이기종 하드웨어/소프트웨어 공동 설계 엔지니어링 문제에 직면해 있습니다. 기술 및 서비스 제공업체 - Renode라는 유연한 시뮬레이션 프레임워크를 개발했습니다.

    Renode는 상호 연결된 다중 노드, 다중 아키텍처, 이기종, MCU 수준 및 Linux 지원 시스템을 포함하여 다양한 복잡한 시스템에서 실제 프로덕션(즉, 수정되지 않은) 펌웨어를 실행하는 것을 목표로 하는 계층적 모듈식 시뮬레이션 프레임워크입니다.

    이러한 다양한 수준의 복잡성을 해결하기 위해 Renode는 강력한 추상화 개념을 기반으로 구축되었으며 시스템 시뮬레이션에 대한 객체 지향 모듈식 접근 방식을 채택합니다. 코어와 주변 장치는 실제 SoC가 어떻게 구축되는지를 반영하여 다양한 구성의 인터페이스를 통해 연결할 수 있는 빌딩 블록으로 간주됩니다.

    그림 1. 시뮬레이션된 RISC-V SoC의 예.

    그림 1은 시뮬레이션된 RISC-V SoC의 예를 보여줍니다. CPU를 포함한 각 빌딩 블록에는 전체 SoC의 시뮬레이션 모델을 구성하는 데 사용할 수 있는 일련의 속성과 API가 있습니다. 유사하게, 단일 노드는 가상화된 무선 및 유선 연결(6LoWPAN, UART, 이더넷 등)을 사용하여 다중 노드 시스템으로 추가로 결합될 수 있습니다. 이 모든 것은 Renode의 코드베이스를 변경할 필요가 없지만 구성 및 스크립팅을 통해 수행되므로 학습 곡선이 줄어들고 코드베이스 단편화가 제한됩니다.

    Renode 프레임워크의 유연한 특성, 오픈 소스 가용성 및 작성자가 제공하는 상업적 지원의 존재 덕분에 Dover는 원하는 워크플로의 프로토타입 구현을 먼저 구축한 다음 Antmicro와 계약하여 구현(및 공개 소스 도메인) 명령별 실행과 같이 Renode를 사용 사례에 더욱 적합하게 만든 기능입니다.

    특히 Renode를 사용하여 Dover 엔지니어는 이제 다음을 수행할 수 있습니다.

    <울>
  • 동일한 설정을 사용하여 Arm과 RISC-V 기반 통합 작업 간에 전환합니다.
  • 다양한 수준의 세부정보/충실도에서 SoC 프로토타입(참조/최소 및 고객 정의 모두)
  • Dover의 하드웨어 그룹에서 하드웨어 아키텍처 사양을 모델링한 다음 하드웨어가 개발 중인 동안 해당 모델에 대해 펌웨어를 작성하고 테스트합니다.

    리노드가 Dover의 설계 주기를 크게 줄인 방법

    Dover의 CoreGuard 기술은 하드웨어와 소프트웨어 설계가 모두 진화하는 하이브리드 사이버 보안 제품입니다. 결과적으로 Dover의 개발 프로세스에서 하드웨어와 소프트웨어의 병렬 개발 및 테스트를 허용하는 것이 중요합니다.

    그림 2. Dover가 사용하는 개발 프로세스입니다.

    Dover는 그림 2에 설명된 개발 프로세스를 사용하고 있습니다. 하드웨어 및 소프트웨어 팀은 하드웨어 인터페이스에서 협력합니다(물론 계속 발전할 예정임). 하드웨어 팀이 SystemVerilog에서 블록을 구현하기 시작하면서 소프트웨어 팀은 Renode의 기본 언어인 C#으로 새 블록의 모델을 만듭니다. 그런 다음 소프트웨어 팀은 새로운 하드웨어 인터페이스와 통신하는 펌웨어를 작성하고 Renode 시뮬레이션에서 해당 소프트웨어를 테스트할 수 있습니다. 결국 소프트웨어는 FPGA 에뮬레이터에서 실행됩니다.

    Renode에서 가능해진 이 개발 프로세스는 Dover가 "저충실도" 및 "고충실도" 시뮬레이션을 모두 최적화하는 데 도움이 되었습니다.

    이 "저충실도" 시뮬레이션은 CoreGuard의 모든 하드웨어 로직을 추상화하지만 Dover는 여전히 다음과 같은 상황에서 이 설정이 유용하다고 생각합니다.

    <울>
  • 미시 정책 디버깅: 새로운 CoreGuard 마이크로 정책이 개발될 때 다양한 소프트웨어 테스트를 신속하게 반복하여 동작을 확인하고자 합니다.
  • 데모 및 고객 미리보기: CoreGuard 데모의 경우 순수 소프트웨어 시뮬레이션만으로도 잠재 고객에게 CoreGuard® 기능에 대해 교육하고 추가 토론에 대한 관심을 불러일으키기에 충분합니다. 또한 Dover는 고객의 소프트웨어에 대해 CoreGuard 마이크로 정책을 실행하는 것을 포함하여 고객이 CoreGuard로 "재생"할 수 있도록 몇 가지 미리 정의된 마이크로 정책이 있는 이 "저충실도" 시뮬레이터로 구성된 "SDK"를 고객에게 제공합니다.

    보다 정확한 하드웨어 모델을 복제하는 "고충실도" 시뮬레이션에서 Dover 엔지니어링 팀은 다음을 포함하여 Renode의 여러 이점을 인식할 수 있었습니다.

    <울>
  • 하드웨어 부팅 ROM에서 사용되는 다양한 비 ELF(예:스캐터 로드) 바이너리 형식과 통합
  • 부팅 프로세스 개발 및 테스트 플래시에서 RAM으로 복사, 장치 초기화
  • Renode 계측을 사용하여 버스 트래픽 디버깅.
  • 계측으로 주변기기(UART, PIC, CoreGuard 인터페이스 자체) 디버깅
  • 메모리 맵을 가지고 노는 중.
  • 하드웨어가 작동하기 전에 HDMI 비디오 펌웨어를 구현합니다.
  • 앞서 언급한 바와 같이 CoreGuard와 같은 차세대 솔루션이 구현하는 동안 SoC 설계 팀에 적용하는 몇 가지 까다로운 성능 및 영역 제약이 있습니다.

    성능을 높이고 메모리 사용량을 줄이려면 하드웨어/소프트웨어 경계를 자주 넘나드는 다양한 최적화가 필요합니다.

    설계 팀이 일련의 대규모 "하드웨어, 소프트웨어 개발 프로세스" 없이 가능한 광범위한 하드웨어/소프트웨어 공동 최적화 기술과 절충안을 탐색할 수 있는 것이 중요합니다. Renode와 같은 유연한 소프트웨어 기능 시뮬레이터를 사용하면 Dover 엔지니어가 하드웨어와 소프트웨어의 복잡성 간에 협력하여 하드웨어와 소프트웨어 복잡성 간의 최적의 균형을 찾아 작업에 필수적인 요소로 만들 수 있습니다.

    Renode가 공동 설계 프로젝트를 간소화하는 방법에 대해 자세히 알아보려면 renode.io를 방문하십시오. CoreGuard가 네트워크 기반 공격으로부터 임베디드 시스템을 보호하는 방법에 대해 자세히 알아보려면 데모를 요청하여 CoreGuard가 작동하는지 확인하십시오.

    이 기사는 Antmicro의 공동 설립자이자 사업 개발 부사장인 Michael Gielda가 공동 저술했습니다.

    업계 기사는 업계 파트너가 편집 콘텐츠에 적합하지 않은 방식으로 All About Circuits 독자와 유용한 뉴스, 메시지 및 기술을 공유할 수 있는 콘텐츠 형식입니다. 모든 산업 기사는 독자에게 유용한 뉴스, 기술 전문 지식 또는 이야기를 제공하기 위해 엄격한 편집 지침을 따릅니다. 업계 기사에 표현된 관점과 의견은 파트너의 것이며 반드시 All About Circuits 또는 해당 작성자의 의견은 아닙니다.


    임베디드

    1. 임베디드 시스템 디자인이란:디자인 프로세스의 단계
    2. 소프트웨어로 해결할 수 있는 4가지 적층 제조 과제
    3. 전문가 인터뷰:nTopology CEO, Generative Design Software로 AM 잠재력 향상에 관한
    4. 로봇 공학으로 미래 공학
    5. PCB 설계에서 RF 급전선 최적화
    6. 최고의 보석 디자인 CAD 소프트웨어를 선택하는 방법
    7. Fuse 1
    8. Steve Ricard와 함께 CMMS 소프트웨어로 전환하기(PODCAST)
    9. 올바른 소프트웨어로 도매 주문 관리를 마스터하는 방법
    10. 클라우드 제조 소프트웨어 기술에 적합한 제품 찾기