IspLEVER 6.1 을 이용한 회로 설계 (Schematic)
Table of Contents ispLEVER ispLEVER 6.1 tool 의 시작프로그램 2.Lattice Device 의 Design 1) 프로그램시작 2) 새로운 Project 만들기 3) ispLEVER 6.1 의 Main Window 4) Device 선정하기 Design Source 만들기 1) Schematic Design Example * Drawing Toolbar icons 기능 1-1 Schematic Design (4 Bit Up Counter) 1-2 Pin Locking (Constraint Manager 이용 ) 1-3 Pin Locking (Schematic Design Source) 1-4 Compile 1-5 Simulation
1.ispLEVER 6.1 의 시작프로그램 * IspLEVER Project Navigator -> Lattice 의 모든 Device 지원 -> Schematic, ABEL, VHDL, Verilog HDL, EDIF -> Timing, Function Simulation -> Compile -> ispDownload * ispLEVER Registration and License Request -> License Request Form 의 작성 * ispUPDATE -> Web 과 연결되어 Tool Update * spVM System -> ispDownload Program 지금의 ispLEVER tool 은 Lattice License Adapter 라는 가상의 네트워크 Adapter 를 설치하여 사용하고 있습니다 ABEL/Schematic VHDL/Schematic Verilog/Schematic 의 혼용 Design 지원 ABEL(Used with CPLDs only.) GDF (Used with ispGDX device only.)
1.ispLEVER 6.1 의 시작프로그램 Legacy Constraints Translator -> ispLEVER Program 이전에 존재했었던 구 버전의 (ispEXPERT ) 프로그램과 일부 File 체계가 달라서 다른 파일들을 ispLEVER 에 맞게 Conversion 해주는 메뉴 ModelSim -> HDL Simulation ->Runs the Design Planner (for FPGA designs) or Floorplanner (for ispXPGA designs), ->EPIC Device Editor ->Module/IP Manager ->Runs the Synplify synthesis tool for VHDL/Verilog synthesis ->Runs the Precision synthesis tool for VHDL/Verilog synthesis ->Runs the Power Calculator, which allows you to calculate power consumption for some Lattice devices
Lattice Device 의 Design 1) 프로그램시작 Window 시작 -> 프로그램 (P) -> Lattice Semiconductor 에서 ispLEVER Project Navigator 를실행 ->Close 된 Project -> 보통 이전에 작업한 Project 가 있으면 그 Project 가 올라옴. -> New Project -> Open Project
Lattice Device 의 Design 2) 새로운 Project 만들기 File->New Project 를 선택 Project 는 ~.syn 으로 저장되며 project name 과 Design Entry Type 과 Synthesis Tools 을 선택하고 다음 (N) 버튼을 누른다 ABEL/Schematic VHDL/Schematic Verilog/Schematic 의 혼용 Design 지원
Lattice Device 의 Design 3) Device 선정하기 Device 선택순서 Family -> Device ->Speed grade -> Package type ->Operating conditions Device 선택이 완료되면 다음 (N) 을 클릭 Add Source -> 기존에 설계된 source 파일이 있을 경우 여기서 불러들여서 사용할 수 있음 -> 기존 설계된 파일이 없고 새로운 project 를 설계 하고자 할 경우는 다음 (N) 을 클릭한다 Project Information -> 지금까지 작성한 내용들을 한눈에 보여줌
프로젝트 만들기를 마치면 타이틀 바에 현재의 PATH 와 프로젝트 파일네임이 나타나 있다. Source in Project 창에는 Untitled 라고 적힌 곳이 있는데 이곳은 진행프로젝트의 타이틀 정도 적을 수 있다.( 더블클릭 ) LFEC1E-3T100C 디바이스가 자동으로 올라오게 되는데, 이 부분을 더블클릭 하게 되면 아래의 그림처럼 Device Selector 가 나오게 된다. Device Selector, 이 메뉴에서는 원하는 디바이스를 선택 하면 디바이스가 바뀌게 된다. Lattice Device 의 Design
Design Source 만들기 1) Schematic Design Example 2) Design 형태를 선택 1)Source ->New 선택 ABEL Test Vectors ->ABEL 로 Design 한 경우 Simulation 하기 위한 Text Editor Schematic ->Schematic 을 이용한 Design VHDL Module ->VHDL Editor Waveform Stimulus ->Simulation 용 Waveform Editor NEW -> 새로운 source 만들기 Import -> 기존에 설계된 source 를 불러오기
3) Schematic Editor 의 Main Window Lattice Device 의 Design Drawing Toolbar -> 만약 Drawing Toolbar 가 나타나지 않으며, View ->Draw Toolbar 를 선택하십시오 Schematic File Name ->file name 입력
Lattice Device 의 Design Drawing Toolbar Icon 기능 Add Symbol -> Basic Library,User Library 를 불러옴 이때 User 에 의해 생성된 Symbol 은 Local 에 위치함 Add Symbol Add Wire Add Bus Tap Add Instance Name Add Net Name Add I/O Marker Edit Pin Attribute Edit Symbol Attribute Edit Net Attribute Duplicate Drag Rotate Mirror Delete Draw Text Draw Line Draw Rectangle Draw Arc Draw Circle Highlight Move Add Wire -> Symbol Net 간 의결선 Wire 결선 시 항상 사각형의 상자와 일치 시켜서 사각형의 상자가 사라져야 한다.
Lattice Device 의 Design Add Bus Tap ->Bus 형태로 Design 한 경우 a) Net 를 그린다. b) Net 에 Bus Name 을 준다. 예 ) d[7],d[6]……d[0] => d[7:0] 예 ) a. b. c…….g => a. b. c.……g c) Add Bus Tap 을 선택한 후 Net 로부터 Drag 한다. d) Bus tap 에 Net Name 을 준다. Add Net Name 를 선택한다. 하단부의 입력 창에 입력하고자 하는 Net Name 을 입력한다. Net Name-Enter Net Name = clk Enter 를 친다 이때 Cursor 의 중앙에 Net Name 이 위치하게 되며 Net 에 생긴 사각형에 Cursor 를 일치 시켜 Mouse 를 Click 한다. Bus 의 경우는 Bus[7:0] 와 같은 예로 입력한다. -> a. b. c. d. e….f 와 같이 연속적으로 Net Name 을 입력하고자 할 때는 입력 창에 입력한 후, Enter 를 친다. 이때 입력한 모든 Net Name 이 Cursor 에 중앙에 위치하게 되며, 이때 오른쪽 Mouse Button 을 Click 하게 되면, 입력되었던 Net Name 이 순차적 으로 나타나며, Net 의 사각 안에 입력 된다 -> a0.a1.a2 와 같이 일정한 증가분의 경우는 입력 창에 a0+ 를 입력한 후 Enter 를 치면, 순차적으로 Net Name 이 증가된다, 단 a0- 는 불가능 하다.
Lattice Device 의 Design 1-1) Schematic Design (4 Bit Up Counter ) ① ② ③ ④ ⑤⑥⑦ ⑧ ⑨ ⑩ ① ② ③ ④ ⑤ ⑥ ⑦ Add Symbol 를 선택한 후 CBU14 라는 4Bit Binary Up Counter 를 선택, 원하는 위치로 이동한 후 Mouse Click 한다 Add Wire 를 선택한 후 Symbol CBU14 의 사각형을 Muse Click 한 후 원하는 위치로 Mouse 를 이동한 후, Click 을 한다 Add Net Name 를 선택한 후 각각의 Net Name 을 입력한다 Add I/O Marker 를 선택한 후 해당 I/O 의 형태를 선택한 후 각각의 Net Name 에 I/0 를 할당한다 1 개 이상의 Sheet 를 사용할 때 New Sheet Icon 을 선택한다 1 개 이상의 Sheet 를 사용할 때 해당 Sheet 로 이동한다 Edit Symbol Symbol 의 I/O 위치 및 모양을 편집 할 수있다
Lattice Device 의 Design ⑧ Add Block Symbol Use Data From This Block -> 현재의 Design 을 Symbol 화함 Use Data From NAF File ->Design 를 Save 하면 확장자가 NAF 인 파일이 생성되며, 이 파일을 읽어 들여 Symbol 로 만든다 ⑨ Design Title ->Add Symbol 를 선택한 후 C: ₩ … ₩ GENERIC ₩ GENERIC ₩ MISC 를 선택, Title 를 선택한 후 Mouse Click 을 하면, 자동으로 하단우측에 정렬된다 VCC / GND ->VCC,GND 는 Symbol 로 존재하는 것이 아니라,Net Name 에 VCC 또는 GND 로 입력하면 된다. 이때 모양이 변화된다. ⑩ File->Matching Symbol 을 선택하면 현재의 Design 이 Symbol 화 된다
Lattice Device 의 Design 1-2) Pin Locking (Constraint Editor 를 이용 ) -> 오른쪽 창에서 Input pins 또는 Output pins 에서 pin 을 선택한 후 드래그하여 왼쪽의 Top View 의 빈자리에 넣어주면 Signal 이 할당됨 오른쪽 pin Attributes 창의 pin block 을 Double click 한 후 직접 입력하여도 Signal 이 할당됨 (*signal 을 할당할 때 device datasheet 의 Pinout Information 의 내용을 참조 ) -> 할당된 pin 을 해제하고자 할 때에는 Top View 의 pin 에서 마우스 오른쪽 버튼을 눌러 Unlock 를 click 하면 된다 *** 입출력 핀 할당 *** CPLD device Constraint Editor 를 이용 FPGA device Design Planner (post-Map) 를 이용
Lattice Device 의 Design 1-3) Pin Locking (Schematic Design Source 내에 직접입력 ) 1)Add Symbol 을 실행한다 2)IOPADS.LIB 를 선택한 후 원하는 해당 I/O Pad 를 선택하여 연결한다 3)Drawing tool bar 에서 Symbol Attribute Editor 을 선택한다 4)I/O Pad 를 선택하면, 빗금으로 선택된다 5)Symbol Attribute Editor 에서 Pin Number 를 선택한 후, 원하는 Pin Number 를 입력한다 *FPGA device 같은 경우에 IOPADS.LIB 를 제공하지 않기 때문에 1-2 에서처럼 Constraint Editor 를 이용하여 Signal 을 할당해야 함
Lattice Device 의 Design 1-4) Compile (Fit Design) Sources windows 창에서 device 를 선택하고 Fit Design 을 Mouse Double-Click 하여 compile 을 실행하면 Output Panel 에 Completed successfully. 과 함께 Processes Window 에 표시되면 성공적으로 Compile 된 것임. Fitter Report (text) 와 Fitter Report (html) 두 가지 메뉴를 통해서 compile 결과를 확인할 수 있다. Process stateIcon InitialNo icon Warnings completed Errors
Lattice Device 의 Design 1-5) Simulation -> Source/New…/ Waveform Stimulus 를 선택 ->Top Design 에 대한 Timing Function Simulation 을 원하는 경우는 Device 로 선택하며, 해당 Design 에 대해서 Function Simulation 을 원하는 경우 는 해당 Design Name 을 선택한다.
Lattice Device 의 Design ->New Waveform Stimulus 의 WDL File Name 을 입력한다. 이때 File 확장자는 *.wdl 임 -> Waveform Editor
Lattice Device 의 Design ->Simulation 에 필요한 Signal 들을 선택 Add 한 후,Show 를 실행한 후 창을 닫는다.(Cancel) ->Waveform Editing 을 하기 위한 Signal 들을 불러드리기 위해서 Edit/Import Wave… 를 선택한다 -> Import Wave
Lattice Device 의 Design -> 원하는 Signal 을 Editing 한다. Editing 할 경우, 현재의 시간보다 지난 곳에서 Mouse Click 을 하면 이전 Editing 의 끝 시간에서부터 Editing 이 시작된다. 즉 상대적인 시간으로 진행된다. 만약에 정확한 시간이 필요하다면, Mouse Click 후, Duration 에 시간을 입력한다.(100ns 의 경우,100 을 입력 하여도 동일하다 ) 만약 단위가 ns 가 아니면, Options/ Timing Options 를 실행한 후, Time Units 를 ns 로 설정한다.
Lattice Device 의 Design -> Clock Editing 먼저 한 주기를 Editing 한 후, 현재 선택된 부분을 한번 더 선택하게 되면 전체가 선택되고 이때 Repeat 창과 Scale 창이 활성화된다. Repeat 창에 반복 하고자 하는 횟수를 입력한다. Forever 창을 click 하면 지금 만들어진 한 주기의 clock 이 무한 반복한다. Scale 창은 위와 같이 한 주기가 100ns 인 clock 을 분주 하고 싶을 경우 그림과 같이 분주하고자 하는 배수를 입력하여 사용할 수 있다.
Lattice Device 의 Design Waveform Editing 이 완료되면 종료한 후 tool 에 Editing 된 WDL File 이 등록되며, 원하는 Simulation 을 Double-Click 한다 -> Simulation Functional Simulation -> 단순히 Function 만을 체크 Timing Simulation -> 칩의 타이밍정보를 고려해 Delay 등을 체크
Lattice Device 의 Design -> Simulator Control Panel -> Simulator Control Panel 에서 RUN 을 클릭한다. -> Simulation 결과를 확인한다 Timing Simulation -> Delay 된 값을 확인할 수 있다