新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > ASIC設計轉FPGA時需要注意的幾點

        ASIC設計轉FPGA時需要注意的幾點

        作者: 時間:2017-10-13 來源:網絡 收藏

        原型驗證和其他驗證方法是不同的,任何一種其他驗證方法都是ASIC驗證中的一個環節,而驗證卻是一個過程。由于與ASIC在結構、性能上各不相同,ASIC是基于標準單元庫,FPGA用的是廠商提供的宏單元模塊,因此首先要進行寄存器傳輸級(RTL)代碼的修改。然后進行FPGA器件映射,映射工具根據設置的約束條件對RTL代碼進行邏輯優化,并針對選定的FPGA器件的基本單元映射生成網表。接著進行布局布線,生成配置文件和時序報告等信息。當時序能滿足約束條件時,就可以利用配置文件進行下載。如果時序不能滿足約束,可通過軟件報告時序文件來確認關鍵路徑,進行時序優化。可以通過修改約束條件,或者修改RTL代碼來滿足要求。

        本文引用地址:http://www.104case.com/article/201710/365650.htm

        需要轉換的代碼

        存儲單元

        存儲單元是必須進行代碼轉換的,ASIC中的存儲單元通常用代工廠所提供的Memory Compiler來定制,它可以生成.gsp、.v等文件。.v文件只用來做功能仿真,通常不能綜合。而最后流片時,只需將標準提供給代工廠。如果直接將ASIC代碼中的存儲單元作為FPGA的輸入,通常綜合器是綜合不出來的,即使能綜合出來,也要花費很長時間,并且資源消耗多、性能不好。而FPGA廠商其實已經提供了經過驗證并優化的存儲單元。因此存儲單元要進行代碼轉換。

        時鐘單元

        數字電路中,時鐘是整個電路最重要、最特殊的信號。在ASIC中,用布局布線工具來放置時鐘樹,利用代工廠提供的PLL進行時鐘設計。FPGA中通常已經配置一定數量的PLL宏單元,并有針對時鐘優化的全局時鐘網絡,一般是經過FPGA的特定全局時鐘管腳進入FPGA內部,后經過全局時鐘BUF適配到全局時鐘網絡的,這樣的時鐘網絡可以保證相同的時鐘沿到達芯片內部每一個觸發器的延遲時間差異是可以忽略不計的。因此時鐘單元也是需要進行轉換的。

        增加流水

        由于實現結構上的不同,FPGA器件內部的單元延時遠大于ASIC的基本門單元延時。導致在同樣設計的情況下,ASIC可以滿足其時序,而FPGA有可能無法滿足。為了驗證的需要,修改ASIC代碼實現FPGA原型時,對ASIC實現的流水結構在FPGA實現時需要適當增加流水。比如在一個很長的組合邏輯路徑中加入寄存器。

        同步設計

        在FPGA設計中,同步設計是應該遵循的重要原則。異步設計容易導致電路處于亞穩態,產生毛刺。當從ASIC設計轉向FPGA設計時,應該進行仔細的同步。具體體現在主時鐘選取、功能模塊的統一復位、同步時序電路設計。在FPGA設計中要使用時鐘使能代替門控時鐘。在ASIC的設計中,為了減少功耗,使用門控時鐘(clock gaTIng),門控時鐘的結構如圖2所示。當寫有效時,數據才寫進存儲器,那么只有寫有效時,寄存器才會發生翻轉,這樣可以減少功耗。



        關鍵詞: FPGA

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 乌拉特前旗| 平顶山市| 朝阳区| 石柱| 嘉黎县| 富锦市| 岚皋县| 明溪县| 安龙县| 榕江县| 托克逊县| 繁峙县| 黎川县| 霍山县| 东至县| 运城市| 乌兰浩特市| 东乌| 巴塘县| 田林县| 顺平县| 什邡市| 莒南县| 高碑店市| 丹寨县| 海阳市| 广宗县| 紫金县| 灵寿县| 金堂县| 辽阳县| 远安县| 元朗区| 辽宁省| 安阳市| 桃源县| 陕西省| 绥德县| 长武县| 玛沁县| 静宁县|