Overview
WGL (Waveform Generation Language) 및 STIL (Standard Test Interface Language)은 업계에서 표준화된 포맷이며, IC (Integrated Circuit) 테스트를 위해 ATE (Automated Test Equipment)와 함께 사용됩니다. 다음은 내쇼날인스트루먼트 고속 디지털 디바이스용 TD-Scan을 사용하여 위의 포맷으로 된 파일을 생성하기 위한 단계별 가이드입니다. TD-Scan 소프트웨어와 TSSI API 설치, TD-Scan 소프트웨어를 사용하여 WGL/STIL 파일을 반입 (시스템에서 WGL/STIL 데이터를 디바이스로 맵핑하기 위해 필요한 모든 설정 포함)하는 과정을 단계별로 살펴봅니다. 결과 파일과 TSSI API를 통한 LabVIEW를 이용하여 웨이브폼 생성 방법을 알아보고 Digital Waveform Editor를 통한 방법도 알아봅니다. 본 소프트웨어에 대한 보다 자세한 정보는 www.ni.com/highspeeddigitalio/wglstil.htm를 참조하십시오.
Table of Contents
설정 정보
TD-Scan 소프트웨어를 사용하려면 Windows NT/2000/XP/Vista를 구동하는 컴퓨터가 필요하며, 권장되는 하드웨어 사양은 3GHz CPU와 8GB RAM입니다. TSSI API는 LabVIEW 8.2.1 이나 상위 버전에서 사용가능하며, C 예제는 Microsoft Visual C++ 6을 사용하여 작성됩니다.
TD-Scan 소프트웨어의 설치방법은 NI-HSDIO 디바이스에 포함된 CD의 TestDeveloper 설치 가이드를 참조하십시오. CD에는 소프트웨어, 문서 및 평가 라이센스 정품인증을 위한 지침이 포함되어 있습니다.
TSSI API를 설치하기 위해 본 튜토리얼에 첨부된 파일을 다운로드하십시오. 그 다음 LabVIEW와 C용 TSSI API를 사용할 수 있습니다. 파일에는 설치와 설정을 위한 문서가 제공됩니다.
TD-Scan은 TD-Scan 실행 파일과 같은 디렉토리에 있는 ni_65xx.ate 파일의 디바이스 목록에 따라 시스템에서 디바이스를 결정합니다. 본 목록은 파일의 Section Resources 섹션에 있습니다. 본 목록은 수작업으로 설정되며, 웨이브폼이 생성되는 시스템에 존재하는 디바이스를 반영해야 합니다. 일반적인 목록은 디바이스 모델 번호, 디바이스의 채널 수, 특정 디바이스명으로 구성됩니다. 아래의 포맷으로 시스템에 디바이스를 추가하십시오. 하단은 6552, 6545, 6561 세 가지 디바이스가 있는 시스템입니다.
참고: ATE 파일에 변경이 적용되면, 변경을 반영하기 위해 반드시 TD-Scan이 다시 시작되어야 합니다.
WGL/STIL 파일을 TD-Scan에 반입
NI-HSDIO 디바이스와 함께 사용하기 위해 WGL/STIL 파일을 반입하려면 TSSI TD-Scan 소프트웨어를 시작하고 새로운 프로젝트를 생성합니다. 메인 인터페이스에서 Setup을 선택하고 소스 파일 위치와 데이터를 출력할 ATE를 선택하여 사용하고자 하는 WGL/STIL 파일을 선택합니다. 본 경우 ATE는 NI 65xx입니다. 그 후 Apply를 클릭합니다.


