EMC課程

站長早期CAD課程

Home > QuartusII教學  > QuartusII教學

  1. 前言

  2. Altera產品簡介

  3. Quartus基本操作

  4. Quartus進階功能

  5. Altera最新消息

  6. 後記

  1. 前言 

可程式邏輯元件(Programmable Logic Device, PLD),是指一種可讓使用者組成邏輯功能的數位積體電路,這跟過去的TTL /CMOS標準晶片只能提供固定電路功能大不同,其可協助邏輯IC設計與驗證,有效縮短產品開發時間;FPGA(Field Programmable Gate Array)CPLDs (Complex Programmable Logic Devices)即是大規模的PLD。在內部聯結方式上可分為連續式連結(continuous interconnect),及片段式聯結(segment interconnect)。

PLD、FPGA、CPLD有何不同?
-- 學術上較正式的說法是:CPLD是由PLA (AND/OR array) block所組成,而FPGA是以Logic block組成,需要外部download RAM,且FPGA容量比CPLD大許多
-- 維基百科對FPGA、CPLD的解釋

  1. Altera產品簡介 

2.1 Altera Device

早期Altera稱呼其所有的可程式邏輯元件為CPLDs,並採用連續式之聯結方式以提供可預測之邏輯延遲時間、更快的操作速度及晶片效益。APEXTM 20K(Advanced Programmable Element MatriX)系列,同時結合了FLEXTM系列Look-Up Table logic、MAXTM系列Product-Term logic的優點,並且內含Embedded memory,即所謂MultiCore Architecture,硬體架構完全不同以往,因此必需搭配新的軟體QuartusTM使用。(MAX+PlusII只能支援FLEX、MAX device)

目前Altera官網只有Stratix、Cyclone(FPGA)、MAX(CPLD)、HardCopy(ASIC)的訊息,拿掉了APEX與FLEX:Altera Device Overview。(但QuartusII內的Device選項還是有APEX、FLEX)

  • High-End FPGA:StratixIV、StratixIII、StratixII、Stratix

  • Midrange FPGA:Arria

  • Low-Cost FPGA:CycloneIII、CycloneII、Cyclone

  • Low-Cost CPLD:MAXII、MAX

  • HardCopy ASIC:HardCopyIV、HardCopyIII、HardCopyII、HardCopy

MAX、MAXII,後者多了8Kbit On-chip Flash memory,並且是TSMC 0.18um製程,比MAX low-power

從Stratix、StratixII、StratixIII到最新的StratixIV,FPGA容量分別是79K、179K、338K、681K (LEs),呈等比級數增加。Altera還特別把StratixIV與對手Xilinx的Virtex-5做個比較,結論是35 percent higher performance50 percent lower power,真是有夠嗆的。單就FPGA容量來看,StratixIII與Virtex-5同樣是330K(前者稱logic elements,後者稱logic cells)。

LEs (Logic Elements)與實際設計gate-count的換算,沒有精確的公式,但使用經驗上,LEs大約是gate-count數的1/5。以StratixIII EP3SL200 (199K LEs)為例,大約可實現100萬 gate-count的設計。
ref. Why did Altera stop providing equivalent gate counts for its APEXII and newer devices?

2.1.1 Basic Building Block of Logic

MAX、Cyclone系列device的邏輯基本單元是Logic Element (LE),以Look-Up Table (LUT)為基礎。Stratix系列device的邏輯基本單元是Adaptive Logic Module (ALM),對於有組合邏輯的設計有較好的performance。

2.1.2 命名原則

  • Device型號最尾端的數字,表示LEs數目;StratixII EP2S180=179K LEs、StratixIII EP3SL340=338K LEs
    -- 2S表示StratixII、3S表示StratixIII,3C表示CycloneIII,M表示MAX或MAXII
    -- L表示balance logic, memory, and multiplier,E表示Enhanced more memory and multipliers

  • 字尾有加GX的,表示with clock data recovery、multigigabit transceiver;如StratixII GX、StratixIII GX

2.2 Altera Software -- QuartusII

QuartusII 與 MAX+PlusII 都是Altera專為其產品(hardware device),所提供的EDA Tool。它可以執行HDL的編輯(Editor and syntax check) -->模擬(Simulator) -->合成(Synthesis) -->FPGA佈局 -->Netlist download to CPLD / FPGA。

由於QuartusII (MAX+PlusII) 的simulator只能接受自己所編輯的waveform作為觸發輸入(test pattern),而不能接受一般HDL所撰寫的test-bench,所以筆者通常不用QuartusII的simulator來做模擬,而用ModelSim或Verilog-XL。此外,QuartusII的合成器對於一些HDL的語法也不支援,所以建議用Synopsys Design-Analyzer合成完所產生的gate_level.v或是.edf (netlist file),作為QuartusII的輸入,只由QuartusII執行 "FPGA佈局 -->Netlist download to CPLD / FPGA" 這部份的工作就好。

Quartus不支援的合成語法:二維(含)以上的陣列memory宣告 ...

一開始Quartus ~ QuartusII 1.0只能支援APEX系列,而不支援FLEX、MAX系列(需用MAX+PlusII軟體);與MAX+PlusII相較,Quartus在做繞線最佳化與時間分析,功能較強。QuartusII在Compiler時間比Quartus提升25~40%,fmax則好約20%。

截至2008.11為止,最新的版本為QuartusII 8.1,且官網建議MAX+PlusII只用來維護舊有產品。

可以網路下載QuartusII Web Edition,而QuartusII Web Edition與QuartusII Subscription Edition Software的比較請參閱此處

本文主要針對QuartusII 8.0 的使用做介紹,也可善用"Help \ Tutorial \ "官方所提供的互動式影音教學(Interactive Tutorial)。

  1. Quartus 基本操作 

  1. Quartus 進階功能 

4.1 Incremental Compilation 

4.2 Constraint Entry

4.3 Planner  

  • Pin Planner

  • Chip Planner -- check place & route and do ECO (Engineer Change Order)

  • Design Partition Planner

4.4 Viewer

  • RTL Viewer -- 用來看階層關係,決定怎麼partition

  • State Machine Viewer

  • Technology Map Viewer -- check synthesis and netlist,用來trace critical timing path

4.5 Debug Tool

  • SignalTap II -- 以incremental compilation避免影響原本的P&R, 不需要邏輯分析儀(LA)

  • SignalProbe -- incremental routing, 不改變已有的P&R, 但需要邏輯分析儀

  • Logic Analyzer Interface -- 

4.6 MegaWizard Plug-In Manager

  1. Altera最新消息 

  1. 後記 

分享使用心得是希望能讓更多兩岸從事IC設計的工程師或使用Altera做研究的學生,在初次接觸這套軟體時,儘快熟悉。真正的know-how是無法寫成文件的,那是一種靈活運用的能力與其中內涵的創新特質,故我相信與其擔心分享技術經驗會樹立競爭對手,不如把心力放在持續不斷的前進。現在不是單打獨鬥或是強調英雄主義的時代,唯有以宏觀的視野與胸襟,才有機會創造更大的成就規模。