在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

FPGA的8大技術要點,點進來看看?

電子設計 ? 來源:電子設計 ? 作者:電子設計 ? 2020-10-30 12:16 ? 次閱讀

1. 面積與速度的平衡與互換

這里的面積指一個設計消耗 FPGA/CPLD 的邏輯資源的數量,對于 FPGA 可以用消耗的 FF(觸發器)和 LUT(查找表)來衡量,更一般的衡量方式可以用設計所占的等價邏輯門數。

速度指設計在芯片上穩定運行所能達到的最高頻率,這個頻率由設計的時序狀況來決定,以及設計滿足的時鐘要求:PAD to PAD time 、Clock Setup Time、Clock Hold Time、Clock-to-Output Delay 等眾多時序特征量密切相關。

面積和速度這兩個指標貫穿 FPGA/CPLD 設計的時鐘,是設計質量的評價的終極標準 ——面積和速度是一對對立統一的矛盾體。

要求一個同時具備設計面積最小、運行頻率最高是不現實的。更科學的設計目標應該是在滿足設計時序要求(包括對設計頻率的要求)的前提下,占用最小的芯片面積。或者在所規定的面積下,是設計的時序余量更大、頻率跑的更高。這兩種目標充分體現了面積和速度的平衡的思想。

作為矛盾的兩個組成部分,面積和速度的地位是不一樣的。相比之下,滿足時序、工作頻率的要求更重要一些,當兩者沖突時,采用速度優先的準則。

從理論上講,如果一個設計時序余量較大,所能跑的速度遠遠高于設計要求,那么就通過功能模塊的復用來減少整個設計消耗的芯片面積,這就是用速度的優勢換取面積的節約。反之,如果一個設計的時序要求很高,普通方法達不到設計頻率,那么一般可以通過將數據流串并轉換,并行復制多個操作模塊,對整個設計采取乒乓操作和串并轉換的思想運行。

2.硬件原則

硬件原則主要針對 HDL 代碼編寫而言:Verilog 是采用了 C 語言形式的硬件的抽象,它的本質作用在于描述硬件,它的最終實現結果是芯片內部的實際電路。所以評判一段 HDL 代碼的優劣的最終標準是:其描述并實現的硬件電路的性能,包括面積和速度兩個方面。

評價一個設計的代碼水平較高,僅僅是說這個設計是由硬件想 HDL 代碼這種表現形式的轉換更加流暢、合理。而一個設計最終性能,在更大程度上取決于設計工程師所構想的硬件實現方案的效率以及合理性。(HDL 代碼僅僅是硬件設計的表達形式之一)

初學者片面追求代碼的整潔、簡短,是錯誤的,是與 HDL 的標準背道而馳的。正確的編碼方法,首先要做到對所需實現的硬件電路胸有成竹,對該部分的硬件的結構和連接十分清晰,然后再用適當的 HDL 語句表達出來即可。

另外,Verilog 作為一種 HDL 語言,是分層次的。系統級 -- 算法級 -- 寄存器傳輸級 -- 邏輯級 -- 門級 -- 開關級。構建優先級樹會消耗大量的組合邏輯,所以如果能夠使用 case 的地方,盡量使用 case 代替 if.....else......

3. 系統原則

系統原則包含兩個層次的含義:更高層面上看,是一個硬件系統,一塊單板如何進行模塊花費和任務分配,什么樣的算法和功能適合放在 FPGA 里面實現,什么樣的算法和功能適合放在 DSP/CPU 里面實現,以及 FPGA 的規模估算數據接口設計等。具體到 FPGA 設計就要對設計的全局有個宏觀上的合理安排,比如時鐘域、模塊復用、約束、面積、速度等問題,在系統上模塊的優化最為重要。

一般來說實時性要求高,頻率快的功能模塊適合 FPGA 實現。而 FPGA 和 CPLD 相比,更適合實現規模較大、頻率較高、寄存器較多的設計。使用 FPGA/CPLD 設計時,應該對芯片內部的各種底層硬件資源,和可用的設計資源有一個較深刻的認識。

比如 FPGA 一般觸發器資源豐富,CPLD 的組合邏輯資源更加豐富。FPGA/CPLD 一般是由底層可編程硬件單元、BRAM、布線資源、可配置 IO 單元、時鐘資源等構成。

底層可編程硬件單元一般由觸發器和查找表組成。Xilinx 的底層可編程硬件資源較 SLICE,由兩個 FF 和 2 個 LUT 構成。Altera 的底層硬件資源叫 LE,由 1 個 FF 和 1 個 LUT 構成。使用片內 RAN 可以實現單口 RAM、雙口 RAM、同步 / 異步 FIFO、ROM、CAM 等常用單元模塊。

一般的 FPGA 系統規劃的簡化流程

4. 同步設計原則

異步電路的邏輯核心是用組合邏輯電路實現,比如異步的 FIFO/RAM 讀寫信號,地址譯碼等電路。電路的主要信號、輸出信號等并不依賴于任何一個時鐘性信號,不是由時鐘信號驅動 FF 產生的。異步時序電路的最大缺點是容易產生毛刺,在布局布線后仿真和用邏輯分析儀觀測實際信號時,這種毛刺尤其明顯。

同步時序電路的核心邏輯用各種各樣的觸發器實現,電路的主要信號、輸出信號都是由某個時鐘沿驅動觸發器產生出來的。同步時序電路可以很好的避免毛刺,布局布線后仿真,和用邏輯分析儀采樣實際工作信號都沒有毛刺。

是否時序電路一定比異步電路使用更多的資源呢?從單純的 ASCI 設計來看,大約需要 7 個門來實現一個 D 觸發器,而一個門即可實現一個 2 輸入與非門,所以一般來說,同步時序電路比異步電路占用更大的面積。(FPGA/CPLD 中不同,主要是因為單元塊的計算方式)

如何實現同步時序電路的延時?異步電路產生延時的一般方法是插入一個 Buffer、兩級與非門等,這種延時調整手段是不適用同步時序設計思想的。首先要明確一點 HDL 語法中的延時控制語法,是行為級的代碼描述,常用于仿真測試激勵,但是在電路綜合是會被忽略,并不能啟動延時作用。

同步時序電路的延時一般是通過時序控制完成的,換句話說,同步時序電路的延時被當做一個電路邏輯來設計。對于比較大的和特殊定時要求的延時,一般用高速時鐘產生一個計數器,通過計數器的計數控制延遲;對于比較小的延時,可以用 D 觸發器打一下,這種做法不僅僅使信號延時了一個時鐘周期,而且完成了信號與時鐘的初次同步,在輸入信號采樣和增加時序約束余量中使用。

同步時序電路的時鐘如何產生?時鐘的質量和穩定性直接決定著同步時序電路的性能。輸入信號的同步時序電路要求對輸入信號進行同步化,如果輸入數據的節拍和本級芯片的處理時鐘同頻,并且建立保持時間匹配,可以直接用本級芯片的主時鐘對輸入數據寄存器采樣,完成輸入數據的同步化。如果輸入數據和本級芯片的處理時鐘是異步的,特別是頻率不匹配的時候,則要用處理時鐘對輸入數據做兩次寄存器采樣,才能完成輸入數據的同步化。

是不是定義為 Reg 型,就一定綜合成寄存器,并且是同步時序電路呢?答案的否定的。Verilog 中最常用的兩種數據類型 Wire 和 Reg,一般來說,Wire 型指定書數據和網線通過組合邏輯實現,而 reg 型指定的數據不一定就是用寄存器實現。

5. 乒乓操作

“ 乒乓操作 ” 是一個常常應用于數據流控制的處理技巧,乒乓操作的處理流程為:輸入數據流通過 “ 輸入數據選擇單元 ” 將數據流等時分配到兩個數據緩沖區,數據緩沖模塊可以為任何存儲模塊,比較常用的存儲單元為雙口 RAM(DPRAM) 、單口 RAM(SPRAM) 、 FIFO 等。

在第一個緩沖周期,將輸入的數據流緩存到 “ 數據緩沖模塊 1” ;在第 2 個緩沖周期,通過 “ 輸入數據選擇單元 ” 的切換,將輸入的數據流緩存到 “ 數據緩沖模塊 2” ,同時將 “ 數據緩沖模塊 1” 緩存的第 1 個周期數據通過 “ 輸入數據選擇單元 ” 的選擇,送到 “ 數據流運算處理模塊 ” 進行運算處理;在第 3 個緩沖周期通過 “ 輸入數據選擇單元 ” 的再次切換,將輸入的數據流緩存到 “ 數據緩沖模塊 1” ,同時將 “ 數據緩沖模塊 2” 緩存的第 2 個周期的數據通過 “ 輸入數據選擇單元 ” 切換,送到 “ 數據流運算處理模塊 ” 進行運算處理。如此循環。

典型的乒乓操作方法

乒乓操作的最大特點是,通過輸入數據選擇單元和輸出數據選擇單元、進行運算和處理。把乒乓操作模塊當成一個整體,站在兩端看數據,輸入數據和輸出數據流都是連續不斷的,沒有任何停頓,因此非常適合對數據流進行流水線式處理。所以乒乓操作常常應用于流水線式算法,完成數據的無縫緩沖和處理。

