FPGA
lượt xem 53
download
Design Ideas Detailed Design Functional Simulation Synthesis & Implementation Timing Simulation Device Programming
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: FPGA
- FPGA Synthesizer Á¿®v¡GªL¤ì¤s Ápµ¸¹q¸Ü¡G 5773693 ext 166 03- Email: tony@cic.edu.tw CIC Training Manual HDL Design Flow & Tools - 1
- Course Outline uHDL Design Flow & Tools uHDL Coding Hints uExplore Synopsys FPGA Express Tool CIC Training Manual HDL Design Flow & Tools - 2
- HDL Design Flow & Tools u FPGA Design Flow • Design Ideas • Detailed Design • Functional Simulation • Synthesis & Implementation • Timing Simulation • Device Programming u Altera HDL Design Flow & Tools u Xilinx HDL Design Flow & Tools CIC Training Manual HDL Design Flow & Tools - 3
- FPGA/CPLD Design Flow Design Design Detailed Detailed Functional Functional Ideas Ideas Design Design Simulation Simulation Device Device Timing Timing Synthesis & Synthesis & Programming Programming Simulation Simulation Implementation Implementation FPGA CPLD t pd=22.1ns f max=47.1MHz CIC Training Manual HDL Design Flow & Tools - 4
- Design Ideas u What are the main design considerations? • Design feasibility? • Design spec? • Cost? • FPGA/CPLD or ASIC? • Which FPGA/CPLD vendor? • Which device family? • Development time? CIC Training Manual HDL Design Flow & Tools - 5
- Detailed Design u Choose the design entry method • Schematic – Gate level design – Intuitive & easy to debug • HDL (Hardware Description Language), e.g. Verilog & VHDL – Descriptive & portable – Easy to modify • Mixed HDL & schematic u Manage the design hierarchy • Design partitioning – Chip partitioning – Logic partitioning • Use vendor-supplied libraries or parameterized libraries to reduce design time • Create & manage user-created libraries (circuits) CIC Training Manual HDL Design Flow & Tools - 6
- Functional Simulation u Preparation for simulation • Generate simulation patterns – Waveform entry – HDL testbench • Generate simulation netlist u Functional simulation • To verify the functionality of your design only u Simulation results • Waveform display • Text output u Challenge • Sufficient & efficient test patterns CIC Training Manual HDL Design Flow & Tools - 7
- HDL Synthesis assign z=a&b a u Synthesis = Translation + Optimization z b • Translate HDL design files into gate-level netlist • Optimize according to your design constraints – Area constraints – Timing constraints – Power constraints – ... u Main challenges • Learn synthesizable coding style • Write correct & synthesizable HDL design files • Specify reasonable design constraints • Use HDL synthesis tool efficiently CIC Training Manual HDL Design Flow & Tools - 8
- Design Implementation a z b u Implementation flow FPGA CPLD 01011... • Netlist merging, flattening, data base building • Design rule checking • Logic optimization • Block mapping & placement • Net routing • Configuration bitstream generation u Implementation results • Design error or warnings • Device utilization • Timing reports u Challenge • How to reach high performance & high utilization implementation? CIC Training Manual HDL Design Flow & Tools - 9
- Timing Analysis & Simulation t pd=22.1ns uTiming analysis f max=47.1MHz • Timing analysis is static, i.e., independent of input & output patterns • To examine the timing constraints • To show the detailed timing paths • Can find the critical path u Timing simulation • To verify both the functionality & timing of the design CIC Training Manual HDL Design Flow & Tools - 10
- Device Programming u Choose the appropriate configuration scheme FPGA • SRAM-based FPGA/CPLD devices CPLD – Downloading the bitstream via a download cable – Programming onto a non-volatile memory device & attaching it on the circuit board • OTP, EPROM, EEPROM or Flash-based FPGA/CPLD devices – Using hardware programmer – ISP u Finish the board design u Program the device u Challenge • Board design • System considerations CIC Training Manual HDL Design Flow & Tools - 11
- Our Focus: HDL Design Flow u Why HDL? • Can express digital systems in behavior or structure domain, shortening the design time • Can support all level of abstraction, including algorithm, RTL, gate and switch level • Both VHDL & Verilog are formal hardware description languages, thus portable u Typical HDL design flow • Use VHDL or Verilog to express digital systems – VHDL or Verilog simulation tool is required to simulate your project • Use high-level synthesis tool to obtain structural level design • Then use FPGA placement & routing tools to obtain physical FPGA netlist u We assume you are familiar with VHDL or Verilog... • In this course, we’ emphasize on FPGA HDL coding techniques for synthesis ll – It’ the key issue to reduce area and achieve high performance for your project s • We assume you know how to use VHDL or Verilog simulator too CIC Training Manual HDL Design Flow & Tools - 12
- Altera HDL Design Flow Design Entry: Functional Simulation Design Verification Design Entry: Design Verification Verilog/VHDL Verilog/VHDL (Verilog-XL/VSS) (Verilog-XL/VSS) Timing Simulation HDL Synthesis HDL Synthesis (FPGA Compiler) (FPGA Compiler) Third-Party Altera MAX+PLUS II MAX+PLUS II Timing Analyzer Timing Analyzer MAX+PLUS II MAX+PLUS II Compiler Compiler Timing Analysis Synthesis & Fitting, MAX+PLUS II Partitioning, MAX+PLUS II Placement, Routing Programmer Programmer Device Programming CIC Training Manual HDL Design Flow & Tools - 13
- Xilinx HDL Design Flow Design Entry: Functional Simulation Design Verification Design Entry: Design Verification Verilog/VHDL Verilog/VHDL (Verilog-XL/VSS) (Verilog-XL/VSS) Timing Simulation Logic Synthesis Logic Synthesis (FPGA Compiler) (FPGA Compiler) Third-Party Xilinx M1 Timing M1 Timing Analyzer Analyzer Alliance Series Alliance Series XACTstep M1 XACTstep M1 Timing Analysis Optimization, Mapping, M1 Hardware Placement & Routing M1 Hardware Debugger Debugger Device Programming CIC Training Manual HDL Design Flow & Tools - 14
- Design Entry u Write HDL design files • Must learn synthesizable RTL Verilog or VHDL coding style for the synthesis tool • Tool: text editor library IEEE; use IEEE.STD_LOGIC_1164.all; – xedit, textedit, vi, joe, ... entity converter is port ( i3, i2, i1, i0: in STD_LOGIC; a, b, c, d, e, f, g: out STD_LOGIC); end converter; module converter(i3,i2,i1,i0,a,b,c,d,e,f,g); architecture case_description of converter is input i3, i2, i1, i0 ; begin output a, b, c, d, e, f, g; P1: process(i3, i2, i1, i0) reg a,b,c,d,e,f,g; variable tmp_in: STD_LOGIC_VECTOR(3 downto 0); begin always @(i3 or i2 or i1 or i0) begin tmp_in := i3 & i2 & i1 & i0; case({i3,i2,i1,i0}) case tmp_in is 4'b0000: {a,b,c,d,e,f,g}=7'b1111110; when "0000" => (a,b,c,d,e,f,g) (a,b,c,d,e,f,g) (a,b,c,d,e,f,g) (a,b,c,d,e,f,g) (a,b,c,d,e,f,g) (a,b,c,d,e,f,g) (a,b,c,d,e,f,g) (a,b,c,d,e,f,g) (a,b,c,d,e,f,g)
- HDL Functional Simulation u Write HDL testbench files u Prepare technology-dependent simulation model, if necessary u Verilog functional simulation • Tool: Verilog simulator FCadence Verilog-XL – Viewlogic VCS u VHDL functional simulation • Tool: VHDL simulator FSynopsys VSS – Viewlogic SpeedWave – Cadence LeapFrog CIC Training Manual HDL Design Flow & Tools - 16
- Verilog Functional Simulation CIC Training Manual HDL Design Flow & Tools - 17
- VHDL Functional Simulation CIC Training Manual HDL Design Flow & Tools - 18
- HDL Synthesis u Prepare synthesis library u Transfer HDL design file into gate-level netlist • Tool: HDL synthesis software FSynopsys: Design Analyzer, HDL/VHDL Compiler & FPGA Compiler – Viewlogic ViewSynthesis (for VHDL only) – Cadence Synergy • Generate EDIF netlist file (*.edf) for Altera design • Generate XNF netlist files (*.sxnf) for Xilinx design CIC Training Manual HDL Design Flow & Tools - 19
- FPGA Implementation u Gate-level netlist -> configuration bitstream & timing information • Altera development tool: Altera MAX+PLUS II software – MAX+PLUS II Compiler – MAX+PLUS II Floorplan Editor • Xilinx development tool: Xilinx XACTstep M1 software – Xilinx Design Manager – Flow Engine – EPIC Design Editor CIC Training Manual HDL Design Flow & Tools - 20
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Giáo trình Thiết kế mạch logic số - Chương 4: Thiết kế vi mạch số trên FPGA
81 p | 553 | 126
-
TỔNG QUAN VỀ THIẾT KẾ SỐ TRÊN FPGA
19 p | 244 | 85
-
Hướng dẫn thiết kế số sử dụng ngôn ngữ Verilog-HDL trên FPGA: Bài 1
19 p | 332 | 66
-
Bài 3: Giới thiệu về Quartus 2 và quy trình thiết kế trên FPGA
9 p | 274 | 22
-
Thiết kế thuật toán Kasumi trên FPGA trong bảo mật thông tin di động
5 p | 120 | 12
-
Thiết kế bo mạch CPLD/FPGA phát triển phục vụ cho nghiên cứu - đào tạo
5 p | 49 | 8
-
Nghiên cứu các phương pháp đồng bộ trong máy thu điều chế số trên công nghệ FPGA
8 p | 68 | 6
-
Tối ưu hóa kiến trúc phần cứng bộ tạo ma trận ứng dụng cho hệ thống lọc biên ảnh tốc độ cao trên FPGA
6 p | 13 | 5
-
Thiết kế và thi công bộ tính toán FFT 16 điểm dựa trên công nghệ FPGA
9 p | 28 | 5
-
Nghiên cứu xây dựng kiến trúc hệ mật IDEA trên FPGA
8 p | 70 | 5
-
Giải pháp thiết kế và thi công máy tính nhúng thời gian thực tích hợp công nghệ FPGA
5 p | 74 | 4
-
Bài giảng Thiết kế bằng FPGA - Trường Đại học Thái Bình
45 p | 9 | 4
-
Bài giảng Xử lý tin hiệu số với FPGA: Chương 1 - Hoàng Trang
55 p | 4 | 2
-
Bài giảng Xử lý tin hiệu số với FPGA: Chương 2 - Hoàng Trang
24 p | 2 | 2
-
Bài giảng Xử lý tin hiệu số với FPGA: Chương 3 - Hoàng Trang
22 p | 4 | 2
-
Bài giảng Xử lý tin hiệu số với FPGA: Chương 4 - Hoàng Trang
28 p | 3 | 2
-
Bài giảng HDL & FPGA - Chương 5: Các vấn đề khác
17 p | 4 | 1
-
Nghiên cứu, thiết kế kit thực hành FPGA
10 p | 5 | 0
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn