ISE ????? by KLXUR1b

VIEWS: 64 PAGES: 36

									                      Summary


본 문서는 하드웨어 개발 통합 환경인 ISE에 대해 소개하고 ISE를 이용해서 하드웨어를 설계하
는 방법에 대해서 기술한 문서이다.   ISE의 구조를 살펴 보고 간단한 예제를 통해서 H/W개발 툴
인 ISE에 대해서 알아본다.
                                                                           PAGE : 36 - 1



1.프로젝트 작성
 ISE 는 integrated Software Environment 의 약자로 Xilinx 사의 FPGA(Field Programmable Gate Array)를
설계하기위한 툴이다.
ISE5.1 을 설치하고 Project Navigator 를 클릭하게 되면 아래와 같은 Project Navigator 라는 window 가
나타날 것이다. 이 통합환경은 주로 네 가지 창으로 구성되어 있다.                           프로젝트관리 및 각종소스데
이타를 관리하는 Source in Project 와 그때 사용된 소스의 Process 의 상태를 나타내는 Process for
Current Source 와   각종 명령 시 진행사항을 나타내는 맨 아래 창과 각종소스코드를 display 해주는
창으로 이루어져 있다.




                          < 그림 1 > Project Navigator window
                                                                                          PAGE : 36 - 2



2.프로젝트(Example_1) 작성
위 Project Navigator 를 가지고 새로운 프로젝트를 만들어 사용해 보자. 우선, 예제로 stop control 를
가지고 있는 bi-directional 4-bit Johnson counter 를            만들어 보자.
< bi-directional   4-bit Johnson counter with stop control >에 대한 간단한 설명을 보면
          I/O PINS:
                      CLK         : input free-running clock
                      LEFT        : input signal to shift left (active-low switch)
                      RIGHT       : input signal to shift right (active-low switch)
                      STOP        : input signal to stop counting (active-low switch)
                      Q<3>-Q<0> : counter outputs (active-low LEDs; Q<0> is right-most)
          작동:
                   본 카운터는         클럭 CLK 의 Rising edge 에 작동하고 LEFT 신호에 의해 왼쪽으로
                   Shift 되고 Right 신호에 의해 오른쪽으로 Shift 된고 STOP 이란 신호에 정지하는 작
                   동을 한다.


새로운 프로젝트를 만들려면 Project Navigator 에서 File > New Project 를 클릭하면 아래와 같은 <그
림 3> New Project 창이 나타납니다.




                             < 그림 2 > Project Navigator 에서 New Project 생성
                                                                 PAGE : 36 - 3




                            < 그림 3 > New Project 창
New Project 창의 구성을 살펴보면
      - Project Name        : 작성할 프로젝트 이름
      - Project Location    : 작성할 프로젝트의 Working Directory 를 지정
      - Device Family       : 사용할 Device Family 선택
      - Device              : 사용될 Device 선택
      - Design Flow         : 사용될 Synthesis tool 선택


Project Location 의 폴더 찾아보기에서 작업할 디렉토리 지정




                           < 그림 4 > New Project 에서 작업디렉토리 선택
                                                              PAGE : 36 - 4




Project Name 란에 작업할 프로젝트이름을 적는다. 임시적으로 jc2_vhd 라는 프로젝트를 만들어 본
다.




                      < 그림 5 > Project Name 생성


다음으로 디바이스 선정을 한다. 우선 Device Family 에서 Value 창을 클릭하게 되면 사용이 가능한
Device Family 창이 뜨는데 그곳에서 사용하고자 하는 Device Family 를 선택한다.




                    < 그림 6 > Device Family 선택


그 다음에 Device 에서 사용할 Device 를 선택한다.          마지막으로 사용할 Design Flow 를 선택한다.
이때 작성할 source 에 따라 선택한다. 이 프로젝트에서는 VHDL 로 작성함으로 XST VHDL 를 선택
한다.
<참조> XST VHDL 은 Xilinx 사에서 제작한 VHDL Synthesis tool 이다.
                                                                    PAGE : 36 - 5




                            < 그림 7 > Design Flow 선택


이렇게 New Project 를 작성하고 OK 버튼을 누르면 새로운 Project 의 구성이 완성된다.
여기까지 하게 되면 하나의 Project 를 구성하기위한 준비가 된 것입니다. 여기에서 한번 작성된 파
일을 살펴보면             c:\work\jc2_vhd\jc2_vhd.npl   파일이 생성됩니다. 그리고 앞으로 만들어지는 모든
File 은 jc2_vhd Folder 내에 존재합니다.