파일과 ATE명을 선택한 후, 메인 인터페이스에서 Import를 선택합니다. TD-Scan 소프트웨어는 WGL/STIL 파일을 분석하고 파일에서 웨이브폼을 위한 타임플레이트를 생성합니다. 반입 버튼 옆에 위치한 상태 인디케이터는 타임플레이트가 성공적으로 읽히고 반입되었을 때 녹색으로 바뀝니다. 경고 또는 에러가 있을 경우, 인디케이터는 노란색이나 빨간색으로 각각 바뀝니다. 프로세스가 성공하지 못했을 때는, 인디케이터를 클릭하여 에러 목록을 확인하십시오.
그 다음, Signals을 선택합니다. (메인 인터페이스의 Project Resources 섹션 아래에 있는 버튼) 그 후 대화창이 나타나면 여기에서 WGL/STIL 파일의 채널에 물리적인 디바이스 채널을 맵핑할 수 있습니다. 바로가기 메뉴를 사용하거나, 채널 목록 위의 자동 구성 버튼을 클릭하여 본 작업을 수작업할 수 있습니다. 이 과정을 통해 채널과 WGL/STIL 파일의 이후 채널이 자동 선택됩니다.
데이터를 반입하고 채널을 물리적인 디바이스 채널에 맵핑한 후, 웨이브폼이 HSDIO 디바이스에 안정적으로 복제될 수 있도록 반입된 타임플레이트를 조작할 수 있습니다. 사용하는 HSDIO 디바이스에 따라, 각기 다른 샘플 속도와 엣지 배치를 사용할 수 있습니다. WGL 및 STIL 파일은 시뮬레이션을 기반으로 하므로 모든 웨이브폼은 하드웨어에 의해 정확히 복제되지 않을 수 있으며 일부 데이터 엣지는 물리적인 하드웨어의 제한에 적합하도록 변경되어야 할 수도 있습니다. 본 예제의 경우 타임플레이트에 대한 변경이 필요하지 않습니다. 타이밍 편집기를 열기 위해 TD-Scan 소프트웨어의 메인 인터페이스에서 타임플레이트 이름을 더블클릭합니다. 타이밍 편집기는 신호 엣지가 하드웨어에서 재생성될 수 있도록 신호 엣지를 드래그할 수 있는 방법을 제공합니다.
샘플 클럭의 엣지가 어디에 위치했는지 쉽게 확인하기 위해서, View -> Show Grid 그리고 View -> Grid Settings에서 샘플 클럭 주기를 그리드 공간에 입력하여 타이밍 편집기에서 그리드를 활성화할 것을 권장합니다. 이를 통해 디바이스의 샘플 클럭의 엣지와 일치하도록 신호 엣지를 쉽게 설정할 수 있습니다. 신호의 엣지를 이동하기 위해 모든 전환의 엣지를 클릭하여 드래그합니다. 또한 편집기를 사용하면 타이밍에 새로운 전환이나 상태를 삽입할 수 있습니다.
파일이 반출되면 신호는 디바이스가 허용가능한 가장 정확하게 배치됩니다. 대부분 디바이스의 경우, 신호는 상승 엣지, 하강 엣지 또는 클럭의 상승 엣지로부터 지연 상태가 됩니다. 두 채널이 다른 정도로 샘플 클럭에서 지연되어야 하고 두 채널이 동일한 방향이라면 한 채널은 가장 가까운 엣지로 강제실행되며 경고가 디스플레이됩니다. 신호의 엣지가 클럭의 상승 또는 하강 엣지에서 발생할 수 있도록 샘플 속도를 증가시킬 수 있어야 합니다. 그러나, 가능하지 않을 경우에는 보다 정확한 타이밍을 생성하기 위해 TD-Scan 소프트웨어는 디바이스의 데이터 지연을 활용합니다.
타임플레이트가 일단 조정되면 웨이브폼 뷰어를 사용하여 예상 출력 데이터를 확인할 수 있습니다. 웨이브폼 뷰어를 열기 위해 메인 인터페이스에서 View -> Cyclized Waveform을 선택하십시오. 이를 통해 뷰어를 열 수 있으며, 사용자는 어떤 전환이 발생할 것이고 최종 웨이브폼에 언제 전환이 발생하는지 확인할 수 있습니다.
생성된 웨이브폼 데이터는 두 부분, 즉 타임프레이트와 데이터입니다. 타임플레이트는 엣지가 언제 발생되는지를 정의합니다. 타임플레이트에는 보통 파일에서 반복되는 단기간을 포함합니다. 일부 파일에는 여러 타임플레이트가 있으며, 각 타임플레이트는 최종 웨이브폼의 각기 다른 부분을 정의합니다. 타임플레이트의 일부 상태 (Force State 등)는 벡터 파일에서 확인된 상태를 출력하며, 다른 상태는 항상 신호가 높거나 낮음을 표시합니다. 본 데이터는 웨이브폼 뷰어에서 참조 및 웨이브폼 데이터로 표현됩니다. 웨이브폼 데이터는 타임플레이트가 표시하는 전환을 보여주며, 참조는 WGL/STIL 파일에 의한 실제 데이터 출력을 보여줍니다.
위는 웨이브폼 데이터의 오버레이로서 단일 시간 주기를 보여주기 위해 확대되었으며 주기에 해당하는 타임플레이트도 함께 나타나있습니다. 확인할 수 있듯이 타임플레이트가 정의한 시간에 전환이 일어나고, low 또는 high로의 전환은 데이터 파일이 정의합니다.
마지막으로, Setup 섹션 아래에서 TesterBridge 탭을 선택하고 ATE Options을 선택합니다. 이를 통해 사용자는 디바이스에 대한 클럭 속도를 설정할 수 있으며, 일부 옵션 기능을 활성화 또는 해제할 수 있습니다. 타임플레이트에 대한 편집이 다른 위치의 엣지를 가진 샘플 클럭에 의해 강제실행되지 않도록 하기 위해 타임플레이트를 편집할 때 클럭 속도가 그리드와 같은 속도로 설정하는 것이 중요합니다. 여기에서 또 다른 옵션은 벡터에서 사용자 코멘트를 출력하는 것입니다. 이를 통해 웨이브폼 파일 모든 라인에 코멘트를 출력하여 샘플이 발생하는 시간을 표시합니다. 이는 웨이브폼에서 특정 샘플이 발생할 때 디버깅에 유용하며, 데이터를 확인하는 Digital Waveform Edior가 없습니다. 그러나 본 옵션을 사용하여 반출된 파일은 Digital Waveform Editor가 정확하게 반입하지 않을 것이며, LabVIEW와 C용 TSSI API에 의해 읽히지 않을 것입니다.

