FPGA知識大梳理(一)對FPGA行業的一點感言

來源:互聯網
上載者:User

標籤:

  今天想開始把這FPGA行業的知識點做一個大整理,從個人感想,到文法,到器件基礎,痛點攻克,到項目應用。把自己這幾年接觸到的知識做一個全面的回顧,看看自己這幾年走過的路。

  人生無常,幾年的跌跌撞撞勉強算是在FPGA行業大門前。之前一直都是看別人的感言,逛別人的論壇筆記。或許自己應該有一個突破。

  我經常把工程師比喻成農民伯伯,相同之處有兩點,第一他們都是沉默寡言 老老實實的辛勤的工作者。第二,技術的世界像耕地一樣,你無法投機取巧,也沒有捷徑,所有的知識點都需要你腳踏實地的去開闢。你多努力一點就回報多一點,知道的就多一點,見效快。

  今天我就只想談談個人的看法,也是當年困擾我的問題。現在我覺得想通了,拿出來大家討論一下。

  問題一:FPGA會不會死

    當年徘徊了一段時間要不要學習FPGA的時候就在想這個問題,萬一這個行業被openCL這樣的軟體系統給替換掉了,那我不就悲劇了。

    現在我這麼看待的,FPGA行業分兩大知識點部分。1:程式設計語言。2,器件。行業會死就是這兩大部分被其他東西代替。我們分開討論

    1,程式設計語言

    FPGA 最常見的開發語言就是HDL ,敝人不才,沒有接觸過別的,類似systemC等等。所以單說HDL語言。

    最近幾年不管是altera還是xilinx都力推用C實現HDL開發,但是一直是進展不大。貌似並沒有出現顛覆性的成果,所以一直是噱頭和彼此搶風頭的階段(現在altera被intel收購)。有人就擔心(當年我也想過)HDL會不會被C 替換掉呢?只要有這麼一個編輯器,就可以了。我的答案是不會。原因要從程式設計語言特性說起。

    大家知道現在的程式設計語言發展也是相當快的,從原始的彙編,到C , java,c++ ,c#,html5......... 

    這裡有一個誤區,大家以為彙編被幹掉了,其實沒有,現在懂彙編的工程師是搶手貨。應用情境有兩個地方,一,小型mcu隨著智能家居興起,有些產品開發就是需要彙編。二,IC設計公司,像處理器mcu的開發,必須使用彙編進行指令測試,實現指令全覆蓋,這個是其他語言無法替代的。比彙編進階一點點的就是C語言,而C語言一直都是經典,語言發展到再進階都無法將C和彙編完全替換掉,為什麼呢?因為他們是面向過程的開發語言,就是寫出資料的處理過程,而java,c++,c#,html5...... 都是物件導向的程式設計語言,當然他們存在都是有各自的特性,可是編程的思維方式是類似的。

    說了這麼多,只想說出一句:HDL是一種硬體描述語言(HDL:Hardware Description Language)。C是面向過程的,根本無法完全相容。HDL一直是以硬體電路為設計思維導向,而不是資料流的思維導向。舉例,C語言要實現sin。就直接寫a=sinb。可是HDL要實現一個sin。那就是一個IP 。而HDL寫一個移位操作在硬體裡面很好理解也很好實現。用C 就要寫好幾行。語言沒有好壞之分,他們各有特色,所以想用C的思維模式來指導硬體電路的設計,這個路似乎太長了吧。

    說到這裡不得不提一門語言systemverilog。知道SV的人就知道SV遲早會替代HDL,其實也不叫替代,是更新。因為SV是融合了verilogHDL 以及C 再加上一些自己的拓展形成的語言,也就是說你學的verilog其實就是SV的一部分。現在的SV 主要用來做IC 驗證,形成了獨立的驗證方法學,這是SV 特性發展出來的。SV中融合的C 以及自己的其他特性主要是用來寫testbench的,也就是說在可綜合的代碼部分,還是由verilogHDL撐著。目前也不用急於學sv,因為不是做IC 驗證,用SV做項目有點殺雞用了宰牛刀一樣,當然,多瞭解一下更好。

    所以,HDL 會向SV升級,但是不會死。

 

  2,器件

  器件包括器件特性以及開發工具(QuartusII 以及xilinx為主)。

  器件,那就是工藝需要考慮的事情,我們只需要跟隨原廠就行。他們會告訴我們這種工藝下的器件特性和之前比有哪些不同,以及出現問題是工藝的影響還是設計的因素。至於工具,一個FPGA原廠想推廣自己的產品必然有相關的技術培訓,也就是最沒有技術含量但是新手看來最能忽悠的技能。最近國產FPGA勢頭很猛,沒有用過不發表看法。

  這些就是工作的時候,公司用誰的產品我們就用誰的器件和工具,這些是大同小異。

 

問題二:FPGA的市場與技術現狀

  說得好聽就是高處不勝寒 —— 高端解決方案,一般公司不用,那玩意兒貴啊。量產都是用ASIC,極少數有用FPGA的。門檻相對軟體要高一點,比IC門檻要低一點。

  當年我在學校的時候altera和xilinx都力推SOPC,就是在FPGA中嵌入原廠自己的CPU 。後來估計也是知道自己的CPU效能都太差了,所以現在又都力推SOC —— 既然自己的CPU 不行,那就用別人的 —— 嵌入硬核ARM。所以未來的發展就是軟體和硬體這種技術壁壘突破越來越多,學FPGA也要學ARM,軟硬兼施才行。SV軟體和硬體語言已經融合了(雖然目前看起來還是有些獨立的感覺),知識上當然也就要求我們攻城獅都要學習啊。

 

    囉囉嗦嗦如此之多了。感謝一路走來的親人和朋友,也感謝自己這顆堅強的心。

FPGA知識大梳理(一)對FPGA行業的一點感言

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.