From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

아카이브: LabVIEW FPGA에서의 사이클 수준 정확도 시뮬레이션

NI does not actively maintain this document.

This content provides support for older products and technology, so you may notice outdated links or obsolete information about operating systems or other relevant products.

개요

LabVIEW FPGA에서 정밀 주기 시뮬레이션 FPGA 어플리케이션이 갈수록 대형화되고 복잡해지면서, 시간이 많이 걸리는 컴파일을 수행하고 높은 충실도의 테스트 커버리지로 디자인을 디버깅하기 전에 시뮬레이션으로 IP를 검증하는 것이 점점 더 중요해지고 있습니다. NI LabVIEW 소프트웨어에서는 기능과 타이밍에 대해 어플리케이션 로직을 시뮬레이션할 수 있습니다. 사이클 수준의 정확도를 제공하는 시뮬레이터는 로직의 신호 전파를 검증하기 위한 수단을 제공함으로써 어플리케이션의 타이밍 제약을 테스트합니다. 또한 이같은 시뮬레이터는 LabVIEW FPGA와 Component-Level IP(CLIP) 또는 IP 통합 노드 로직을 동시에 제공하므로 전체 FPGA 어플리케이션을 테스트할 수 있게 합니다. 이 백서는 타사의 사이클 수준 정확도 시뮬레이터를 사용하여 LabVIEW FPGA를 통합하는 내용을 중점적으로 다룹니다. LabVIEW FPGA의 기능적 시뮬레이션 기능에 대해 더 배우려면 LabVIEW FPGA 온라인 도움말을 참조하십시오.

 

노트: Mentor Graphics Questa Advanced Simulator가 LabVIEW 2018 FPGA Module 버전부터는 더 이상 LabVIEW FPGA의 시뮬레이션 도구로 지원되지 않습니다.

 

참고: LabVIEW 2014부터는 Mentor Graphics ModelSim이 LabVIEW FPGA의 시뮬레이션 도구로 더 이상 지원되지 않습니다.

내용

LabVIEW 및 타사 시뮬레이터를 사용한 공동 시뮬레이션

FPGA 어플리케이션의 공동 시뮬레이션은 LabVIEW에서 시뮬레이션을 직접 생성하고 실행하는 기능을 제공하는 동시에 배후에서 타사의 고급 사이클 수준 정확도 시뮬레이터를 활용함으로써 가장 높은 레벨의 추상화를 제공합니다.

LabVIEW는 공동 시뮬레이션을 위해 테스트 중인 IP에 자극을 제공하고 시뮬레이터의 실행을 제어하며 응답을 수집합니다. LabVIEW 공동 시뮬레이션에서는 입력을 받고 일반 FPGA 호스트 인터페이스 기능으로 시뮬레이션을 실행하는 호스트 VI가 기존의 VDHL 기반 테스트 벤치를 대체합니다. 기존의 LabVIEW 기술을 사용하여 이렇게 테스트 벤치를 추상화하면 생산성이 증대되며 LabVIEW FPGA VI에서 사이클 수준 정확도 시뮬레이션을 개발하고 수행하기 위한 VHDL에 대한 전문 지식이 필요하지 않습니다.

그림 1. LabVIEW FPGA의 사이클 수준 정확도 공동 시뮬레이션은 LabVIEW에서 작성된 테스트 벤치를 지원하여 VHDL 전문 지식이 필요하지 않습니다.

개별 FPGA 호스트 기능의 실행은 타사 시뮬레이터가 시뮬레이션의 다음 요소를 언제 실행하는 지를 결정합니다. 예를 들어, LabVIEW 호스트 VI에서 프로퍼티 쓰기 노드가 실행되면, 적절한 자극으로 시뮬레이터와 통신하며 시뮬레이션 시간을 진행시킵니다. 시뮬레이터가 결과를 연산하면 실행을 중지하고 LabVIEW로부터 다음 제어 명령을 기다립니다.

시뮬레이션 실행의 추가적인 제어성과 유연성을 위해, 시뮬레이션 FPGA 호스트 인터페이스 팔레트는 현재 시뮬레이션 시간 추출, 지정 시간 동안의 시뮬레이션 대기, 또는 시뮬레이터 실행 중지 기능을 제공합니다.