모든 설정이 완료되면 Run 섹션 아래의 TesterBridge 버튼을 클릭하여 NI-HSDIO 디바이스와 함께 사용되도록 WGL/STIL에서 파일로 변환을 시작합니다. 인디케이터가 녹색으로 바뀌면 출력은 성공한 것이며, 인디케이터를 클릭하여 파일이 출력된 위치를 확인할 수 있습니다. 인디케이터가 노란색이면 데이터를 반출할 때 발생한 경고를 클릭하여 확인할 수 있으며, 인디케이터가 빨간색인 경우, 치명적인 에러가 발생하였으며 웨이브폼은 반출되지 않았음을 나타냅니다. 인디케이터를 클릭하면 에러가 디스플레이됩니다.
TD-Scan 소프트웨어는 두 개의 파일을 출력합니다. XML 파일은 디바이스 구성 정보를 포함하고 있고 ASCII 텍스트 파일에는 웨이브폼이 HSDIO 디바이스에 다운로드되는 데이터를 포함하고 있습니다. 사용자의 디바이스와 이 데이터를 이용하는 두 가지 방법이 있습니다. 즉, Digital Waveform Editor를 사용하여 웨이브폼을 반입하는 것과 LabVIEW와 C용으로 작성된 TSSI API를 사용하여 계측기 구성 및 웨이브폼 데이터를 반입하는 방법입니다. 권장되는 방식은 TSSI API를 사용하여 웨이브폼을 반입하는 방식으로, 그 내용은 아래에서 다루도록 합니다.
TSSI API를 사용하여 데이터 반입
TSSI API를 사용하여 웨이브폼 데이터를 반입할 수 있을 뿐 아니라 디바이스 구성 정보 (디바이스명), 채널 목록 및 데이터 위치 등을 반입할 수도 있습니다. TSSI API를 통해 TD-Scan 소프트웨어가 반입하는 데이터를 생성하기 위한 더욱 자동화된 방식을 사용할 수 있으며 LabVIEW 또는 텍스트 기반 언어에서 사용됩니다. TSSI API에는 데이터 생성 방법 또는 예상 입력을 확인하기 위해 하드웨어 비교 사용 방법 예가 포함됩니다. 아래는 이에 대한 한 가지 예시입니다.
1) TSSIOpenFile.vi는 TD-Scan 소프트웨어가 생성한 XML 파일로의 경로를 수용하고 파일 내에서 디바이스 설정을 분석합니다. (2) 그 후 사용자는 HSDIO 디바이스 세션을 시작합니다. (3) TSSIGetInstrumentNames.vi는 XML 파일 내의 모든 계측기의 이름을 수용하고, 배열에 있는 Index Array 함수를 사용하여 첫 번째 이름이 선택됩니다. (4) TSSIGetChannelList.vi는 데이터를 출력하게 될 채널을 수용하며, niHSDIO Assign Dynamic Channels.vi를 사용하여 채널이 동적 상태가 되도록 지정합니다. (5) TSSIGetClockRate.vi는 동일한 계측기 이름을 사용하며 XML 파일로 출력 채널 클럭 속도를 반환합니다. 본 정보는 HSDIO 디바이스의 샘플 클럭을 구성하는 데 사용됩니다.
또한 TSSI API는 위와 같이 데이터 위치와 데이터 지연 같은 프로퍼티를 구성합니다. (6) TSSIGetDataPositions.vi는 위치를 포함한 클러스터 배열을 반환하며, 데이터 위치 (상승/하강 또는 상승 엣지로부터 지연)에 해당하는 채널을 표시하는 문자열을 반환합니다. (7) 이같은 배열은 인덱스화되고 각 채널은 상승/하강 또는 클럭의 하강 엣지로부터 지연을 발생하도록 구성됩니다. (8) TSSIGetDataDelays.vi는 유사한 동작을 수행하여, 데이터 지연 및 해당 채널 목록이 있는 클러스터 배열을 반환합니다. (9) 각 채널은 특정 데이터 지연 값을 가지도록 구성됩니다. 데이터 지연이 0인 채널은 배열에 표현되지 않습니다. 그 이유는 이같은 신호는 상승 엣지의 지연이 아닌 데이터 위치에 해당하기 때문입니다.
(10) TSSIGetSignalNamesForInstrument.vi는 특정 방향의 계측기에 대한 신호 이름 배열을 반환합니다. 위의 예제의 경우, XML 파일의 첫 번째 디바이스에 대한 모든 출력 신호의 배열을 반환할 것입니다. (11) 본 배열은 TSSIReadWaveformData.vi로 입력될 것이며, 이는 특정 신호에 대한 데이터의 디지털 웨이브폼을 반환할 것입니다. 본 VI는 데이터의 특정 섹션을 읽으므로 사용자는 파일의 데이터를 읽을 수 있습니다. 기본값으로 남겨진 입력을 통해 본 VI는 파일에서 모든 신호가 있는 웨이브폼을 반환할 것입니다. (12) 본 웨이브폼은 디바이스에 다운로드되고 (13) 생성됩니다. (14) VI는 생성이 완료될 때까지 대기한 후, (15) HSDIO 디바이스의 세션을 닫습니다. (16) 마지막으로, TD-Scan이 생성한 XML 파일이 닫히고 모든 에러가 처리됩니다.
API는 시스템의 리소스 이름, 사용된 채널, 웨이브폼 데이터, 데이터 위치 및 지연과 같은 HSDIO 드라이버와 사용하기 위한 정보를 제공합니다. TSSI API의 일반적인 흐름이 HSDIO API 뒤에 따라오므로 XML 파일로부터 반환된 데이터가 있는 HSDIO 드라이버가 구성한 프로퍼티 중 하나의 맵핑에 하나의 API가 있습니다 . TSSI API를 사용하는 HSDIO 디바이스에 대한 각기 다른 프로퍼티와 구성의 확인은 TSSI API에 포함된 예제를 참조하십시오.
Digital Waveform Editor를 사용하여 데이터 반입하기
TD-Scan 소프트웨어가 반출하는 웨이브폼 파일은 Digital Waveform Editor (DWE)로 직접 반입됩니다. 그러나, 내부에 포함된 XML 파일과 구성 정보는 반입될 수 없습니다. 따라서 디바이스 이름, 채널 목록, 데이터 지연과 관련된 모든 정보는 상실됩니다. DWE는 웨이브폼을 반입할 수 있으며, 여기에서 사용자는 편집을 수행할 수 있고 웨이브폼을 HWS 파일에 저장합니다. 이는 웨이브폼 생성을 위해 NI-HSDIO 드라이버와 함께 사용됩니다. 웨이브폼 데이터를 반입하기 위해 DWE를 열고 File -> Import -> From ASCII…을 선택합니다.
TD-Scan 소프트웨어가 생성한 텍스트 파일을 선택하면 반입 마법사가 시작됩니다. 1단계에서 파일에 대한 시작행을 변경하여 신호명이 열의 이름과 정렬되도록 합니다. 데이터 미리보기가 예상과 같이 나타나면 Next를 클릭합니다.

