Fpga Design Flow-altera

  • Uploaded by: Chia-Sheng Wen
  • 0
  • 0
  • December 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Fpga Design Flow-altera as PDF for free.

More details

  • Words: 1,105
  • Pages: 167
FPGA/HDL Design FPGA/HDL設計 國立高雄海洋科技大學微電子系 溫家聖 February 2009

Textbooks/Lecture Notes • Textbooks – S. Palnitkar, “Verilog HDL, A Guide to Digital Design and Synthesis”, 2nd ed., , Sun Microsystems, Inc, 2003.

• Additional Readings – Wayne Wolf, “FPGA-Based System Design”, 1st edition ., Prentice Hall., 2004.

• Lecture Notes – available at http://vlsi.cse.nsysu.edu.tw/wen/fpga

References • 教育部P&L聯盟課程講義-FPGA系統設計實務 • Nazeih Botros, “HDL Programming Fundamentals,VHDL and Verilog”, Da Vinci Engineering Press, 2006.ISBN Number:158450-855-8 ,代理商:高立書局06-3111301 • Complete documents from IEEE standards (available at http://ieeexplore.ieee.org/xpl/standards.jsp) : Verilog (IEEE std. 1364), VHDL (IEEE std. 1076) • Many other books on Verilog, VHDL, Verification, Logic Synthesis, etc.

Grading • • • •

Quiz.(20%) Mid-term exam.(30%) Final exam.(30%) Attendance.(20%) – Each time that you miss class, the score will be minus 2 point

EDA (Electronic Design Automation) Tools • ModelSim – verification and simulation for HDLs

• Verdi (Debussy) – debugging system for analysis, verification and debugging

• Synopsys Design Compiler – logic synthesis

• Others – nLint, VN-Cover, … – FPGA • Altera Quartus II • Xilinx ISE

Prolog

FPGA的角色 • 滿足數位系統設計的需求 – 微處理器 • • • •

使用指令來實作 可使用在不同環境 必須依靠軟體來實作函數 速度慢、耗電大

– FPGA • 直接實作邏輯函數與內部連接 • 不是針對特殊需求量身訂做 • 速度慢、耗電大

– 客製化邏輯IC (Application-specific IC)

FPGA的優點 • 從完成設計到獲得能工作的晶片不需等待 • FPGA是優秀的雛形建立工具 • 相同的FPGA可適用於多種不同的設計中, 降低庫存成本

FPGA • Ross Freeman發明 • 使用SRAM進行規劃 – 使用標準的VLSI製程製造 – 省錢 – 多種製成可供選擇

• 在電路中(in-circuit)可重新規劃

Programmable logic devices (PLD) • 1970年開始銷售 • 使用二階邏輯來實作 – 第一階是AND平面,通常已經固定 – 第二階是OR平面,可程式控制

• 使用Antifuse方式規劃 – 利用高壓產生連接

• 二階結構在邏輯函數增長時,會變得非常 沒有效率

以FPGA為基礎的系統設計 • 目標 – – – –

Performance Power/energy Design time Design cost • Tools is more cheap than ASIC’s tools

– Manufacturing cost • 比ASIC貴 • 但因為是標準零件,所以這一點可幫助降低成本

• 挑戰 – Short design time

Outlines • FPGA overview • Altera Device overview • Altera software introduction

Introduction

Design level • • • •

多邊型層次(Polygon Level) 電晶體層次(Transistor Level) 邏輯閘層次(Gate/Cell Based Level) 可程式邏輯層次(FPGA/PLD)

多邊型層次(Polygon Level) • 設計者可任意的畫出 半導體的各層的所有 圖案或多邊型, 而製造 出各式電晶體, 導線, 隔離線, 電容, 電阻, 甚 至電感

電晶體層次(Transistor Level) • 用事先設計好的電晶 體進行設計 • 可基於這些模型, 進行 設計模擬驗證 • 設計者可基於這些模 型, 進行設計模擬驗證, 繪圖時設計者將這些 事先畫好的圖樣貼入 設計中

邏輯閘層次 (Gate / Cell Based Level) • 使用事先設計好的邏 輯閘或 Cell 進行設計 • 可以使用這些邏輯閘 或 Cell 事先預備的資 訊, 進行模擬驗證 • 繪圖時設計者將這些 邏輯閘或 Cell 的圖樣 貼入而完成設計

閘陣列層次 (Gate Array) • 在前3 種設計層次, 使用者都必須提供此積體電路 在製程中所需的所有光罩 – 光罩所需不貲 – 這些光罩有一半以上是電晶體層所需, 其餘是屬於導線 層

• 使用預先設計好的閘陣列或電晶體陣列 • 指定這些閘陣列或電晶體陣列中的每個閘或電晶 體, 如何與導線互相連接 • 以使用相同且共用的電晶體層光 – 只提供導線層的光罩 – 節省光罩的數量和成本

閘陣列層次 (Gate Array)

可程式邏輯層次 (FPGA / PLD) • 上述4 種層次的設計, 都必須使用光罩 • 仍是所費不貲 • 且有任何錯誤須修改時, 又必須再花費一次相同的光罩和 製造費用 • FPGA (Field Programmable Gate Array) 則是類似閘陣列 (Gate Array) 的想法 – 預先製作好的閘陣列或電晶體陣列和預先製作好的導線線段 – 上可程式相連接點 (Programmable Interconnection Point) – 切換矩陣 (Switching Matrix)

• 這些可程式的相連接點和切換矩陣可以在應用場合 (Application Field) 直接燒錄 (Programming) 或設定組態 (Configuring) – 說使用者只要使用預先製作好的FPGA 積體電路, 在之後的所有設 計週期都不需經由半導體廠製造 – 沒有光罩的花費

可程式邏輯層次 (FPGA / PLD)

可程式邏輯元件 (Programmable Logic Device) 的類別 • 以燒錄的類型分類 • 以基本元件的結構分類 • 以大小和複雜度分類

以燒錄的類型分類 • Reprogrammable : 可重 複燒錄 • One Time Programmable : 單次燒錄 • SRAM : 以SRAM Cell 組 成可程式點 • EEPROM / Flash : 以 EEPROM / Flash Cell 組 成可程式點 • Anti-Fuse : 以逆熔絲組成 可程式點

以基本元件的結構分類 • Fine Grain : 細顆粒結構 • Macro Cell : 巨細胞結構 • Look-Up Table : 以表 (Table) 做為組合邏輯的基 本元件 • NAND/MUX/Small Gates : 以NAND, MUX 或Small Gates 做為基本元件 • Large Product-Term : 以 大的乘積合 (Sum of Product) 做為組合邏輯的 基本元件

以大小和複雜度分類 • CPLD : Complex Programmable Logic Device • SPLD : Simple Programmable Logic Device • FPGA : Field Programmable Gate Array • PAL/GAL : Programmable Array Logic/Gate Array Logic

SLPD • SPLD(Simple Programmable Logic Device): – 邏輯閘約在數百閘左右 – IC腳位在28pin以內 – Bipolar process,只能作單次燒錄,資料無法 抹除 – GAL process,多次燒錄,可縮短設計時程

CPLD • CPLD(Complex Programmable Logic Device) – 邏輯閘在800~5000之間 – IC腳位高於28pin – 44pin以上IC的封裝以PLCC為主 – CMOS設計技術 – 多次燒錄抹除

FPGA • FPGA : (Field Programmable Gate Array) – – – – –

使用和CPLD不同的架構設計方式 邏輯閘數比CPLD少 以暫存器居多,其密度在5K以上 腳位數多 Routing複雜,非固定式,延遲時間較長

• FPGA的架構 – SRAM Base -可重覆燒錄但需外部電源維持資料 – Anti-fuse -只有一次燒錄,提供較佳保密性

FPGA結構介紹 • 可組織的邏輯區塊(Configurable Logic Blocks 簡稱 CLB) • 邏輯單元(Logic Cell) • 輸入/輸出區塊(I/O Blocks 簡稱 IOB) • 可程式化交連(Programmable Interconnects)

可組織的邏輯區塊(CLB) •

此處為構成邏輯功能的主要區域, 其中是由函式產生區(Function Generation Section)與正反器所組 成。 在函式產生區中是利用F,G,H 3個 查表邏輯(Look-Up Table)來組成; 其中F與G為4對1的Look-Up Table ,所以可產生 種不同的和之積 (Sum of Product)邏輯函數,而H為 3對1的Look-Up Table,是將F,G的 輸出與外部輸入當作輸入信號,此 種設計使H的輸出可得到F,G與外 部輸入信號的和之積形式;再經由 多工器決定輸出信號要接到正反器 或直接輸出,而正反器的輸入時脈 也可以利用多工器選擇正相輸入或 反相輸入;以上所提及之多工器的 選擇皆是由SRAM中每一個Bit所對 映(Mapping)控制的。

邏輯單元 • 巨集單元(Macrocell) – 採用積項和(Sum of Products)的結構 – 較適合於組合邏輯設計需求較多的電路

• 邏輯元素(LE, Logic Element) – 採用查表(LUT, Look-Up Table) 的結構 – 適合需用暫存器較多的序向邏輯電路

Logic Element(LE)

Macro Cell

Macro Cell

輸入/輸出區塊(IOB) • IOB是做為CLB對外界 的介面,每個IOB可規 劃成輸入、輸出或雙 向溝通。下面是IOB可 設定成的形式

Interconnect • 提供電路從輸出/入埠到邏輯單元及邏輯單元間的導通路徑 • Continuous Interconnect – 直接相連(Direct Connection) • 主要用於相鄰或相隔不遠的IOB或CLB的連接

– Predictable delay – Faster global Interconnect – Silicon area efficiency allows cost benefits

• Segmented Interconnect – Unpredictable delays slower local Interconnect

約有4~8條連接線, 線的末端都接至 Switch Matrix,在 未規劃前垂直與水 平線是不相連的。 優點是提供較好的 晶片繞線能力

Continuous Interconnect

Segmented Interconnect

Compare • Advantages – – – – –

Short time-to-market Low tooling costs Low penalty on design changes Low testing cost product advantage (new process)

• Disadvantages – capacity – cost – speed

CPLD vs FPGA • Xilinx將SRAM架構或查表(Look Up Table)架構的PLD(亦即是 需要於元件外配置EPROM組態元件之PLD)定義為FPGA。 Xilinx公司將自家產品Flash、EEPROM架構或乘積項(Product Term)架構的 PLD 稱為FPGA(Complex PLD)。 • Altera將所屬的所有PLD產品元件:MAX系列(EEPROM base) ,FLEX/ ACEX/ APEX/ Cyclone/ Stratix系列(SRAM base)元件 統稱為CPLD(Complex PLD,即複雜型PLD)。 • Compilation – FPGA is slower than CPLD because the routing structure is more complex

• Area – CPLD is common smaller than FPGA

• Application – FPGA is suitable for data path, pipeline… – CPLD is suitable for general logic

IC Design Tree

CPLD/FPGA Vendors • Vendors – ALTERA – XILINX – Lattice – Actel

Component Overview

Increasing Densities Spur New Tools 6K、7K、10k、 ACEX1K

APEX 20K

MAX 9000A Device Block Column Fast Track Interconnect

Program Inter Array

Inter Connect 數個Macro cell組 成一個LAB (Logic Array Block)

建構設計的流程 (Implementation Flow)

Design Entry • 設計的輸入, 可選擇使用繪圖法或硬體描述 語言 (HDL), 來描述規劃好的資料路徑和控 制流程.

Functional Simulation • 功能模擬, 對所輸入的設計進行功能上的驗證, 確 認符合所需的功能和規格

Synthesis • 電路合成, 使用合成器將輸入的設計以既有的Cell 實現

Simulation / Layout / Place & Route • Pre-Layout Simulation : 佈局前的模擬, 對於合成出來的 電路, 做功能上的確認 • Layout / Place & Route : 佈局, 放置與繞線

• Post-Layout Simulation : 佈局前的模擬, 對於合成出來的 電路, 做功能上的確認

如何用 Leonardo 產生出的 EDIF 檔, 再由 Maxplus-II 去 Compiler--Step1 • 開啟 Leonardo Spectrum 你會看見如 圖: • 選擇 ALTERA -> ACEX1K Device:EP1K50QC20 8

Step 2 • 選擇你要 Synthesis 的檔案目錄與工作目 錄 如圖: • 在本範例請選擇全部 的 VHDL 檔案.,選擇後 如左圖所示, 在檔案 TOP.VHD 按 mouse 右鍵設定 Make Top .. 意思是讓合成器知道 TOP.VHD 是整體主要 最高階層.

Step 3 • 設定最佳化,如下圖

Step 4 • 開始合成按 Run Flow ,完成後會在您剛剛的目 錄裏產生您的 TOP.EDF 檔案如下圖

Step 5 • 這時您可以離開 Leonardo 環境. 打開 Maxplus-II 環 境,在 File -> Project -> Name 選擇您剛剛的 Top.edf 檔, 選好後.,請注意要在 Compiler 前要設定 EDIF Netlist read 是那一套軟體 如圖: • 注意要選擇 Exemplar (就 是剛剛用的 Mentor Leonardo).

EDIF Netlist read setting

Timing Analysis Recommendations • Use Timing Analyzer to locate performance bottleneck • Use Show Only Longest Path Time Restrictions in Delay • Matrix to get the longest delay time from input pin to output pin • Use List Path and Locate in Floorplan Editor to view worst case paths • Use List Path and Locate to trace through path in design file • Use assignments and recompile to fine-tune performance

Related Documents

Fpga Based Design
October 2019 21
Fpga Design Tutorial
May 2020 12
Fpga Design Flow-altera
December 2019 17
Wipro Fpga Design Flow
November 2019 10
Fpga
November 2019 18

More Documents from ""