NI LabVIEW FPGA의 새로운 기능
LabVIEW 2009의 새로운 기능
LabVIEW 8.6의 새로운 기능
LabVIEW 8.5의 새로운 기능
LabVIEW 8.2의 새로운 기능
LabVIEW 8.0 기능
LabVIEW 7.1 기능
LabVIEW 2009의 새로운 기능웹 세미나 보기: LabVIEW FPGA 2009의 새로운 점 크기와 속도 초기 추정사용자로부터 가장 많이 들어온 피드백은 전체 컴파일을 기다리기 전에 FPGA 리소스 사용을 추정하는 기능입니다. LabVIEW 2009에서, 컴파일러는 "합성" 단계 이후에 디자인의 초기 크기와 속도 추정을 보여주며 본 리포트가 확인 가능할 때 사용자에게 알려줍니다. 주요 경로 하이라이팅으로 타이밍 위반 디버깅타이밍 위반이 발생했을 때, 주요 경로를 진단하는 것이 어려운 데 더욱 효율적으로 프로그래밍하고 파이프라인 단계를 추가하여 타이밍 제약을 줄일 수 있습니다. 이제 타이밍 위반시 주요 경로의 모든 VI를 보여주고 FPGA 블록 다이어그램의 위치를 하이라이팅하는 윈도우가 제공됩니다. 본 기능은 심지어 subVI에도 적용되어 타이밍 위반 소스를 확인할 수 있습니다. 향상된 높은 처리량 수학 및 신호 처리 IP새로운 높은 처리량 수학 VI는 고속 핸드쉐이킹 프로토콜로 사인, 코사인, 지수와 같은 새로운 함수를 제공하므로, 함수가 단일 주기 timed 루프에서 사용될 수 있습니다. 새로운 수학 함수를 사용할 수 있을 뿐 아니라, Window, FFT, 리샘플과 같은 높은 처리량 신호 체인에서 다른 함수와 함께 본 함수를 사용할 수도 있습니다. 호스트 통합 기능호스트 측에서, LabVIEW 2009에는 두 가지 중요한 기능이 있습니다. 첫째, NI는 C 인터페이스를 반출하여, C에서 하드웨어를 실행하는 LabVIEW FPGA 프로그램과 통신할 수 있습니다. 기능에는 읽기/쓰기 레지스터, DMA, 인터럽트가 포함됩니다. 둘째, LabVIEW 2009에는 특정 FPGA IP 함수를 위한 새로운 스케일링 비교 VI가 있습니다. 예를 들어, 원시 FFT 데이터를 스펙트럼으로 전환하는 VI, FPGA 필터링 VI를 위해 계수를 마련하는 VI, 주파수, 진폭 및 위상을 수집하고 신호 생성 VI와 함께 사용하기 위해 값을 반환합니다. 새로운 LabVIEW 8.6 기능웹 세미나 보기: LabVIEW FPGA 8.6의 새로운 기능 향상된 시뮬레이션더욱 효율적인 개발을 위해, 향상된 동작 시뮬레이션을 사용하여 개발 컴퓨터에서 코드를 실행하고 편집 이전에 기능을 확인할 수 있습니다. 또한, LabVIEW 8.6 에서는 FPGA의 입력 I/O 노드로 테스트 벡터 또는 대화식 값을 지정하는 LabVIEW 프로그램을 사용할 수 있습니다. FPGA 동작의 확인과 시각화 처리를 위한 출력 캡쳐, 개발 컴퓨터에서 호스트와 FPGA를 동시 실행, FPGA와 호스트 코드 사이에 시뮬레이션된 레지스터와 DMA 전송을 얻을 수 있습니다. 이러한 새로운 기능으로, FPGA 코드용 테스트 벤치를 생성할 수 있으며 로직을 체크하기 위해 컴파일하지 않고 전체 시스템을 시뮬레이션할 수 있습니다. FFT와 기타 새로운 IP이제 LabVIEW 8.6 으로 FPGA에서 윈도윙으로 FFT를 실행할 수 있습니다. 이는 가장 많이 요청되었던 기능 중 하나였으며, NI는 FFT, 역 FFT, 여러가지 빈 크기, 여러가지 처리량 설정을 실행하는 맞춤가능한 IP 코어를 제공하고 있습니다. NI는 또한 유리수 리샘플링, 나누기, 제곱근, 적응 필터, 고정점 오버플로우 핸들링 함수를 제공합니다. 고정 소수점 지원고정 소수점 데이터 유형은 거의 모든 FPGA 함수 입력에서 지원됩니다. 여기에는 DMA, 메모리, 필터, PID, FFT, 모든 산술에 대한 지원이 포함됩니다. 뿐만 아니라, 고정 소수점 데이터 유형은 와이어 상에서 전달된 오버플로우 비트를 추가하기 위한 옵션을 제공합니다. NI는 리소스 제한된 타겟과 작업하기 위해 필요한 고유한 엔지니어링 문제를 해소하기 위해 향후에도 지속적으로 고정 소수점 지원을 개선할 예정입니다. Component-Level IP (CLIP)Component-level IP (CLIP)는 HDL (hardware description language)로 작성된 외부 IP를 반입하고 사용하기 위한 새로운 방식입니다. CLIP으로 초기화되는 실행은 LabVIEW 다이어그램과 병렬로 실행되며, 사용자가 생성한 I/O 노드를 통하여 통신할 수 있습니다. 일부 하드웨어 타겟으로, CLIP을 사용하여 I/O 핀과 직접 통신할 수 있습니다. CLIP 함수는 모든 IP 유형을 포함하기 위해 FPGA 플랫폼을 더욱 개방하므로, 현재 HDL 노드 실행과 같은 데이터 흐름보다는 병렬 실행에 더욱 적합합니다. LabVIEW 8.5 기능FPGA 프로젝트 마법사새로운 FPGA 프로젝트 마법사를 사용하면 구성 및 프로그래밍 준비된 FPGA 타겟과 I/O로 완벽한 LabVIEW 프로젝트를 구축할 수 있습니다. 이는 기존 FPGA 마법사에 직접 연결되므로 아날로그 및 디지털 I/O, 카운터, 구적 엔코더 측정을 위한 기능적인 코드를 신속하게 생성할 수 있습니다. FPGA 프로젝트 마법사는 FPGA와 호스트 코드 생성을 위한 새로운 DMA 옵션을 통해 개선됩니다.
컨트롤, 필터링, 신호 생성 IPLabVIEW FPGA Module 8.5에는 FPGA 팔레트의 새로운 IP 뿐만 아니라 FPGA에서 향상된 리소스 사용을 위한 향상된 기존 IP가 포함됩니다.
모듈형 및 코드 재사용 기능I/O 이름 컨트롤 - subVI 내에 I/O 노드, 메소드, 프로퍼티를 놓아 와이어를 통해 I/O 항목을 지정합니다. 클럭 컨트롤 - 특정 단일 주기 타임 루프를 사용하기 위해 온보드 또는 유도된 클럭 등 클럭을 지정하기 위해 와이어를 사용합니다.
향상된 피드백 노드 - 블록 다이어그램 모든 곳에 피드백 노드를 놓으십시오. 피드백 노드는 상태 스토리지 또는 파이프라인에 매우 유용하며, subVI를 포함한 모든 곳에서 작동합니다. LabVIEW Statechart ModuleNI는 FPGA를 그래픽 기반으로 프로그래밍하기 위한 추가 방식을 제공하고 있습니다. 여러 설계자들은 구축하고자 하는 시스템을 표현하기 위해 상태 차트 사용을 선호합니다. LabVIEW FPGA를 지원하는 본 새로운 모듈을 사용하면 상태차트로 FPGA 기반 시스템을 표현할 수 있을 뿐 아니라 동일한 시각적인 패러다임으로 프로그래밍할 수도 있습니다. 고정 소수점 데이터에 대한 지원LabVIEW에는 FPGA 프로그래밍에 특히 유용한 새로운 고정 소수점 데이터 유형이 있습니다. 이전 버전에서 LabVIEW FPGA는 단지 정수만을 지원하였습니다. 그러나, 새로운 고정 소수점 데이터 유형 지원으로 엔지니어들은 이제 소수점형 숫자 및 임의 비트폭 데이터 유형을 FPGA 프로그래밍에 적용할 수 있습니다. LabVIEW 8.5는 작은 수의 원시 수학 및 비교 함수를 위한 고정 소수점 지원을 제공합니다. 향후 출시되는 버전에는 이 같은 중요한 데이터 유형에 대한 확장된 지원을 제공할 예정입니다. LabVIEW 8.2의 새로운 기능FPGA 수학 및 분석 IPLabVIEW FPGA Module 8.2는 새로운 원시 분석 함수를 제공하므로 신호 처리를 위한 코드를 재사용할 수 있고 FPGA에 통용되는 기능을 컨트롤할 수 있습니다. 본 새로운 IP에는 다음이 있습니다.
FPGA 마법사FPGA 마법사로 인텔리전트 DAQ 어플리케이션을 위해 FPGA I/O 및 타이밍을 설계할 수 있습니다. 본 구성 기반의 마법사를 사용하면, FPGA 디바이스와 호스트 VI 간 타이밍 및 동기화를 선택할 수 있습니다. 타이밍을 선택한 후, 아날로그, 디지털, 카운터 또는 구적 엔코더 I/O를 구성할 수 있습니다. 일단 구성되면, 구성을 저장하고 기본 FPGA 코드와 호스트 코드를 저장할 수 있습니다. 그 후 컨트롤 알고리즘, 데이터 로깅, 또는 데이터 네트워킹과 같은 어플리케이션 함수를 완성하기 위해 추가 코드를 통합할 수 있습니다.
새로운 메모리 VI새 메모리 읽기/쓰기 인터페이스로, 1M 게이트 디바이스에서 모든 80 KB 메모리에 접근할 수 있으며 3M 게이트 디바이스에서 모든 190 KB 메모리에 접근할 수 있습니다. FPGA 게이트를 비효율적으로 사용하는 어레이를 사용하지 않고 파형 생성 또는 데이터 로깅을 위해 메모리를 사용하여 데이터를 저장할 수 있습니다. LabVIEW 8.0 기능LabVIEW 프로젝트LabVIEW 프로젝트를 사용하면, Windows용 LabVIEW, LabVIEW FPGA Module, LabVIEW Real-Time Module, 다른 LabVIEW 모듈에서 VI를 동시에 타겟팅하고 열 수 있을 뿐만 아니라, LabVIEW FPGA 어플리케이션을 개발할 수도 있습니다. 아래와 같이 LabVIEW 프로젝트를 사용하여 다음과 같은 모든 FPGA 리소스를 생성하고 관리할 수 있습니다.
DMA 데이터 전송LabVIEW FPGA Module 8.0 DMA 기능은 FPGA 디바이스와 호스트 간 처리량 한계를 없애줍니다. 재구성가능한 I/O (RIO) 디바이스의 FPGA가 최고 20 MHz 속도로 실행할 수 있는 반면, DMA 없이 가장 신속한 데이터 스트리밍 속도는 약 1 MB/s입니다. LabVIEW FPGA Module 8.0은 인터럽트 요청 사용과 같은 다른 실행과 비교하여 FPGA와 호스트 어플리케이션간 최소 20배 증대된 데이터 스트리밍 속도를 위해 모든 NI R 시리즈 및 CompactRIO 디바이스에서 DMA를 실행합니다. DMA는 호스트 머신에서 데이터-RAM 직접 링크를 제공합니다. 디바이스에서 호스트로 데이터를 스트리밍하기 위해 호스트 프로세서에 의존하는 것은 보통 지연을 유발하며 데이터 전송 병목을 야기합니다. 인터럽트 요청을 사용하면 프로세서 클럭 주기를 소모하며 호스트 CPU에서 전체 로드를 증가시킵니다. LabVIEW 8로, CPU를 건너뛰는 더욱 효율적인 디바이스-호스트 및 호스트-디바이스 전송을 사용할 수 있으므로, 모든 어플리케이션을 위한 고성능 데이터 수집 시스템을 구축할 수 있습니다. DMA를 사용하기 위해서는 두 가지 메모리 버퍼 즉, (1) FPGA 디바이스상의 메모리 버퍼, (2) 호스트 프로세서의 메모리 버퍼를 사용하면 됩니다. 그 후 LabVIEW는 PCI 버스에서 효율성있고 투명하게 데이터를 전송합니다. LabVIEW FPGA Module 8.0은 DMA 메모리를 쓰고 읽기 위해 DMA를 위해 구성된 FPGA FIFO를 사용하고, 호스트 메모리 생성, 쓰기 및 읽기를 위해 호스트 측에서 FPGA 인보크 메소드를 사용합니다. DMA는 버퍼를 사용하는 인텔리전트 데이터 수집, 디지털 통신 디바이스 스트리밍, in-vehicle 데이터 수집, 온라인 머신 상태 모니터링 등과 같은 어플리케이션을 위해 RIO 하드웨어를 대폭 개선합니다.
FPGA I/O 드래그 앤 드롭LabVIEW FPGA로, 특정 디바이스 I/O 함수를 통해 RIO 디바이스에 신속하게 접근할 수 있습니다. (그러나, 본 문서에 언급된 LabVIEW FPGA 함수 팔레트는 FPGA 실행 타겟 특정이며, FPGA 디바이스 또는 FPGA 디바이스 에뮬레이터에 타겟팅되었을 때만 사용가능한 함수를 포함합니다.) LabVIEW FPGA Module은 내쇼날인스트루먼트 RIO 하드웨어의 아날로그 및 디지털 I/O에 단일 포인트 직접 액세스를 제공합니다. LabVIEW 8.0 FPGA Module로, LabVIEW 프로젝트 창의 I/O를 FPGA VI의 블록 다이어그램에 직접 드래그 앤 드롭할 수 있습니다. LabVIEW FPGA Module은 다음과 같은 여러 디바이스 I/O 함수를 제공합니다.
LabVIEW 7.1 기능단일 주기 타임 루프LabVIEW 타임 루프 구조는 지정한 주기에 루프를 실행합니다. 여러 속도의 타이밍 기능, 정확한 타이밍, 루프 실행의 피드백 또는 동적으로 변하는 타이밍 특정 또는 다양한 레벨의 실행 우선순위를 사용하여 VI를 개발하기 위해 타임 루프를 사용하십시오. 타임 루프에 대한 더욱 자세한 정보를 위해 튜토리얼을 살펴보십시오. LabVIEW FPGA 단일 주기 타임 루프는 특수 타임 루프로, hand-coded HDL 프로그래밍 만큼 효율적(속도 및 공간에 있어)으로 LabVIEW FPGA 어플리케이션을 개발할 수 있습니다. 단일 주기 타임 루프는 VHDL의 클럭 프로세스(clocked process)와 유사합니다. 루프의 모든 LabVIEW 코드는 FPGA에서 조합 로직으로써, 입력은 디지털 입력 함수, 컨트롤 또는 left-shift 레지스터 등에서 오며, 출력은 디지털 출력 함수, 인디케이터 및 right-shift 레지스터로부터 발생합니다. 단일 주기 타임 루프를 활용하는 것이 편리합니다. 즉, 표준 while 루프를 사용하는 것처럼 사용하면 됩니다. 단일 주기 타임 루프는 루프 내의 모든 코드가 단일 클럭 주기 (25 ns)로 실행됨을 보장합니다. 단일 주기 타임 루프에는 루프 내의 모든 코드가 클럭 주기 내에서 실행됨을 보장해야 하는 등 제약점이 있지만, 단일 주기 타임 루프를 사용하면 디지털 I/O 실행, 간단한 로직 및 신호 처리를 위한 극도로 효율적인 코드를 얻을 수 있습니다. LabVIEW FPGA의 단일 주기 타임 루프 함수와 I/O 노드에 대해 알아보기 HDL 인터페이스 노드HDL 인터페이스 노드를 사용하여 기존의 HDL IP를 LabVIEW FPGA VI에 통합할 수 있으며, 본 코드를 LabVIEW 내에서 단일 함수 블록으로 표현할 수 있습니다. 그리고 본 코드를 동일한 어플리케이션 내에서 재사용할 수 있으며 동일한 함수 블록을 사용하여 다른 어플리케이션에서 재사용할 수 있습니다. FPGA VI에서 사용하기 위한 HDL 코드 블록이 있다면, VHDL 코드를 HDL 인터페이스 노드에 직접 입력하거나, 코드를 재작성하지 않고 LabVIEW에서 외부 .vhd 파일을 참조할 수 있습니다.
맞춤 VHDL를 통합하는 LabVIEW 블록 다이어그램 |

NI LabVIEW FPGA Module 각 버전에는 FPGA intellectual property (IP) 및 함수, 성능 개선, 버그 수정 및 기타 새로운 기능이 포함됩니다.