乒乓操作的第二個優點是可以節約緩沖區空間。比如在 WCDMA 基帶應用中,1 幀是由 15 個時隙組成的,有時需要將 1 整幀的數據延時一個時隙后處理,比較直接的方法就是將這幀數據緩存起來,然后延時一個時隙,進行處理。這時緩沖區的長度為 1 幀的數據長,假設數據速率是 3.84Mb/s,1 幀 10ms,此時需要緩沖區的長度是 38400bit,如果采用乒乓操作,只需定義兩個緩沖 1 時隙的數據 RAM,當向一個 RAM 寫數據時,從另一塊 RAM 讀數據,然后送到處理單元處理,此時每塊 RAM 的容量僅需 2560bit,2 塊加起來 5120bit 的容量。

乒乓操作用低速模塊處理高速數據流

另外,巧妙運用乒乓操作還可以達到用低速模塊處理高速數據流的效果。數據緩沖模塊采用了雙口 RAM ,并在 DPRAM 后引入了一級數據預處理模塊,這個數據預處理可以根據需要的各種數據運算,比如在 WCDMA 設計中,對輸入數據流的解擴、解擾、去旋轉等。假設端口 A 的輸入數據流的速率為 100Mbps ,乒乓操作的緩沖周期是 10ms 。

6. 串并轉換設計技巧

串并轉換是 FPGA 設計的一個重要技巧,它是數據流處理的常用手段,也是面積與速度互換思想的直接體現。串并轉換的實現方法多種多樣,根據數據的排序和數量的要求,可以選用寄存器、 RAM 等實現。

前面在乒乓操作中就是通過 DPRAM 實現了數據流的串并轉換,而且由于使用了 DPRAM ,數據的緩沖區可以開得很大,對于數量比較小的設計可以采用寄存器完成串并轉換。如無特殊需求,應該用同步時序設計完成串并之間的轉換。比如數據從串行到并行,數據排列順序是高位在前,可以用下面的編碼實現:prl_temp<={prl_temp,srl_in}。

其中, prl_temp 是并行輸出緩存寄存器, srl_in 是串行數據輸入。對于排列順序有規定的串并轉換,可以用 case 語句判斷實現。對于復雜的串并轉換,還可以用狀態機實現。串并轉換的方法比較簡單,在此不必贅述。

7.流水線操作設計思想

首先需要聲明的是,這里所講述的流水線是指一種處理流程和順序操作的設計思想,并非 FPGA 、 ASIC 設計中優化時序所用的 “Pipelining” 。

流水線處理是高速設計中的一個常用設計手段。如果某個設計的處理流程分為若干步驟,而且整個數據處理是 “ 單流向 ” 的,即沒有反饋或者迭代運算,前一個步驟的輸出是下一個步驟的輸入,則可以考慮采用流水線設計方法來提高系統的工作頻率。

流水線設計的結構

流水線設計的基本結構為:將適當劃分的 n 個操作步驟單流向串聯起來。流水線操作的最大特點和要求是,數據流在各個步驟的處理從時間上看是連續的,如果將每個操作步驟簡化假設為通過一個 D 觸發器 ( 就是用寄存器打一個節拍 ) ,那么流水線操作就類似一個移位寄存器組,數據流依次流經 D 觸發器,完成每個步驟的操作。

流水線設計時序

流水線設計的一個關鍵在于整個設計時序的合理安排,要求每個操作步驟的劃分合理。如果前級操作時間恰好等于后級的操作時間,設計最為簡單,前級的輸出直接匯入后級的輸入即可;如果前級操作時間大于后級的操作時間,則需要對前級的輸出數據適當緩存才能匯入到后級輸入端;如果前級操作時間恰好小于后級的操作時間,則必須通過復制邏輯,將數據流分流,或者在前級對數據采用存儲、后處理方式,否則會造成后級數據溢出。

在 WCDMA 設計中經常使用到流水線處理的方法,如 RAKE 接收機、搜索器、前導捕獲等。流水線處理方式之所以頻率較高,是因為復制了處理模塊,它是面積換取速度思想的又一種具體體現。

8. 數據接口的同步方法

數據接口的同步是 FPGA/CPLD 設計的一個常見問題,也是一個重點和難點,很多設計不穩定都是源于數據接口的同步有問題。在電路圖設計階段,一些工程師手工加入 BUFT 或者非門調整數據延遲,從而保證本級模塊的時鐘對上級模塊數據的建立、保持時間要求。