<참조> jc2_vhd.npl 파일에는 아래와 같이 New Project 생성하면서 선택한 내용들이 들어 있다.
JDF E
// Created by ISE ver 1.0
PROJECT jc2_vhd
DESIGN jc2_vhd Normal
DEVKIT XCR3064XL VQ44
DEVFAM xpla3
FLOW XST VHDL
[STRATEGY-LIST]
Normal=True, 1024212621


또한 프로젝트 생성이 된 후에도 Device Family, Device, Design Flow 등을 수정 가능하다. 수정을 하
려면 Sources in Project 에서 마우스의 오른쪽버튼을 클릭하면 아래와 같은 창이 뜨는데 이때, 맨 마
지막의 Properties 라는 항목이 있는데 이 항목을 클릭하여 수정이 가능하다.
                                  PAGE : 36 - 6




     < 그림 8 > 프로젝트 내용 수정




< 그림 9 > 수정된 Project Properties
                                                                PAGE : 36 - 7



3.프로그램 파일 작성
Top Menu 에서 Project > New Source 를 Click 하거나 Source in Project 창에서 마우스 오른쪽을 클릭
하여 New source 를 클릭하면 아래 같은 창이 뜹니다.




                         < 그림 10 > New Source 삽입 창




여기에서 작성할 Source 의 종류를 선택하고 File 란에 Name 을 적는다.


< 참조 > Source 의 종류를 간단히 살펴보면
       - User Document   : 사용자가 프로젝트에 대한 전반적인 설명이 가능하게 함.
       - VHDL Module     : 작성할 Source 로직이 VHDL 코드일 경우 사용.
       - Schematic       : 작성할 Source 로직을 schematic 으로 작성할 경우 사용.
       - VHDL Test Bench : ModelSim(Simulation Tool)을 이용하여 시뮬레이션을 하기위해 Test
                         Bench 를 작성할 경우 사용.


우선, Johnson Counter 를    VHDL 코드로 작성을 하기위해 VHDL Module 을 선택하고 File 란에
jc2_top 라고 기입하고 다음을 클릭하면 아래와 같은 창이 뜬다.
                                                                                        PAGE : 36 - 8




                    < 그림 11 > New Source 로 VHDL file 입력


Port Name 에 들어갈 이름과 Direction 을 정하고 마침을 하면 jc2_vhd.vhd 란 VHDL 파일이 생성된
다.
<참조> Johnson Counter 의 in/ out port
        I/O PINS:
                    CLK         : input free-running clock
                    LEFT        : input signal to shift left (active-low switch)
                    RIGHT       : input signal to shift right (active-low switch)
                    STOP        : input signal to stop counting (active-low switch)
                    Q<3>-Q<0> : counter outputs (active-low LEDs; Q<0> is right-most)




                    < 그림 13 > Define VHDL Source
                                                                    PAGE : 36 - 9




위와 같이 하면 Project Navigator 의 오른쪽 상단 창에 jc2_vhd.vhd 창이 뜬다.




         < 그림 14 > New Source 로 VHDL file 입력된 후 Project Navigator
이 jc2_vhd.vhd 파일의 코드를 살펴보면 아래와 같다. 이 파일의                Architecture 부분에 원하는 로직
을 설계하여 넣는다.
                                                                                             PAGE : 36 - 10




< jc2_top.vhd 완성 코드>


library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;


entity jc2_vhd is
     Port ( CLK : in std_logic;
                   LEFT : in std_logic;
                   RIGHT : in std_logic;
                   STOP : in std_logic;
                   Q : out std_logic_vector(3 downto 0));
end jc2_vhd;


architecture Behavioral of jc2_vhd is
begin




end Behavioral;


< bi-directional       4-bit Johnson counter with stop control > 를 작성하여 완성된 코드를 다시 보면


library IEEE;
use IEEE.std_logic_1164.all;        -- defines std_logic types


entity jc2_top is
     port (
                   LEFT : in STD_LOGIC;       -- Active-low switch #3 (left)
                   RIGHT : in STD_LOGIC;      -- Active-low switch #0 (right)
                   STOP : in STD_LOGIC;       -- Active-low switch #2
        CLK : in STD_LOGIC;
        Q : inout STD_LOGIC_VECTOR (3 downto 0) := "0000"               -- Active-low LEDs
              );
