이제 IP 코어를 주변 FPGA 설계에 통합할 준비가 되었습니다. 이는 기본적으로 대상 하드웨어의 데이터 통신 프로토콜과 IP 코어 인터페이스의 프로토콜 사이에 변환기를 구현하고 연결하는 것을 의미합니다. 특히, 메모리 컨트롤러, 센서 인터페이스, 데이터 출력과 같은 외부 인터페이스를 연결하는 데 주의를 기울여야 합니다.

'IP 코어용 VHDL 코드 생성' 섹션에 설명된 대로 IP 코어 블랙박스를 생성했을 때, IP 코어 블랙박스 자체뿐만 아니라 동일한 단계에서, 사용자가 HDL 설계에 IP 코어를 통합하는 과정에서 IP 코어의 개별 인터페이스를 테스트할 수 있도록 이미 맞춤 설정된 전체 테스트 벤치도 함께 생성되었습니다.
이 테스트 벤치는 HDL 통합 과정에서 IP 코어 인터페이스를 통한 데이터 통신을 시뮬레이션할 수 있게 해줍니다. HDL 시뮬레이션을 위해 생성된 도구들은 인터페이스 프로토콜을 테스트하고, 최상위 아키텍처(사용자의 HDL 설계)에서 코어에 연결된 회로를 위한 자극 신호를 생성하는 데 중점을 둡니다.
테스트 벤치에서 각 개별 인터페이스 포트 는 추후 해당 VisualApplets 연산자를 통해 연결될 수 있도록 시뮬레이션되며 파일 I/O에 의해 구동되는파일 I/O에 의해 구동됩니다. 시뮬레이션 엔티티는 다음과 같은 요소들로 구성됩니다:
-
레지스터 액세스를 위한 슬레이브 인터페이스 에뮬레이션: 파일을 통해 구성되는 이 시뮬레이션 모듈은 읽기 및 쓰기가 가능한 일련의 레지스터를 제공합니다. 여기에는 인에이블 및 리셋 신호에 연결되는 전용 레지스터가 있습니다. 사용자는 서로 다른 프로세스를 구성할 수 있습니다. 이미지 처리 애플리케이션의 실제 프로세스 수는 나중에(통합 후) ‘ VisualApplets ’ 설계에서 정의됩니다. 시뮬레이션을 위해서는 “슬레이브 인터페이스 에뮬레이션” 섹션에 설명된 대로 프로세스 수를 정의해야 합니다. 이너블(Enable) 및 리셋(Reset)은 다른 시뮬레이션 모듈에 연결되는 유일한 신호이며, 해당 신호가 어떤 프로세스에 속할지는 시뮬레이션 엔티티 매개변수를 통해 지정할 수 있습니다(아래 참조). 레지스터 인터페이스 에뮬레이터는 자극(stimuli) 파일에 따라 시간에 따라 레지스터 값을 변경하는 옵션을 제공합니다. 자극 파일에서 값을 설정하고, 해당 값이 언제 변경되어야 하는지 정의할 수 있습니다(예: 1로 설정, 10,000 클럭 사이클 후 0으로 설정).
-
ImgOut 포트에 연결된 이미지 소스 에뮬레이터입니다. 파일을 통해 자극을 받는 이 종류의 모듈은 IP 코어의 ImgOut 인터페이스로 이미지 데이터를 출력합니다. 이미지 프로토콜 ID는 이미지 출력 포트에 대해 지정한 이미지 프로토콜에 따라 구성할 수 있습니다.
-
ImgIn 포트에 연결된 프레임 싱크 에뮬레이터입니다. 이 모듈은 IP 코어의 ImgIn 인터페이스에 연결된 연산자를 에뮬레이트합니다. 이미지 프로토콜 ID는 이미지 입력 포트에 대해 지정한 이미지 프로토콜에 따라 구성할 수 있습니다. 이 모듈은 수신된 데이터를 파일에 기록합니다.
-
RAM을 사용하는 모듈이 연결된 것처럼 작동하는 메모리 포트 에뮬레이터입니다. 쓰기 및 읽기 액세스 순서는 파일을 통해 시뮬레이션되며, 읽은 데이터는 파일로 출력됩니다.
-
GPIO 에뮬레이터. 출력용 각 GPIO 신호는 파일로 설정된 신호 발생기에 의해 구동됩니다. 각 GPIO 입력 신호는 모니터링되며, 신호의 변화는 보고서 파일에 기록됩니다.

