Xilinx FPGA Design Flow Digital System 數位系統 Xilinx FPGA Design Flow
Outline of FPGA Design Flow Project Navigator 视窗介绍 设计流程 I:以 Schematic 设计电路 建立新的專案 (Project) 以繪圖方式 (Schematic) 設計電路 功能模擬 (Functional Simulation) 的執行 Testbench 的產生 功能模擬: 使用 Modelsim Simulator 晶片實作 Implementation Constraints File 的執行 Implementation Design 時序模擬 (Timing Simulation) 的執行: 使用 Modelsim Simulator Configuration 的執行 驗證電路 設計流程 II: 以 Verilog 設計電路
Project Navigator 視窗介紹 (1/2) Multi-document Interface Source 視窗 Process Source 視窗 Transcript 視窗
Project Navigator 視窗介紹 (2/2) Source 視窗 Sources Tab 專案 (Project) 的名稱、使用者的文件、FPGA/CPLD 的型號、設計流程與合成的工具與伴隨 Design View的設計來源檔案。 Snapshot Tab 顯示目前專案的所有 Snapshot,所謂 Snapshot 主要在儲存以前儲存過的 Project。 Library Tab 顯示目前所開啟的 Project 用到相關的 Library。 Processes Source 視窗 顯示目前要處理的有效程序。 Transcript 視窗 Console, Error, Warning, Tcl Console, and Find in Files.
Outline of FPGA Design Flow Project Navigator 視窗介紹 設計流程 I:以 Schematic 設計電路 建立新的專案 (Project) 以繪圖方式 (Schematic) 設計電路 功能模擬 (Functional Simulation) 的執行 Testbench 的產生 功能模擬: 使用 Modelsim Simulator 晶片實作 Implementation Constraints File 的執行 Implementation Design 時序模擬 (Timing Simulation) 的執行: 使用 Modelsim Simulator Configuration 的執行 驗證電路 設計流程 II: 以 Verilog 設計電路
建立新的專案 (1/8) Step 1: File → New Project 3 1 2
建立新的專案 (2/8) 燒錄的 FPGA 晶片型號: Spartan 3 XC3S200-FT256
建立新的專案 (3/8) Step 2: 增加一個新的 Source 檔,使用 Schematic 來設計。 1 2 3 4
建立新的專案 (4/8) New Source Summary 1
建立新的專案 (5/8) We only need one Source, so Next. 1
建立新的專案 (6/8) We don’t need and have any Existing Sources, so Next. 1
建立新的專案 (7/8) New Project Summary
建立新的專案 (8/8) 1. 檢查 Source 檔,與 Device 。 2. 開始編輯電路。
Outline of FPGA Design Flow Project Navigator 視窗介紹 設計流程 I:以 Schematic 設計電路 建立新的專案 (Project) 以繪圖方式 (Schematic) 設計電路 功能模擬 (Functional Simulation) 的執行 Testbench 的產生 功能模擬: 使用 Modelsim Simulator 晶片實作 Implementation Constraints File 的執行 Implementation Design 時序模擬 (Timing Simulation) 的執行: 使用 Modelsim Simulator Configuration 的執行 驗證電路 設計流程 II: 以 Verilog 設計電路
Schematic 圖形編輯器 (1/5) Schematic 快速鍵介紹 Add I/O Maker Add wire Add Symbol Add Net Name
Schematic 圖形編輯器 (2/5) Step 3: Add → Symbol and Wire.
Schematic 圖形編輯器 (3/5) Step 4: Add → IO Maker.
Schematic 圖形編輯器 (4/5) Step 5: Add → Net name.
Schematic 圖形編輯器 (5/5) Step 6: Tool Check schematic, and check no error and Save. 3 1 2
Outline of FPGA Design Flow Project Navigator 視窗介紹 設計流程 I:以 Schematic 設計電路 建立新的專案 (Project) 以繪圖方式 (Schematic) 設計電路 功能模擬 (Functional Simulation) 的執行 Testbench 的產生 功能模擬: 使用 Modelsim Simulator 晶片實作 Implementation Constraints File 的執行 Implementation Design 時序模擬 (Timing Simulation) 的執行: 使用 Modelsim Simulator Configuration 的執行 驗證電路 設計流程 II: 以 Verilog 設計電路
功能模擬的執行 (1/12) Step 7: Source for Behavioral Simulation,點選 fa (fa.sch),add new source,檔名為 fa_tbw。 1 2 3 4
功能模擬的執行 (2/12) We only have one source, so Next. 1 2
功能模擬的執行 (3/3) New Source Summary 1
功能模擬的執行 (4/12) 1 2 3
功能模擬的執行 (5/12) Step 8: 輸入 input 的所有組合,n inputs → 2n input combinations.
功能模擬的執行 (6/12) Step 9: Modelsim Simulator → Simulate Behavioral Model (Double click mouse left key 2 times). 1 2
功能模擬的執行 (7/12) 叫出 Modelsim Simulator後,You can see “ Error Loading ”.
功能模擬的執行 (8/12) Step 10: Select work → Compiler AND2, OR3, and XOR2. (file path: C://Xilinx/9.2i/ISE/verilog/src/unisims) 1 2 3 4 5
功能模擬的執行 (9/12) Step 11: In fa_tbw, Right click → Simulate 1 2 3
功能模擬的執行 (10/12) Step 12: Right Click “fa_tbw” to select Add → To Wave → All items in region. 1 3 4 2
功能模擬的執行 (11/12) Behavioral Waveform Window
功能模擬的執行 (12/12) Step 14: Run all, and Step 15: Zoom fit. 1 2
Outline of FPGA Design Flow Project Navigator 視窗介紹 設計流程 I:以 Schematic 設計電路 建立新的專案 (Project) 以繪圖方式 (Schematic) 設計電路 功能模擬 (Functional Simulation) 的執行 Testbench 的產生 功能模擬: 使用 Modelsim Simulator 晶片實作 Implementation Constraints File 的執行 Implementation Design 時序模擬 (Timing Simulation) 的執行: 使用 Modelsim Simulator Configuration 的執行 驗證電路 設計流程 II: 以 Verilog 設計電路
Implementation Constraints File 的執行 (1/8) Step16: Sources for “ Synthesis/Implementation “ Step 17: 點選 fa.sch,Project → New Source 1 2 3 4
Implementation Constraints File 的執行 (2/8)
Implementation Constraints File 的執行 (3/8) Step 18: 點選 fa.ucf,User Constraints → Assign Package Pins. 1 2 3
Implementation Constraints File 的執行 (4/8) Xilinx PACE 視窗
Implementation Constraints File 的執行 (5/8) Step 19: 點選Package View,展開Design Browser 的 I/O Pins 2 1
Implementation Constraints File 的執行 (6/8) Step 20: 找出 Spartan-3 FPGA XC3S200-FT256 的 Datasheet Slide Switches LEDs
Implementation Constraints File 的執行 (7/8) 完成後,File Save。
Implementation Constraints File 的執行 (8/8) 檢查 Edit Constraints (Text) 1 2
Outline of FPGA Design Flow Project Navigator 視窗介紹 設計流程 I:以 Schematic 設計電路 建立新的專案 (Project) 以繪圖方式 (Schematic) 設計電路 功能模擬 (Functional Simulation) 的執行 Testbench 的產生 功能模擬: 使用 Modelsim Simulator 晶片實作 Implementation Constraints File 的執行 Implementation Design 時序模擬 (Timing Simulation) 的執行: 使用 Modelsim Simulator Configuration 的執行 驗證電路 設計流程 II: 以 Verilog 設計電路
Implement Design (1/6) Step 21: Implement Design 1 2
Implement Design (2/6)
Implement Design (3/6) 可點選Place & Route → View/Edit Routed Design (FPGA Editor),來觀看實際上 LUT 配置的情形。 2 1
Implement Design (4/6) FPGA 晶片資源利用報告 (Design Summary → Summary)
Implement Design (5/6) Pinoout Report (Design Summary Pinout Report) 1 2
Implement Design (6/6) 時序報告的檢視: Generate Post-Place & Route Static Timing → Analyze Post-Place & Route Static Timing. 1
Outline of FPGA Design Flow Project Navigator 視窗介紹 設計流程 I:以 Schematic 設計電路 建立新的專案 (Project) 以繪圖方式 (Schematic) 設計電路 功能模擬 (Functional Simulation) 的執行 Testbench 的產生 功能模擬: 使用 Modelsim Simulator 晶片實作 Implementation Constraints File 的執行 Implementation Design 時序模擬 (Timing Simulation) 的執行: 使用 Modelsim Simulator Configuration 的執行 驗證電路 設計流程 II: 以 Verilog 設計電路
時序模擬 (Timing Simulation) 與 Functional Simulation 相同的步驟。 1 2
Outline of FPGA Design Flow Project Navigator 視窗介紹 設計流程 I:以 Schematic 設計電路 建立新的專案 (Project) 以繪圖方式 (Schematic) 設計電路 功能模擬 (Functional Simulation) 的執行 Testbench 的產生 功能模擬: 使用 Modelsim Simulator 晶片實作 Implementation Constraints File 的執行 Implementation Design 時序模擬 (Timing Simulation) 的執行: 使用 Modelsim Simulator Configuration 的執行 驗證電路 設計流程 II: 以 Verilog 設計電路
Configuration 的執行 (1/2) Step 22: Generate Programming File
Configuration 的執行 (2/2) 2 3 1 4 點選 Configure Device (iMPACT) Step 22: iMPACT 視窗,選擇 Configure devices using Boundary-Scan (JTAG) Automatically … 2 3 1 4
Outline of FPGA Design Flow Project Navigator 視窗介紹 設計流程 I:以 Schematic 設計電路 建立新的專案 (Project) 以繪圖方式 (Schematic) 設計電路 功能模擬 (Functional Simulation) 的執行 Testbench 的產生 功能模擬: 使用 Modelsim Simulator 晶片實作 Implementation Constraints File 的執行 Implementation Design 時序模擬 (Timing Simulation) 的執行: 使用 Modelsim Simulator Configuration 的執行 驗證電路 設計流程 II: 以 Verilog 設計電路