그림 2. Simulation FPGA 호스트 인터페이스 팔레트는 타사 시뮬레이터 실행 시간에 대한 덜 정밀한 제어를 위한 기능을 제공합니다.

LabVIEW 테스트 벤치를 사용한 공동 시뮬레이션은 Mentor Graphics ModelSim 및 Mentor Graphics Questa Advanced Simulator를 통해 지원됩니다. 

타사 시뮬레이터에서 사용할 시뮬레이션 반출 생성

사이클 수준 정확도 시뮬레이션을 위한 두 번째 방법이자 낮은 레벨의 방법은 타사 시뮬레이터에서 직접 사용할 수 있게 LabVIEW FPGA 시뮬레이션을 생성하고 반출하는 방법입니다. 공동 시뮬레이션과 달리 이 방법을 사용하기 위해서는 자극을 제공하고 테스트 실행을 제어하며 출력을 수집/검증할 수 있는 HDL 기반 테스트 벤치가 필요합니다. 따라서, LabVIEW FPGA에서 이 방법을 사용할 때에는 HDL 시뮬레이터와 VHDL에 익숙해야 합니다. 이 방법을 사용하는 장점은 Mentor Graphics ModelSim 및 Questa 외에도 LabVIEW FPGA에 포함된 Xilinx ISim 또는 Vivado Simulator 사이클 수준 정확도 시뮬레이터에 이러한 시뮬레이션 파일을 반입할 수 있다는 것입니다.

그림 3. LabVIEW가 생성한 테스트 벤치를 수정한 후, ModelSim, Questa, Vivado Simulator 또는 ISim에서 사이클 수준 정확도 시뮬레이션을 실행할 수 있습니다.

LabVIEW는 시뮬레이션 반출의 일환으로 FPGA 어플리케이션을 위해 맞춤화된 템플릿 테스트 벤치 파일을 생성합니다. 이 하네스가 있으면, 디자인을 적절하게 사용하기 위해 특정 VHDL을 추가할 수 있습니다.

그림 4. LabVIEW는 테스트 벤치 개발을 가속화하기 위해 시뮬레이션 반출 파일의 일부로 템플릿 VHDL 테스트 벤치를 생성합니다.

시뮬레이션 파일 생성, 테스트 벤치 편집, Xilinx ISim 또는 Vivado Simulator에서의 시뮬레이션 실행을 위한 자세한 방법은 Xilinx ISim을 통한 사이클 수준 정확도 시뮬레이션 길라잡이 문서를 참조하십시오.

결론

LabVIEW FPGA는 컴파일 및 배포 전에 FPGA 어플리케이션을 효율적으로 시뮬레이션할 수 있도록 기능적, 사이클 수준 정확도 타이밍 시뮬레이션을 수행하기 위한 툴을 제공합니다. 사이클 수준 정확도 시뮬레이터는 중요한 신호 전파 충돌과 병렬 코드간 원치 않는 상호작용을 발견할 수 있습니다. 전통적으로 이를 위해서는 특별한 전문성과 기본적인 IP 개발에 필요한 것 이상의 시간 투자가 필요했습니다.

Mentor Graphics ModelSim 또는 Mentor Graphics Questa를 사용하여 LabVIEW FPGA에서 사이클 수준 정확도 공동 시뮬레이션을 진행하면 VHDL에 대한 전문 지식이 필요하지 않으며 기존의 LabVIEW 기술을 활용함으로써 테스트 벤치 개발 시간을 대폭 단축합니다.

또한 LabVIEW FPGA는 무료 사이클 수준 정확도 시뮬레이터와 함께 제공됩니다. FPGA 디바이스가 무엇인지에 따라, 이 시뮬레이터는 Xilinx ISim일 수도 있고, Vivado Simulator일 수도 있습니다. 그러나, 이 경우 LabVIEW는 설계를 적절하게 실행하려면 사용자가 반드시 변경할 수 있어야 하는 VHDL 템플릿 테스트 벤치를 생성합니다.

 

Was this information helpful?

Yes

No