그림 203. ImgIn 인터페이스 1개, ImgOut 인터페이스 1개, 메모리 인터페이스 1개, GPI 1개, GPO 1개 및 슬레이브 인터페이스를 갖춘 IP 코어의 테스트 벤치 예시
For RTL level simulation, a VHDL file eVA_Design.vhdl has been created. This file contains a package with name eVA_<PLATFORMNAME> ( <PlatformName> is the platform name you defined as described in 'Entering Platform Details'). This package contains two components:
-
eVA_Design: Visual Applets IP 코어용 블랙박스
-
eVA_Design_Emulator: Visual Applets IP 코어 에뮬레이터: 이 에뮬레이터는 시뮬레이션 테스트 벤치를 위한 파일 기반 자극 생성을 구현합니다.
다음은 eVA_Design.vhdl 파일에 포함된 코드로, 레지스터 액세스를 위한 슬레이브 인터페이스로만 구성된 가장 단순한 VA IP 코어에 대해 생성되는 코드입니다:
component eVA_Design
generic(
RegIFDataWidth : integer := 32;
RegIFAddrWidth : integer := 16);
port(
iDesignClk: in std_logic := '0';
iDesignClk2x: in std_logic := '0';
ivRegWrData: in std_logic_vector(RegIFDataWidth-1 downto 0) := (others=>'0');
ivRegWrAddr: in std_logic_vector(RegIFAddrWidth-1 downto 0) := (others=>'0');
iRegWrValid: in std_logic := '0';
ivRegRdAddr: in std_logic_vector(RegIFAddrWidth-1 downto 0) := (others=>'0');
iRegRdValid: in std_logic := '0';
ovRegRdData: out std_logic_vector(RegIFDataWidth-1 downto 0) := (others=>'0');
oRegRdDataValid: out std_logic := '0'
);
end component;
component eVA_Design_Emulator
generic(
RegIFDataWidth : integer := 32;
RegIFAddrWidth : integer := 16;
NrOfProcesses: integer := 2;
RegisterDefinitionFile: string := ""
);
port(
iDesignClk: in std_logic := '0';
iDesignClk2x: in std_logic := '0';
ivRegWrData: in std_logic_vector(RegIFDataWidth-1 downto 0) := (others=>'0');
ivRegWrAddr: in std_logic_vector(RegIFAddrWidth-1 downto 0) := (others=>'0');
iRegWrValid: in std_logic := '0';
ivRegRdAddr: in std_logic_vector(RegIFAddrWidth-1 downto 0) := (others=>'0');
iRegRdValid: in std_logic := '0';
ovRegRdData: out std_logic_vector(RegIFDataWidth-1 downto 0) := (others=>'0');
oRegRdDataValid: out std_logic := '0'
);
end component;
개별 IP 코어 인터페이스를 에뮬레이션하는 방법에 대한 더 자세한 정보는 다음 소절에서 확인할 수 있습니다.
eVA 설계 에뮬레이터에는 NrOfProcesses라는 매개변수를 가지고 있습니다. 이 매개변수는 1에서 16 사이의 정수입니다. 이 매개변수를 설정하면 디자인을 리셋하고 활성화하기 위한 미리 정의된 레지스터 세트가 생성됩니다. 다음 주소들이 구성됩니다:
-
0x00: 전체 리셋
-
0x01: 전체 활성화
-
0x02 * (i+1): Process Reset for process i (i < NrOfProcesses).
-
0x02 * (i+1) + 0x01: Process Enable for process i (i < NrOfProcesses).
따라서 NrOfProcesses = 2일 때, 슬레이브 인터페이스 주소 공간의 처음 6개 주소는 에뮬레이션된 설계의 리셋 및 이네이블을 제어하는 데 사용됩니다. 각 이미지 포트는 상기 레지스터에 의해 제어되는 리셋 및 이네이블 신호 한 쌍에 할당됩니다. 통합 후, ‘ VisualApplets ’ 사용자는 인터페이스를 프로세스에 할당하게 되는데, 이는 프로세스의 구성 요소로 연산자를 인스턴스화하고 이 연산자 인스턴스를 인터페이스에 연결함으로써 이루어집니다.
레지스터 액세스를 위한 슬레이브 인터페이스 에뮬레이터는 위의 VHDL 코드에 명시된 대로 엔티티 매개변수 RegisterDefinitionFile에 의해 설정되는 텍스트 파일을 통해 추가로 구성됩니다. 이 매개변수는 “IP 코어용 VHDL 코드 생성” 섹션에 설명된 바와 같이 블랙박스 및 테스트 벤치 생성 과정에서 자동으로 설정됩니다.
레지스터 정의 파일에는 다음과 같은 명령어가 포함될 수 있습니다:
|
명령 |
설명 |
|---|---|
|
REM |
나머지 줄은 주석입니다. |
|
DEF |
'register'를 정의하십시오. 이 명령어의 구문은 다음과 같습니다: DEF <addr> <width> <write_read> <init_value>
다음 매개변수를 사용하여: <init_value>: hexadecimal initial value <addr>: hexadecimal value of register address <width>: bit width of register <write_read>: 1 for write register, 0 for read register |
|
CON |
쓰기 레지스터를 읽기 레지스터에 연결합니다. 이 명령어의 구문은 다음과 같습니다: CON <wrRegAddr> <rdRegAddr>
다음 매개변수를 사용하여: <wrRegAddr>: address of write register (hex) <rdRegAddr>: address of read register (hex) |
|
WCK |
몇 개의 클럭 사이클 동안 기다립니다. 구문은 다음과 같습니다: WCK <clock_ticks>
with <clock_ticks> giving the number of clock ticks in hexadecimal format. |
|
SET |
읽기 레지스터의 값 설정 SET <rdRegAddr> <value>
다음 매개변수를 사용하여: <rdRegAddr>: address of read register (hex) <value>: hexadecimal register value |
모든 명령어의 마지막 매개변수 뒤에는 ‘#’을 앞에 붙인 주석을 추가할 수 있습니다.
다음 코드는 쓰기 레지스터 2개와 읽기 레지스터 2개를 구성하는 레지스터 정의 파일의 예시입니다. 여기서 읽기 레지스터 중 하나(주소 0x7)는 16클록 사이클 후에 프리셋되며, 다른 읽기 레지스터(주소 0x6)는 주소 0x6의 쓰기 레지스터에 의해 제어됩니다:
REM ************************************************************
REM Command formats: DEF <addr> <width> <write_read> <init_value>
REM CON <wrRegAddr> <rdRegAddr>
REM WCK <clock_ticks>
REM SET <rdRegAddr> <value>
REM ************************************************************
DEF 0006 10 1 00000000 #define write reg with width 0x10 at address 0x6
CON 0006 0006 #create read reg with addr 0x6 connected to
REM write register with address 0x6
DEF 0007 20 1 00000000 #define write reg with width 0x20 at address 0x7
DEF 0007 10 0 00000000 #define read register at address 0x7
WCK 0010 #wait for 16 clock cycles
SET 0007 0000000C #set read register value
ImgOut 유형의 이미지 통신 인터페이스 에뮬레이션은 데이터 출력 순서에 대한 정보를 제공하는 자극 파일에 의해 제어됩니다.
For any present ImgOut port, the eVA_Design_Emulator entity has a generic <PORTIDX>_StimuliFileName where <PORTIDX> is the name of the corresponding image output port class followed by the port number. Each line within the given file must follow the syntax
<Command> <Data> <EndOfLine> <EndOfFrame> <DataValid>
where <Command> is a three letter command, <Data> provides an hexadecimal data word, and the three remaining parameters correspond to the image protocol flags.
다음 표는 사용 가능한 명령어를 설명합니다.
|
명령 |
설명 |
|---|---|
|
DAT |
데이터 명령어. 이 명령어는 해당 포트를 통해 출력될 데이터를 제공합니다.
|
|
WCK |
대기 명령어입니다. 파라미터 |
|
FID |
FID 출력을 설정합니다. 이 매개변수는 |
|
PDX |
X번째 포트 매개변수 출력을 다음에서 제공된 값으로 설정합니다.
|
모든 명령줄 앞에 ‘#’을 붙여 주석을 추가할 수 있습니다.
다음 코드는 3x2 크기의 이미지를 출력한 후, 매개변수 변경(FID 포함)을 거쳐, 크기가 3x1인 두 번째 이미지를 출력하도록 하는 자극 파일의 예시입니다:
DAT 00000000 0 0 0 #Format: Cmd Data(hex) EndOfLine EndOfFrame DataValid
DAT 0000001a 0 0 1
DAT 0000001b 0 0 1
DAT 0000001c 0 0 1
DAT 00000000 1 0 1
DAT 0000002a 0 0 1
DAT 0000002b 0 0 1
DAT 0000002c 0 0 1
DAT 00000000 1 1 1
WCK 00000004 0 0 0
FID 00000001 0 0 0
PD0 00000011 0 0 0
PD1 00000022 0 0 0
PD2 00000033 0 0 0
WCK 00000001 0 0 0
DAT 0000003a 0 0 1
DAT 0000003b 0 0 1
DAT 0000003c 1 1 1
DAT 00000000 0 0 0
DAT 00000000 0 0 0
DAT 00000000 0 0 0
The reset and enable ports of the concerning image communication interface are connected to dedicated registers of the slave interface where the affiliation to a process is done according to a parameter <PORTIDX>_ProcessID.
ImgIn 유형의 이미지 통신 인터페이스 에뮬레이션은 매개변수 상태의 순서에 대한 정보가 포함된 자극 파일에 의해 제어됩니다.
For any present ImgIn port, the eVA_Design_Emulator entity has a generic <PORTIDX>_StimuliFileName where <PORTIDX> is the name of the corresponding image input port class followed by the port number. The syntax is exactly the same as in the case of the stimuli for ImgOut interfaces except that no DAT command is available. A simple stimuli file may look like,
WCK 00000010 0 0 0 #Format: Command Data(hex) EndOfLine EndOfFrame DataValid
FID 00000001 0 0 0
PD0 00000111 0 0 0
PD1 00000222 0 0 0
PD2 00000333 0 0 0
WCK 00000001 0 0 0
where the parameters <EndOfLine>,<EndOfFrame> and <DataValid> are actually meaningless.
The ImgIn interface emulator writes the received data to file. For that purpose the eVA_Design_Emulator entity has a generic <PORTIDX>_DumpFileName. During simulation, a file with the given name is created and the data is written using DAT and WCK commands in a format which exactly corresponds to the stimuli file format for an ImgOut interface emulator.
The reset and enable ports of the concerning image communication interface are connected to dedicated registers of the slave interface where the affiliation to a process is done according to a parameter <PORTIDX>_ProcessID.
메모리 통신의 에뮬레이션은 액세스 순서에 대한 정보가 담긴 자극 파일에 의해 제어됩니다.
For any present memory port, the eVA_Design_Emulator entity has a generic Mem<X>_StimuliFileName where <X> is the port number. The stimuli file consists of lines with following syntax,
<WrData> <WrAddr> <WrFlag> <WrReq> <RdAddr> <RdFlag> <RdReq>
여기서 각 요소의 의미는 다음과 같습니다:
<WrData>: hexadecimal data word intended for port ovMemWrDataX
<WrAddr>: hexadecimal write address (for ovMemWrAddrX)
<WrFlag>: hexadecimal write flag (for ovMemWrFlagX)
<WrReq>: write request (oMemWrReqX)
<RdAddr>: hexadecimal read address (for ovMemRdAddrX)
<RdFlag>: hexadecimal read flag (for ovMemRdFlagX)
<RdReq>: read request (oMemRdReqX)
어떤 명령줄이든 앞에 ‘#’을 붙여 주석을 추가할 수 있습니다.
다음 코드는 각각 4개의 데이터 워드로 구성된 두 개의 이미지를 출력하도록 하는 자극 파일의 예시입니다:
0000000000000000 000000 0 0 000000 00 0
0000000000000000 000000 0 0 000000 00 0
0000000000000000 000000 0 0 000000 00 0
0000000000000000 000000 0 0 000000 00 0
000000000000000a 000000 0 1 000000 00 0 #Write 0xa to address 0x0
000000000000000b 000001 0 1 000000 00 0 #Write 0xb to address 0x1
000000000000000c 000002 0 1 000000 00 0 #Write 0xc to address 0x2
000000000000000d 000003 1 1 000000 00 0 #Write 0xd to address 0x3
0000000000000000 000000 0 0 000000 00 0
0000000000000000 000000 0 0 000000 00 0
0000000000000000 000000 0 0 000000 00 0
0000000000000000 000000 0 0 000000 00 0
0000000000000000 000000 0 0 000000 00 0
0000000000000000 000000 0 0 000000 00 0
000000000000000e 000104 1 1 000000 00 0 #Write 0xe to address 0x10a
00000000000000bb 000001 0 1 000000 00 0 #Write 0xbb to address 0x1
0000000000000000 000000 0 0 000000 00 1 #Read from address 0x0
0000000000000000 000000 0 0 000001 00 1 #Read from address 0x1
0000000000000000 000000 0 0 000002 00 1 #Read from address 0x2
0000000000000000 000000 0 0 000003 01 1 #Read from address 0x3
000000000000000e 000000 0 0 000104 00 1 #Read from address 0x104
0000000000000000 000000 0 0 000000 00 0
0000000000000000 000000 0 0 000000 00 0
0000000000000000 000000 0 0 000000 00 0
Read data returned from the memory to the emulator is written to a file. For providing the file name the eVA_Design_Emulator entity has a generic Mem<X>_DumpFileName. The dump lines have the following format,
<RdData> <RdFlag>
여기서 각 요소의 의미는 다음과 같습니다:
<RdData>: hexadecimal data word according to port ivMemRdDataX
<RdFlag>: hexadecimal value of read flag according to port ivMemRdFlagX
전용 출력 신호의 에뮬레이션은 각 신호별로 독립적으로 수행되며, 자극 파일에 의해 제어됩니다. 이 파일에는 신호 상태의 순서에 대한 정보가 포함되어 있습니다.
The stimuli file may consist of a number of commands which are described below. For any present output signal port the eVA_Design_Emulator entity has a generic oSig_<NAME>_StimuliFileName where <NAME> is the concerning port name.
다음 표는 사용 가능한 명령어를 설명합니다.
|
명령 |
설명 |
|---|---|
|
SET |
신호 설정. 이 명령어는 oSig_NAME 의 출력 신호가 설정될 신호 상태를 지정합니다. 다음 명령은 한 클럭 틱 후에 실행됩니다. 이 명령의 구문은 다음과 같습니다. SET <value>
where <value> may be 0 or 1. |
|
WCK |
'Wait' 명령어. 구문은 다음과 같습니다. WCK <ticks
where the parameter <ticks> provides the number of clock ticks for which the signal will be held constant. |
|
RST |
처음부터 다시 시작. 명령 해석기가 stimuli 파일의 첫 번째 줄부터 다시 시작합니다. 이 명령에는 매개변수가 없습니다. 이 명령은 간격 없이 루프를 구성할 수 있도록 동일한 클록 틱에서 파일의 첫 번째 명령을 실행합니다. |
|
STP |
현재 상태에서 중지. 명령 해석기가 중지되고 시뮬레이션이 끝날 때까지 현재 신호 상태가 일정하게 유지됩니다. 이 명령에는 매개변수가 없습니다. |
어떤 명령줄이든 ‘#’를 붙여서 주석을 추가할 수 있습니다.
다음 코드는 출력 신호가 5개의 클럭 사이클 동안 로우 상태로, 7개의 클럭 사이클 동안 하이 상태로 번갈아 전환되도록 하는 자극 파일의 예시입니다(iDesignClk와 동기화됨):
SET 0 # deassert output
WCK 0004 # wait for 4 clock cycles
SET 1 # assert output
WCK 0006 # wait for 6 clock cycles
RST # restart from begin
Dedicated input signals are monitored writing a dump file iSig_<NAME>_DumpFileName where <NAME> is the concerning port name. The file is composed of SET and WCK commands exactly corresponding to the commands of the stimuli file for a dedicated output signal.
IP 코어를 삽입하려면:
-
IP 코어 블랙박스의 모든 인터페이스를 최상위 HDL 설계에 통합하십시오. 인터페이스를 단계별로 구현해 나가면서 테스트하려면, 블랙박스와 함께 생성된 테스트 벤치를 사용하십시오( ‘시뮬레이션 프레임워크’ 절에 설명된 바와 같이).
-
모든 블랙박스 인터페이스를 HDL 설계에 완전히 통합한 후, 설계의 넷리스트를 생성하십시오.
-
제약 조건 파일을 생성합니다.
하드웨어(HW) 전용 IP
코어와 해당 인터페이스 사양을 모두 포함하여 VisualApplets 에 등록할 eVA 플러그인을 실제로 생성하기 전에, 하드웨어 설명 파일에 몇 가지 추가
세부 정보를 입력해야 합니다 (*.xml 또는
*.eva)의 GUI를 통해 eVA Designer:
-
VisualApplets 를 실행하고 다음 파일을 엽니다. .

