daniel asked in 科學工程學 · 10 years ago

該如何選擇FPGA

上頭禿然要用FPGA來當作驗證的工具~

但是我完全沒有使用過FPGA~ 一點概念都沒有~

只知道目前較大的廠商為Xilinx/Altera/Actel~

有人可以幫忙說明一下這三家FPGA的差異嗎?

還有開發工具, 軟體, ...等

另外~ FPGA的開發流程為何?

該如何選擇適合的FPGA, 有哪些規格需要注意的?

( 代理商的資源也要考慮在裡面嗎? 他們會有人協助我使用FPGA嗎 )

FPGA, 一定要會哪些東西, 才可以使用?

Update:

感謝sieg大大, 說明的很仔細~

1. 容量的部分, 我根本不清楚電路會使用到多少logic cell, 我要如何去判斷呢?

2. 接觸FPGA的事前準備工作, 是不是要先加強數位邏輯, 以及學習 verilog / VHDL ...等硬體描述語言?

3 Answers

Rating
  • 10 years ago
    Favorite Answer

    FPGA目前較有名且老字號的廠商有Xilinx, Altera, Actel (2010年被收購), Lattice, 還有幾家新創的公司.

    以市佔率來看, Xilinx 及Altera這兩家主宰了整個FPGA市場, Actel, Lattice的產品主要靠特殊應用場合來求生存.

    所以在高容量的FPGA, 大概你只能往Xilinx及Altera這兩家去找, Actel 的產品容量較低. 但是Xilinx, Altera的內部組態暫存器是用SRAM based的技術, 在stand-alone時會需要額外的programming solution (可能是PROM, NOR flash,...這一堆solution的其中一個), Actel的FPGA是用flash based技術作組態暫存器, 所以少這個東東. PCB板會比較省事. Actel在防幅射的應用也是它自己較獨到的技術, 不過這部份Xilinx也有開始在開發了.

    在挑選FPGA時, Xilinx 及Altera兩家幾乎都有對應的產品, 若沒特別因素的話, 個人覺得選那家都沒差. 他們都作的到驗證的功能, 差別會出現在使用的手感, 奇檬子爽度的問題, 畢竟玩工程的人大都有組夢幻機的夢想, 希望用最新最快最貴的chip...

    但還是有些公認的, 一般認為Altera的發展工具Quartus II比較友善容易用又快, 但是大多數人會選Xilinx的發展板, 可能是因為在跟同一圈子往來時, 看到大家都用Xilinx的就一窩蜂用Xilinx的, 博個專業的映像吧 (笑). 我是兩家都有用過,也都開過課,就我的體認來說, 是在些feature會有差異, 但是若是基礎用戶來說, 是感覺不到他們的差別的.

    [挑選一]

    重點是, 看你要驗證的電路大小, 你要選一顆"容量" (or gate count, 現在都是改算logic cell數目)夠大, 能放的下你整個設計, 有時還要能放一些debug用的電路, debug用的電路可能是你自己寫的data logger, 也有可能直接用FPGA廠提供的debug core (如Xilinx的ChipScope Pro, 或Altera的SignalTap2), 所以若你所要驗證的電路, 要吃掉 N 個 Logic cell, 那建議你"至少" 要挑一棵1.5N 到 2N 數量 Logic cell 的 FPGA來用, 會比較妥當 (usage ratio太高時, P&R會不好繞, 可能會繞不出, 或timing會很差, 所以要多留些空間)

    [挑選二]

    除了要考慮設計容量外, 另一個要留意的是FPGA IO pin數目的問題, 在你的設計中, 要拉出幾根線到外面來, 這是一定要滿足的, 當然腳越多對使用者越方便, 但是IO pin腳數目多的FPGA, 價格的跳動可能會讓你吃一驚. 要是買的是FPGA晶片, 最好是沿著不同pin數跟不同容量這兩個維度去要報價, 比較妥當.

    [挑選三]

    在FPGA的型號上, 有一個speed grade, 那你是否有必要挑最快的呢? 這看你的應用有沒需要那樣快. FPGA技術實際上是站在數位電路的最前端, 這一點可能很少人體會到. 以半導體製程來說, 最先進的28nm, 22nm都是誰在下線? 其中一大部份就是由FPGA來貢獻, 支撐起整個先進製程的開發. 所以FPGA上的io pad等級都相當高, FPGA晶片上一般的IO pad都能跑到200M Hz以上, 這已經對大多數應用綽綽有餘了, 而跑高速串列的收發器更能跑到Giga bit/sec, 主要的問題是, 你用不用的到, 跟你PCB設計的signal integrity有沒作好.

    (字數好少喔)

    2011-05-09 15:44:02 補充:

    在使用FPGA驗設設計時, 要看你要驗證到什麼程度, 若是說你要驗證到application整個情境都顯示出來, 那可能得找有提供對應的周邊 (mp3 player的應用會需要audio codec, 數位像框會需要panel的周邊)的發展板, 這些發展板的取得, 有可能是你們自行開發, 或是直接買現成的 (市面上有一大堆賣FPGA發展板的, 給你一家Avnet公司當入門的, 他們家的板子也夠好用了), 發展板FPGA公司有自己開發的, 也有其協力廠商幫它們開發的, 一般來說, 協力廠的發展板提供的資源跟服務是比較好.

    2011-05-09 15:46:08 補充:

    ㄚ, 後面寫的貼不上, 緣盡於此, 881...

    2011-05-09 15:53:43 補充:

    http://tw.knowledge.yahoo.com/question/article?qid...

    剩下的貼在 發表文章 "該如何選擇FPGA part 2."

    2011-05-10 20:39:45 補充:

    假如你有VLSI跟verilog/vhdl的底子, 那學FPGA入手很快. 自己學難不難, 這很難回答ㄟ, 我自己是覺得不難 (遠目...

    至於怎樣知道logic cell數, 可以先下載試用版的發展軟體, 先設定其中一棵FPGA,然後將貴公司的電路verilog code或vhdl code餵進去合成, 有過的話會有report,其中有一個usage ratio資源使用率的地方會告訴你用了多少logic cell

    作數位電路設計邏設verilog跟vhdl應該是最基本的說 orz...

    2011-05-13 11:25:20 補充:

    很抱歉, 我並沒持續看知識+的習慣

    簡短說, 假如你對自修較沒把握的話, 去參加課程最好要有實作, 要是沒板子讓你下載電路的話,個人覺得那些錢就花的有點冤了.

    ModelSim是一個專門用來跑simulation的工具程式, 在整個FPGA的設計流程中,為了確保設計在進下一階段前的設計是正確的, 會跑simulation.這是因為越往後面的設計階段會越花時間, 所以若是設計有問題的話, 會希望在前面的階段先找出來, 這一點是就生產效率來講的.業界都有time to market的壓力,所以熟知simulation也是很重要的,除非一種人,我們說他不是人,東西寫一次就all meeting

    2011-05-13 11:31:19 補充:

    字數很少ㄚ...

    對那種非人類來說,simulation就是白費功夫啦.

    Altimu Design是用來作PCB layout,作電路板的,這套我沒實際操作過,但是這類工具會強調FPGA特色時,是指作PCB layout時能幫助FPGA的pin assignment作協調,讓畫layout時線較不會拐到腳,若是你看到的資料說它能作FPGA程式開發,那一定也要同時裝了ISE/Quartus II等FPGA開發軟體, Verilog/VHDL是避不掉的.

    Source(s): 我...代表我自己 (看布袋戲看到頭壞去了), 路過剛好一時興起亂寫一通咕嚕咕嚕
  • 10 years ago

    http://www.s2cinc.com/

    給你參考。

  • 10 years ago

    請問是不是一定要有人帶才有辦法學習~ 如果自己學的話,會很困難嗎?

    2011-05-11 09:52:29 補充:

    以前學校是讀電子的,有修過數位邏輯的課程,但是已經畢業很久了,加上之前工作也不需要這方面的知識,應該說都已經還給老師了

    Verilog / VHDL完全沒學過,之前工作上跟程式有關的,只有用組合語言在寫MCU(但是都只是小東西,規模不大)

    像我這樣的狀況,最快的入門方式,是不是就只有你提到的,去上一些職訓單位開的課程會比較好一點.

    我想~我目前的方向應該是:

    1. 加強數位邏輯的熟悉程度

    2. 學習Verilog硬體描述語言

    3. 去上職訓單位開的課程 ( 選擇有實作的課程, 先了解FPGA使用的流程, 及相關的週邊軟體)

    請大大給點學習上的建議~ 謝謝

    2011-05-11 10:56:37 補充:

    剛剛發現, 除了各公司自己的開發工具外, 還查詢到modelsim這個軟體.

    請問一下, 這個軟體是要做什麼的? 目的何在?

    2011-05-11 11:46:23 補充:

    網路上有查到一套軟體"Altium Designer" (原本是Protel), 是光映科技代理的.

    這個好像是以電路的方式, (經過合成後)來實現FPGA的驗證,

    也就是說, 我不需要重新學習Verilog / VHDL的硬體描述語言, 而是直接畫上我的電路即可. (如果我沒有誤解的話, 應該是這樣子)

    這樣是否可以大幅縮減我的學習以及開發的時間?

    不知大大有何看法~

Still have questions? Get your answers by asking now.