end jc2_top;
                                                                                          PAGE : 36 - 11


architecture jc2_top_arch of jc2_top is
   signal DIR: STD_LOGIC := '0';             -- Left=1, Right=0
   signal RUN: STD_LOGIC := '0';
begin


process (CLK)
begin
   if (CLK'event and CLK='1') then            -- CLK rising edge


   -- DIR register:
        if (RIGHT='0') then
            DIR <= '0';
        elsif (LEFT='0') then
            DIR <= '1';
        end if;


   -- RUN register:
        if (STOP='0') then
            RUN <= '0';
        elsif (LEFT='0' or RIGHT='0') then
            RUN <= '1';
        end if;


   -- Counter section:
        if (RUN='1') then
            if (DIR='1') then
                  Q(3 downto 1) <= Q(2 downto 0);    -- Shift lower bits (Left Shift)
                  Q(0) <= not Q(3);                    -- Circulate inverted MSB to LSB
            else
                  Q(2 downto 0) <= Q(3 downto 1);    -- Shift upper bits (Right Shift)
                  Q(3) <= not Q(0);                    -- Circulate inverted LSB to MSB
            end if;
        end if;


   end if;
end process;


end jc2_top_arch;
                                                                       PAGE : 36 - 12




4. User Constraints
Pin Assignment(사용자가 FPGA 칩의 핀 번호를 바꾸어 줄 수 있다.(일부 핀 제외))를 하는 방법은
여러 가지가 있다. Processes for Current Source 창에는 세가지로 user constraints 를 주는 방법이 있다.
UCF 파일을 직접 edit 하는 방법과 ChipViewer 를 이용하는 방법과 Constraints Editor 를 이용하는 방
법이다. 어느 하나를 작성해도 동일하게 각각 적용되며 동시에 여러 창을 띄울 수는 없다.


<주의> Pin Assign 은 직접           top-level 의 코드에 직접 아래와 같이 삽입해도 된다.
이 Project 에서는 jc2_top.vhd 코드 안에서 아래와 같은 Attribute pin_assign 을 사용해도 된다.


--   attribute pin_assign : string;
--   attribute pin_assign of clk : signal is "A7";
--   attribute pin_assign of left : signal is "G7";
--   attribute pin_assign of right : signal is "B2";
--   attribute pin_assign of stop : signal is "F2";
--   attribute pin_assign of q : signal is "G5 F6 C6 B4";




        < 그림 15 > Processes for Current Source 창


우선, Edit Implementation Constraints File 을 클릭하면 jc2_top.ucf 라는 Text editor 가 뜨는데 그곳에 직
접 editing 하면 된다.
                                                     PAGE : 36 - 13




                  < 그림 16 > jc2_top.ucf 파일


두 번째 방법으로는 ChipViewer 를 이용하는 방법으로서 Assign Pins 를 더블클릭하면 아래와 같은
창이 뜨는데 이곳에서 원하는 Signal 를 선택하고 직접 원하는 위치의 Pad 에 drag 하면 Pin Assign
이 된다.
                                                          PAGE : 36 - 14


                    < 그림 17 > ChipViewer for Pin Assign
마지막으로 Constraints Editor 이용하여 간단히 Pin Assignment 를 하는 것을 보자. 세 번째 Edit
Implementation Constraints 를 더블클릭하면 아래와 같은 창이 뜬다.




                    < 그림 18    > Constraints Editor
이때 아래 단의 Ports 라는 부분을 클릭하면 아래와 같은 창이 뜬다.
                                                            PAGE : 36 - 15


            < 그림 19    > Constraints Editor 에서 Pin Assign
여기에서 원하는 Port Name 의 Location 을 클릭하면 아래와 같은 창이 뜨는데 Location 부분에 원
하는 값을 넣으면 된다.




            < 그림 20 > Constraints Editor 에서 Pin Assign


위와 같은 방법으로 원하는 Constraints 를 줄 수가 있는데 이때 만약 기존의 Pin Assign 과 달리 수
정이 되었을 경우는 아래와 같은 창이 뜬다.




                < 그림 21    > UCF 파일 변경 시 뜨는 Notice


이것은 변경된 UCF( User Constraint File)를 적용하기위해서는 Rerun 를 해야 된다는 경고메시지로서
변경된 것을 적용하기위해서는 Reset 를 클릭하면 되고 Retain 를 클릭하게 되면 변경된 UCF 를 이
번엔 적용하지 않게 된다.
                                                                               PAGE : 36 - 16




5.프로그램 파일의 컴파일
위와 같이 작성된 VHDL 코드를 가지고 Synthesis 를 할 때 주로 사용되는 Synthesis Tool 은
XST(Xilinx Synthesis Technology), FPGA Express, Synplify/Pro, Leonardo Spectrum 등이 있으나 여기서는
XST 를 사용한다.
XST 는 HDL design 을 synthesize 하고 .NGC 확장자를 가진 Netlist 파일을 생성한다.


여기에서 Synthesize 를 더블 클릭하게 되면 자동으로 Synthesis 되지만 Synthesize 의 Properties 를 잠
시 살펴보면, 우선 Synthesize 에 커서를 놓고 마우스의 오른쪽을 클릭하면 아래와 같은 창이 뜬다.




                 < 그림 22    > Processes for Current Source 창에서 Properties 선택


이때 Properties 를 더블 클릭하게 되면 아래와 같은 Process Properties 가 뜨게 된다.




                 <그림 23    > Synthesis Option Properties
                                                                       PAGE : 36 - 17




우선, Synthesis Options 을 간단히 살펴보기로 하자.
   -   Optimization Goal 은 두 가지 value ( Speed, Area)가 있는데 로직 레벨을 축소하면서 speed
       위주로 최적화하는 방법으로서 예를 들어 cpld 의 경우 3 개의 macrocell 을 사용하는것을 2
       개만 사용하여서 signal 이 거치는 단계를 줄이는 방법이 있고 또 다른 방법으로 Area 위주
       로 최적화하는 경우도 있다.
   <참조> 로직레벨를 축소한다는 의미는 아래의 그림을 참조한다.




   -   Optmization Effort 는 synthesis optimization 의 수준을 나타내며 default 로 Normal 이지만 high
       로 놓으면 multiple optimizatin 알고리즘을 이용하여 최적하지만 CPU 의 처리시간이 더걸릴
       것을 예상해야한다.


그 밖의 Properties 들은 Process Properties 의 도움말을 참조하여 대개의 경우는 Default 값으로 사
                                                                          PAGE : 36 - 18


용하는 것이 바람직하다.


위와같이 Synthesis 파일을 가지고 Implementation 을 한다.




                            < 그림 24   > Implement Design 선택


Implement Design 를 선택하고 마우스의 오른쪽을 클릭하고                          Properties 선택하면 아래와 같이
Process Properties 창이 뜬다.




                      < 그림 25     > Implementation Design Properties


여기에서 몇 가지 Property 를 살펴보면, 우선
                                                                   PAGE : 36 - 19


   -   Implementation User Constraints File 은 이름 그대로 Implementation 하는데 사용하는 UCF 파
       일의 위치를 지정하는 것이다. 빈 칸 옆의 아이콘을 클릭함으로서 파일의 위치를 선택한
       다. Default 로는 빈칸으로 있는데 빈칸일 경우에는 기존의 top_level 이름으로 만들어졌던
       UCF 파일을 사용한다.




                       < 그림 26   > UCF 파일의 선택


원하는 ucf 파일을 선택하고 Implement Design 을 클릭하면 Implement 가 일어난다. CPLD 로직에서
Implementation 은 Translate 와 Fit 의 중요한 두 가지로 구성이 되는데 먼저 Translate 를 살펴보기로
하자.


Translate 는 XST 로 synthesis 해서 생성된 Netlist 인.NGC 파일과 User 가 작성한 UCF 파일을 가지
고 .NGD 파일을 생성한다. 이때 생성하면서 발생한 Error 및 Warning 등의 Report 를 해주는 파일
이 NGDbuild Log 파일인 .bld 파일안에     들어있고 이 .ngd 파일은 Translation Report 를 더블클릭하면
아래와 같이 볼 수 있다.
                                                              PAGE : 36 - 20


                      < 그림 27 > Translation Report 선택




              < 그림 28 > Translation Report 내용


위와 같이 Translate 를 한 후에 선택한 CPLD device 구조에 맞게 Fitting 작업을 하게 된다.
이러한 작업을 하는 것이 Fitter 인데 그 결과도 Fitter Report 를 더블클릭함으로써 볼 수 있다.
Fitter Report 에는 사용된 Device 정보를 포함해서 사용된 Macrocell 의 수 , 사용된 i/o ,실제로
Signal 이 mapping 되어서 fitting 등에 관련된 내용들이 들어있다.
실제로 Fitting 된 signal 들의 연결정보를 graphic 하게 보는 것이 Chipviewer 인데 ChipViewer 를 더블
클릭하면 아래와 같은 ChipViewer 가 뜬다.
                                                              PAGE : 36 - 21


                     < 그림 29 >    ChipViewer 선택




원하는 신호의 fitting Path 를 보고 싶으면 원하는 PAD 나 MC 를 클릭하면 된다.




                  < 그림 30   > ChipViewer 에서 Fitting 된 Path


Xpower 를 통해서 CPLD 에 사용된 전력량도 자동계산이 된다.


Lock Pins 을 더블클릭하면 수정된 UCF 를 가지고 Implemention 을 Rerun 할 수 있다. Lock Pins 를 더
블클릭하면 Ucf 파일을 변경했을 때 뜬 아래와 같은 Notice 창이 뜬다.
변경된 Ucf 파일을 가지고 Rerun 하려면 Reset 을 클릭하면 된다.
                                                                     PAGE : 36 - 22




                    < 그림 31 > Lock Pins 더블클릭시 display 되는 Notice


<Generate Timing>
위와 같이 선택된           CPLD device 에 맞게 Fitting 된 Signal 들의 Timing 정보를 보는것이다.
Timing Report 를 클릭하면 텍스트로 Timing 정보를 볼 수 있다. 또한 Timing Analyzer 를 통해 좀 더
면밀한 Timing 정보로 로직을 분석할 수 있다.




                           < 그림 32   > Timing Analyzer 창
                                                                        PAGE : 36 - 23




클릭함으로 아래와 같이 Timing Constraint 에 대해 실제로 fitting 신호들의 시간정보를 볼 수 있다.




            < 그림 33   > Timing Analyzer 창에서 Timing Constraints Analysis Report


이렇게 Implement 를 마치고 정상적이면 녹색의            체크표시가 되고          어디선가에서 Error 이 생기면
빨간색으로 X 표자로 표시된다.
                                                   PAGE : 36 - 24




6. 프로그램 파일의 Downloading
 1.   Create Programming File 의 + 를 Click 합니다.




 2.   Launch JTAG Programmer 를 double Click 합니다.




 3.   다음과 같은 window 가 나타납니다.
                                                                    PAGE : 36 - 25




4.   Demo Board 에 전원을 on 한 뒤, Download Cable 을 PC 의 Print port 와 board 의 JTAG pin 과
     연결하고서 다음의 Top Menu        Operations 의 Program 을 Click 합니다.




5.   다음과 같은 Window 가 나타날 것입니다.
                                                         PAGE : 36 - 26




6.   이 Window 에서 확인 button 을 Click 합니다.




7.   Download 가 문제없이 실행되어 지면 Successful 이라는 Message 가 나옵니다.
                                                                   PAGE : 36 - 27




7. Modelsim Simulation Method
 1.   Project Navigator 에서 메뉴의 Edit -> Preference 를 선택하고 Partner Tools 에서 Modelsim
      Xilinx Edition version 의 실행파일의 디렉토리 경로가 정확히 설정되어 있는 지를 확인.


      주의 할 점은 기존에 Modelsim 의 다른 version 이 설치된 경우에서는 또 설치하지 않는다.
      두 Modelsim 이 충돌해서 정상동작하지 않은 경우가 있다.
                                                                       PAGE : 36 - 28




.Project Navigator 의 Top Menu 에서 Project 에 New Source…를 Click 을 합니다.




3. 다음과 같은 Window 가 나타나면 VHDL Test Bench 를 선택을 하고서 File 난에 tb_jc2_vhd
라고 작성한 후, 다음(N) button 을 Click 합니다..
                                                       PAGE : 36 - 29




4. 다음과 같은 Window 가 나타나면, 마침 button 을 Click 합니다.




   5. 다음과 같이 Source in Project Window 에 upload 됨을 볼 수 있습니다. 동시에 VHDL
                                                                                    PAGE : 36 - 30


            Editor window 도 나타납니다.




<Testbench 파일인         tb_jc2_top.vhd 내용>


-- VHDL Test Bench Created from source file jc2_top.vhd -- 00:47:50 06/17/2002
--
-- Notes:
-- This testbench has been automatically generated using types std_logic and
-- std_logic_vector for the ports of the unit under test.   Xilinx recommends
-- that these types always be used for the top-level I/O of a design in order
-- to guarantee that the testbench will bind correctly to the post-implementation
-- simulation model.
--
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
USE ieee.numeric_std.ALL;


ENTITY testbench IS
END testbench;
                                                              PAGE : 36 - 31


ARCHITECTURE behavior OF testbench IS


          COMPONENT jc2_top
          PORT(
                     LEFT : IN std_logic;
                     RIGHT : IN std_logic;
                     STOP : IN std_logic;
                     CLK : IN std_logic;
                     Q : INOUT std_logic_vector(3 downto 0)
                     );
          END COMPONENT;


          SIGNAL LEFT :       std_logic;
          SIGNAL RIGHT :        std_logic;
          SIGNAL STOP :        std_logic;
          SIGNAL CLK :        std_logic;
          SIGNAL Q :      std_logic_vector(3 downto 0);


BEGIN


          uut: jc2_top PORT MAP(
                     LEFT => LEFT,
                     RIGHT => RIGHT,
                     STOP => STOP,
                     CLK => CLK,
                     Q => Q
          );




-- *** Test Bench - User Defined Section ***
   tb : PROCESS
   BEGIN
       wait; -- will wait forever
   END PROCESS;
-- *** End Test Bench - User Defined Section ***


END;
                                                                        PAGE : 36 - 32




위 TestBench 파일에서 변하는 입력 데이타에 변동 값을 주어서 최종적으로 아래와 같은 TestBench
파일을 만든다.
<tb_jc2_top.vhd>


LIBRARY IEEE;
USE IEEE.std_logic_1164.all;


ENTITY testbench IS
END testbench;


ARCHITECTURE testbench_arch OF testbench IS
         COMPONENT jc2_top
                   PORT (
                               CLK : in    STD_LOGIC;
                               LEFT : in    STD_LOGIC;
                               RIGHT : in    STD_LOGIC;
                               STOP : in    STD_LOGIC;
                               Q: inout STD_LOGIC_VECTOR (3 DOWNTO 0)
                   );
         END COMPONENT;


         SIGNAL CLK : STD_LOGIC:= '0';
         SIGNAL LEFT : STD_LOGIC:= '1';
         SIGNAL RIGHT : STD_LOGIC:= '1';
         SIGNAL STOP : STD_LOGIC:= '1';
         SIGNAL Q : STD_LOGIC_VECTOR (3 DOWNTO 0);


BEGIN
         UUT : jc2_top
         PORT MAP (
                   LEFT => LEFT,
                   RIGHT => RIGHT,
                   STOP => STOP,
                   CLK => CLK,
                                                                            PAGE : 36 - 33


                   Q => Q
         );
                   CLK      <= not CLK after 10 ns;


                   LEFT <= '0' after 505 ns, '1' after 525 ns;


                   STOP <= '0' after 1005 ns, '1' after 1025 ns;


                   RIGHT <= '0' after 1505 ns, '1' after 1525 ns;
                   ---------------------------


END testbench_arch;


CONFIGURATION jc2_top_cfg OF testbench IS
         FOR testbench_arch
         END FOR;
END jc2_top_cfg;


    2.   Project Navigator 창에서 tb_jc2_top.vhd 에 커서를 위치시키면 Frocesses for Current Source 창에
         Modelsim simulator 가 보이게 된다.




     function 시뮬레이션을 하려면 Simulation Behavioral VHDL Model 을 클릭한다.
     Timing 시뮬레이션을 하려면 Simulatie                  Post-Fit   VHDL Model 를 클릭하면   아래와 같은
                                                        PAGE : 36 - 34


   Modelsim 창이 뜬다.




시뮬레이션 파형들은 wave 창에서 볼 수 있다.




- 확대(Zoom in 2X )하려면 이곳을 클릭   - 축소(Zoom out 2X)하려면   이곳을 클릭
                                                          PAGE : 36 - 35




- 다시 Resimulation 하려면   이곳을 클릭한다.




- Delay 를 확인하기 위해 또 하나의 지시자가 필요합니다. Add Cursor Icon 을 Click 합니다.
                                    -




- cursor 를 통해서 delay 를 확인한다.

								
To top