-
다음으로 이동하세요: 탭으로 이동합니다.

-
아래 에서, 생성한 파일의 경로를 입력하십시오:
최상위 넷리스트의 경로를 지정하십시오 ( VisualApplets 코어의 래핑된 블랙박스 포함, 전체 FPGA 설계의 넷리스트).
최상위 넷리스트(랩핑된 VisualApplets 코어 블랙박스를 포함한 전체 FPGA 설계의 넷리스트)에 대한 사용자 제약 조건 파일의 경로를 지정하십시오. Xilinx ISE 툴 체인을 사용하는 경우, 이는
*.ucf파일, Xilinx Vivado 툴체인을 사용하는 경우, 이는*.xdc파일. -
아래 에서, 필요한 경우 해당 파일의 경로를 지정하십시오. 이러한 파일에는 제약 조건 파일 등이 포함된 추가 IP 코어에 대한 네트리스트 등이 포함될 수 있습니다.

‘ 에서 이제 사용할 툴 체인을 지정해야 합니다. 비트스트림 합성에는 타사 소프트웨어가 필요합니다. 사용하는 FPGA에 따라 Xilinx Vivado WebPACK(무료), Xilinx Vivado Design Suite , Xilinx ISE WebPACK(무료), 또는 Xilinx ISE Design Suite ( Xilinx Corp.의 등록 상표) 중 하나를 선택해야 합니다.
-
다음 중 하나를 선택하십시오. 또는 탭을 선택하십시오. 이는 FPGA 비트 스트림을 합성하는 데 사용하는 Xilinx 툴 체인에 따라 다릅니다.