還有一些工程師為了有穩定的采樣,生成了很多相差 90 度的時鐘信號,時而用正沿打一下數據,時而用負沿打一下數據,用以調整數據的采樣位置。這兩種做法都十分不可取,因為一旦芯片更新換代或者移植到其它芯片 組的芯片上,采樣實現必須重新設計。而且,這兩種做法造成電路實現的余量不夠,一旦外界條件變換 ( 比如溫度升高 ) ,采樣時序就有可能完全紊亂,造成電路癱瘓。

輸入、輸出的延時 ( 芯片間、 PCB 布線、一些驅動接口元件的延時等 ) 不可測,或者有可能變動的條件下,如何完成數據同步?對于數據的延遲不可測或變動,就需要建立同步機制,可以用一個同步使能或同步指示信號。另外,使數據通過 RAM 或者 FIFO 的存取,也可以達到數據同步目的。

設計數據接口同步是否需要添加約束?建議最好添加適當的約束,特別是對于高速設計,一定要對周期、建立、保持時間等添加相應的約束。這里附加約束的作用有兩點:提高設計的工作頻率,滿足接口數據同步要求;獲得正確的時序分析報告。

審核編輯 黃昊宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1644

    文章

    21993

    瀏覽量

    615439
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    刀具模具全生命周期智能管理:深控免表網關實現“零配置”精準數據上報 ——3大制造企業實戰案例揭秘

    深控技術不需要點表的工業網關:無需表·上電即采·自動解析
    的頭像 發表于 06-04 09:27 ?121次閱讀

    FPGA從0到1學習資料集錦

    附開發指南+電路圖集+例程源碼 本文敘述概括了 FPGA 應用設計中的要點,包括,時鐘樹、FSM、latch、邏輯仿真四個部分。 FPGA 的用處比我們平時想象的用處更廣泛,原因在于其中集成的模塊
    發表于 05-13 15:41

    屏排線FPC設計要點

    屏排線FPC設計要點
    的頭像 發表于 04-30 18:41 ?170次閱讀
    屏排線FPC設計<b class='flag-5'>要點</b>

    100個節點測試藍牙Mesh?來看看效果

    100個節點測試藍牙Mesh? 看看效果如何? 本次測試使用了安信可的泰凌TB系列模組 主要的測試的點在于配網的大致速度 丟包率以及最長響應時間 01藍牙Mesh簡介 藍牙Mesh是一種先進
    的頭像 發表于 04-09 13:58 ?270次閱讀
    100個節點測試藍牙Mesh?<b class='flag-5'>來看看</b>效果

    深控技術——革新工業數據采集,告別繁瑣表配置

    深控技術“不需要點表的工業網關”通過智能協議識別技術,能夠自動適配多種工業設備協議(如Modbus、Profibus、Ethernet/IP等),無需人工逐項配置表。
    的頭像 發表于 03-04 09:58 ?245次閱讀
    深控<b class='flag-5'>技術</b>——革新工業數據采集,告別繁瑣<b class='flag-5'>點</b>表配置

    FPGA+AI王炸組合如何重塑未來世界:看看DeepSeek東方神秘力量如何預測......

    、關于FPGA的未來——“無限可能的未來世界” AI時代的FPGA未來前景如何?FPGA+AI如何重塑未來芯片生態? 看看大聰明DeepSeek如何預測
    發表于 03-03 11:21

    激光焊錫技術的優勢及要點

    在電子工業迅猛發展的當下,電子元件的焊接技術持續革新。激光焊錫技術憑借高效、精確等特性,成為電子制造領域的熱門選擇。其中,錫絲和錫膏作為常用焊接材料,各有千秋。本文將深入探討激光自動焊接的優勢,以及激光錫絲、錫膏焊接的控制要點
    的頭像 發表于 02-24 14:33 ?630次閱讀
    激光焊錫<b class='flag-5'>技術</b>的優勢及<b class='flag-5'>要點</b>

    不需要點表的邊緣網關對網方案:實現設備遠程監控與維護,PLC程序的便捷異地下載與更新,以及數據的實

    您是否正在為設備異地運維而煩惱?是否希望實現PLC程序的異地快速下載與更新?是否渴望實現異地數據的高效共享與同步?或是正在尋找穩定可靠的異地組網方案? 我們的不需要點表的邊緣網關對網方案,正是為
    的頭像 發表于 12-03 10:20 ?496次閱讀
    不需<b class='flag-5'>要點</b>表的邊緣網關<b class='flag-5'>點</b>對網方案:實現設備遠程監控與維護,PLC程序的便捷異地下載與更新,以及數據的實

    基于深控技術 “不需要點表的邊緣計算網關” 的物聯網解決方案

    深控技術研發的 “不需要點表的邊緣計算網關” 物聯網解決方案憑借其無需表配置、強大的邊緣計算能力、高度安全可靠以及廣泛的設備兼容性等優勢,能夠在多個行業的物聯網應用場景中發揮重要作用,幫助企業高效實現物聯網項目的部署與運營,提
    的頭像 發表于 11-15 11:51 ?550次閱讀
    基于深控<b class='flag-5'>技術</b> “不需<b class='flag-5'>要點</b>表的邊緣計算網關” 的物聯網解決方案

    深控技術 “不需要點表的工業網關” 在機械加工中的解決方案及實施案例

    設備之間的數據采集、傳輸與協同工作變得愈發重要。深控技術研發的 “不需要點表的工業網關” 為機械加工企業提供了一種創新的解決方案,有效解決了傳統工業網關在使用過程中面臨的諸多痛,極大地提升了生產效率和管理效能。
    的頭像 發表于 11-07 10:25 ?518次閱讀
    深控<b class='flag-5'>技術</b> “不需<b class='flag-5'>要點</b>表的工業網關” 在機械加工中的解決方案及實施案例

    iLight混合光源 激光與LED技術的結合

    51camera機器視覺產品資料查詢平臺的光源種類比較豐富,今天我們一起來看看其合作廠商iCore的明星產品iLight混合光源,該產品提供了比LED更高的亮度,作為傳統LED和氙氣燈的替代品
    的頭像 發表于 08-10 08:35 ?1278次閱讀
    iLight混合<b class='flag-5'>點</b>光源  激光與LED<b class='flag-5'>技術</b>的結合

    LED顯示屏各大組成部件及安裝要點

    LED顯示屏主要的組成部件是:單元板、電源、控制卡、連線單元板背面、單元板正面、開關電源和LED條屏控制卡。下面我們分別來看看各個組成部分及其安裝要點:1... LED顯示屏主要的組成部件是:單元板
    的頭像 發表于 07-29 09:33 ?1210次閱讀

    大咖解析:LED顯示屏各大組成部件及安裝要點

    LED顯示屏主要的組成部件是:單元板、電源、控制卡、連線單元板背面、單元板正面、開關電源和LED條屏控制卡。下面我們分別來看看各個組成部分及其安裝要點:1... LED顯示屏主要的組成部件是:單元板
    的頭像 發表于 07-19 08:38 ?2153次閱讀

    基于FPGA的CCD工業相機系統設計

    基于FPGA的CCD工業相機系統設計是一個綜合性的項目,它結合了硬件電路設計、FPGA編程以及圖像處理技術。以下是一個詳細的系統設計方案,包括設計概述、硬件架構、FPGA編程
    的頭像 發表于 07-17 11:24 ?2040次閱讀

    FPGA的學習筆記---FPGA的開發流程

    與通常的單片機應用開發不同,FPGA有自己的開發流程。但具體上怎樣操作,作為初學者,沒有一經驗。網站獎勵的清華FPGA需要的開發軟件,到目前還沒有安裝成功。暫且先看看相關學習,慢慢積
    發表于 06-23 14:47
    主站蜘蛛池模板: 狠狠色噜噜狠狠狠狠米奇777 | 国产在线一区视频 | 日干夜干天天干 | 户外露出 自拍系列 | 精品国产污污免费网站入口 | 老湿影院免费体验区 | 91日韩精品天海翼在线观看 | 91九色在线视频 | 免费网站日本 | 福利午夜 | 成片一卡三卡四卡免费网站 | 免费看啪啪网站 | 人人搞人人搞 | 精品国产理论在线观看不卡 | 国内精品手机在线观看视频 | 亚洲最大成人 | 婷婷97狠狠的狠狠的爱 | 天堂资源| 小说区v天堂网 | 日韩亚洲人成在线综合 | 色婷婷亚洲十月十月色天 | 亚洲综合久久久久久888 | 兔费看全黄三级 | 天天色姑娘 | 视频一区亚洲 | 在线视频综合网 | 二级黄绝大片中国免费视频0 | 一区二区不卡免费视频 | 日本欧洲亚洲一区在线观看 | 婷婷五月情 | 欧美性极品高清 | 666精品国产精品亚洲 | 97久久伊人精品影院 | 国产性老妇女做爰在线 | 在线亚洲日产一区二区 | 国产在线视频欧美亚综合 | 亚洲成a人片在线观看88 | 免费看欧美一级片 | 日本亚洲高清乱码中文在线观看 | 亚洲三级黄 | 俺来也婷婷 |