2단계에서, 모든 신호는 2진 데이터로 해독되는 1 비트로 구성됩니다. 옵션을 설정한 후, Next를 클릭합니다.

마지막 단계로 TD-Scan 소프트웨어를 사용할 때 구성되었던 샘플 클럭 속도를 선택하고 Finish를 클릭합니다.

DWE는 그 후 파일의 나머지 부분을 분석하고 웨이브폼을 디스플레이합니다. 본 웨이브폼은 편집, 저장 및 확장되며, DWE의 다른 모든 함수는 정상적으로 실행됩니다.
그 후 웨이브폼을 HWS 파일로 저장하고 NI-HSDIO 드라이버의 함수를 사용하여 HSDIO 디바이스에서 웨이브폼을 생성합니다. 보다 자세한 내용은 Read HWS File 및 Generate.vi와 같은 LabVIEW 예제를 참고하십시오. 그리고 웨이브폼은 Digital Waveform Editor의 재생 버튼을 선택하여 SignalExpress에서 생성될 수도 있습니다. DWE와 기능에 대한 자세한 정보는 http://sine.ni.com/nips/cds/view/p/lang/ko/nid/13555를 참조하십시오.
결론
내쇼날인스트루먼트 소프트웨어용 TD-Scan을 사용하면 WGL 및 STIL과 같은 IC 디자인 시뮬레이션 파일을 내쇼날인스트루먼트의 하드웨어와 소프트웨어에 반입할 수 있습니다. NI용 TD-Scan을 사용하여 타이밍 파라미터를 편집하고 NI 654x, 5x 및 6x 시리즈를 위한 벡터를 최적화할 수 있습니다. 최고 200 MHz와 프로그래밍 가능한 데이터를 갖춘 NI 6545 같은 디바이스는 이와 같은 벡터에 이상적입니다.
벡터는 LabVIEW, 텍스트 기반 언어에서 사용되며, Digital Waveform Editor와 함께 사용됩니다. 자동화 테스트에서, 벡터를 생성하기 위해 TSSI API 사용이 권장됩니다. 그 이유는 완벽한 디바이스 설정 정보와 웨이브폼 데이터가 허용되기 때문입니다. 엣지 배치 컨트롤을 개선하기 위해 Digital Waveform Editor는 웨이브폼 내에서 데이터의 엣지를 편집하는 데 사용됩니다.
다음 단계
TSSI API에는 더 많은 LabVIEW 및 C 예제가 포함됩니다. 각 예제는 하나의 HSDIO 디바이스 또는 여러 디바이스를 구성하는 각기 다른 방식을 설명합니다. 본 소프트웨어에 대한 보다 자세한 내용은 http://www.ni.com/highspeeddigitalio/wglstl.htm를 참조하십시오.
Legal
This tutorial (this "tutorial") was developed by National Instruments ("NI"). Although technical support of this tutorial may be made available by National Instruments, the content in this tutorial may not be completely tested and verified, and NI does not guarantee its quality in any way or that NI will continue to support this content with each new revision of related products and drivers. THIS TUTORIAL IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND AND SUBJECT TO CERTAIN RESTRICTIONS AS MORE SPECIFICALLY SET FORTH IN NI.COM'S TERMS OF USE (http://ni.com/legal/termsofuse/unitedstates/us/).