-
툴 체인에 대한 세부 정보를 입력하십시오.
:

Xilinx Vivado를 사용하는 경우, 다음 정보를 제공해 주십시오:
Vivado 구현 흐름의 link_design 단계에 대한 명령줄.
Vivado 구현 흐름의 opt_design 단계에 대한 명령줄.
Vivado 구현 흐름의 place_design 단계에 대한 명령줄.
Vivado 구현 흐름의 route_design 단계에 대한 명령줄.
Vivado 구현 흐름의 write_bitstream 단계에 대한 명령줄입니다.
:

Xilinx ISE를 사용하는 경우, 다음 정보를 제공해 주십시오:
ISE 구현 흐름의 번역 단계에 대한 명령줄입니다.
ISE 구현 흐름의 맵 단계에 대한 명령줄.
ISE 구현 흐름의 '배치 및 라우팅' 단계에 대한 명령줄입니다.
ISE 구현 흐름의 구성 비트 스트림 생성 단계에 대한 명령줄.
-
아래 에서, 필요한 경우 VisualApplets 의 하드웨어별 디렉터리에 포함할 추가 파일을 입력하십시오. 이러한 파일로는 사용자 설명서, 빌드 흐름 플러그인, 스크립트, 문서, 도움말 도구 등이 있습니다.

