新聞中心

        EEPW首頁 > 模擬技術 > 設計應用 > 概述學習FPGA的一些常見誤區

        概述學習FPGA的一些常見誤區

        作者: 時間:2013-09-28 來源:網絡 收藏

        1、不熟悉的內部結構,不了解可編程邏輯器件的基本原理。

          為什么是可以編程的?恐怕很多菜鳥不知道,他們也不想知道。因為他們覺得這是無關緊要的。他們潛意識的認為可編程嘛,肯定就是像寫軟件一樣啦。軟件編程的思想根深蒂固,看到Verilog或者VHDL就像看到C語言或者其它軟件編程語言一樣。一條條的讀,一條條的分析。如果這些菜鳥們始終拒絕去了解為什么 是可以編程的,不去了解FPGA的內部結構,要想學會FPGA恐怕是天方夜譚。雖然現在EDA軟件已經非常先進,像寫軟件那樣照貓畫虎 也能綜合出點東西,但也許只有天知道EDA軟件最后綜合出來的到底是什么。也許點個燈,跑個馬還行。這樣就是為什么很多菜鳥學了N久以后依然是一個菜鳥的原因。

          那么FPGA為什么是可以“編程”的呢?

          首先來了解一下什么叫 “程”。其實“程”只不過是一堆具有一定含義的01編碼而已。編程,其實就是編寫這些01編碼。只不過我們現在有了很多開發工具,通常都不是直接編寫這些 01編碼,而是以高級語言的形式來編寫,最后由開發工具轉換為這種01編碼而已。對于軟件編程而言,處理器會有一個專門的譯碼電路逐條把這些01編碼翻譯為各種控制信號,然后控制其內部的電路完成一個個的運算或者是其它操作。所以軟件是一條一條的讀,因為軟件的操作是一步一步完成的。而FPGA的可編程,本質也是依靠這些01編碼實現其功能的改變,但不同的是FPGA之所以可以完成不同的功能,不是依靠像軟件那樣將01編碼翻譯出來再去控制一個運算電路,FPGA里面沒有這些東西。

          FPGA內部主要三塊:可編程的邏輯單元、可編程的連線和可編程的IO模塊。

        FPGA內部主要三塊:可編程的邏輯單元、可編程的連線和可編程的IO模塊。

          可編程的邏輯單元是什么?其基本結構某種存儲器(SRAM、FLASH等)制成的4輸入或6輸入1輸出地“真值表”加上一個D觸發器構成。任何一個4輸入1輸出組合邏輯電路,都有一張對應的“真值表”,同樣的如果用這么一個存儲器制成的4輸入1輸出地“真值表”,只需要修改其“真值表” 內部值就可以等效出任意4輸入1輸出的組合邏輯。這些“真值表”內部值是什么?就是那些01編碼而已。如果要實現時序邏輯電路怎么辦?這不又D觸發器嘛, 任何的時序邏輯都可以轉換為組合邏輯+D觸發器來完成。但這畢竟只實現了4輸入1輸出的邏輯電路而已,通常邏輯電路的規模那是相當的大哦。那怎么辦呢?這個時候就需要用到可編程連線了。在這些連線上有很多用存儲器控制的鏈接點,通過改寫對應存儲器的值就可以確定哪些線是連上的而哪些線是斷開的。這就可以把很多可編程邏輯單元組合起來形成大型的邏輯電路。最后就是可編程的IO,這其實是FPGA作為芯片級使用必須要注意的。任何芯片都必然有輸入引腳和輸出引腳。有可編程的IO可以任意的定義某個非專用引腳(FPGA中有專門的非用戶可使用的測試、下載用引腳)為輸入還是輸出,還可以對IO的電平標準進行設置。

          總歸一句話,FPGA之所以可編程是因為可以通過特殊的01代碼制作成一張張“真值表”,并將這些“真值表”組合起來以實現大規模的邏輯功能。不了解FPGA內部結構,就不能明白最終代碼如何變到FPGA里面去的。也就無法深入的了解如何能夠充分運用FPGA。現在的FPGA,不單單是有前面講的那三塊,還有很多專用的硬件功能單元,如何利用好這些單元實現復雜的邏輯電路設計,是從菜鳥邁向高手的路上必須要克服的障礙。而這一切,還是必須先從了解 FPGA內部邏輯及其工作原理做起。

          2、錯誤理解HDL語言,怎么看都看不出硬件結構。

          HDL語言的英語全稱是:Hardware Description Language,注意這個單詞Description,而不是Design。老外為什么要用Description這個詞而不是Design呢?因為 HDL確實不是用用來設計硬件的,而僅僅是用來描述硬件的。

        FPGA

          描述這個詞精確地反映了HDL語言的本質,HDL語言不過是已知硬件電路的文本表現形式而已, 只是將以后的電路用文本的形式描述出來而已。而在編寫語言之前,硬件電路應該已經被設計出來了。語言只不過是將這種設計轉化為文字表達形式而已。但是很多人就不理解了,既然硬件都已經被設計出來了,直接拿去制作部就完了,為什么還要轉化為文字表達形式再通過EDA工具這些麻煩的流程呢?其實這就是很多菜鳥沒有了解設計的抽象層次的問題,任何設計包括什么服裝、機械、廣告設計都有一個抽象層次的問題。就拿廣告設計來說吧,最初的設計也許


        上一頁 1 2 3 下一頁

        關鍵詞: FPGA

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 宜兰县| 通山县| 皋兰县| 蒙阴县| 德兴市| 达拉特旗| 阜康市| 靖安县| 香格里拉县| 大冶市| 定日县| 山丹县| 仁布县| 肥乡县| 乌兰察布市| 太康县| 商水县| 修水县| 沭阳县| 芜湖市| 和林格尔县| 嵊州市| 秦皇岛市| 历史| 茂名市| 永嘉县| 江华| 南雄市| 徐州市| 临沧市| 长泰县| 温宿县| 潜山县| 绿春县| 乌兰浩特市| 若尔盖县| 霍林郭勒市| 新疆| 富顺县| 天气| 乌拉特后旗|