빌드 흐름에 관한 모든 세부 정보를 입력한 후에는, 대상 하드웨어용 eVA 플러그인 설치 프로그램을 생성할 준비가 된 것입니다.
VisualApplets 용 하드웨어 전용 eVA 플러그인은 다음 파일들로 구성됩니다:
-
필수:
-
하드웨어 설명 파일 (
*.xml), 연산자 정의 포함 (참조: '하드웨어별 연산자 정의') -
랩핑된 IP 코어 블랙박스를 포함한 최상위 넷리스트 (
*.ngc/*.edn) (아래 박스 참조) -
제약 조건 파일 (
*.ucfXilinx ISE를 사용하는 경우의 형식,*.xdcXilinx Vivado)를 사용하는 경우 다음 형식을 따르십시오(아래 박스 참조).
-
-
선택 사항:
-
하드웨어 장치용 아이콘 파일 (
*.png) VisualApplets GUI에서 하드웨어를 그래픽으로 표현하기 위해 -
개별 하드웨어별 연산자에 대한 아이콘 파일 (
*.png) VisualApplets GUI에서 연산자를 그래픽으로 표시하기 위해 GUI -
플랫폼별 연산자에 대한 도움말 파일 (
*.html)
-
사용자께서 이미 eVA Designer'IP 코어 속성 정의' 및 '빌드 흐름 세부 정보 입력' 섹션에 설명된 단계를 진행하면서 이미 입력한 파일들입니다.
![]() |
VisualApplets IP 코어 넷리스트 생성 |
|---|---|
|
최상위 넷리스트 및 제약 조건 파일 없이도 플러그인 설치 프로그램을 생성할 수 있습니다. 설치 후에는 VisualApplets 에서 통합 결과가 어떻게 나타나는지 확인할 수 있습니다 (사용 가능한 하드웨어별 연산자 등). 그러나 최상위 넷리스트와 제약 조건 파일이 포함되지 않은 플러그인을 사용할 경우, 해당 하드웨어 플랫폼에서 실행 가능한 애플릿을 빌드할 수 없습니다. |
VisualApplets 용 실제 eVA 플러그인을 빌드하려면 두 가지 방법이 있습니다. 다음 중 하나를 선택할 수 있습니다.
-
eVA 플러그인을 빌드한 후, 사용자 컴퓨터에 설치된 VisualApplets 에 즉시 설치하십시오.
-
동료 및/또는 고객에게 제공할 수 있는 실행 가능한 eVA 플러그인 설치 프로그램을 구축하십시오.
개발 중인 컴퓨터에서 플러그인을 직접 테스트하거나 사용하려면 다음과 같이 하세요:
-
[여기서] 에서 메뉴를 엽니다.

-
메뉴 항목 선택
-
VisualApplets 설치 디렉터리의 경로를 입력하거나, 제안된 설치 디렉터리를 확인하십시오.

설치가 성공적으로 완료되었음을 알려드립니다:

VisualApplets 설치 디렉터리 내의 플러그인 파일은 하위 디렉터리에 있습니다.
eVA/platforms/<devicename>:
사용자의 하드웨어용 이미지 처리 애플리케이션을 설계할 VisualApplets 개발자들에게 전달할 수 있는 실행 파일을 생성하려면:
-
[여기서] 에서 메뉴를 엽니다.

-
메뉴 항목 선택
-
플러그인을 저장할 대상 폴더를 선택하십시오.
대상 폴더를 선택하자마자 eVA 플러그인이 즉시 생성됩니다. 빌드가 성공했다는 메시지가 표시됩니다:

이 플러그인은 지정된 폴더에서 사용할 수 있습니다:

이제 플러그인을 배포할 수 있습니다.
설치가 완료되면, VisualApplets 에서 해당 플랫폼용 새로운 이미지 처리 애플리케이션을 설계할 수 있습니다:
-
VisualApplets 을(를) 열어주세요.
-
‘파일’ 메뉴에서 다음을 선택하세요. 을 선택합니다.
이제 하드웨어 플랫폼을 선택하고 VisualApplets 에서 설계를 시작할 수 있습니다:

VisualApplets 를 사용하여 이미지 획득 및 처리 애플리케이션을 설계하는 방법에 대한 정보는 VisualApplets 의 포괄적인 온라인 설명서를 다음 주소에서 참조하십시오. 시작하기를 참조하십시오.

![[참고]](../common/images/admon/note.png)

이전

