91精品人妻系列动画无码 - 国产精品夜间视频香蕉 - 91丝袜人妻一区二区三区 - 久久伊伊香蕉精品网站

信盈達(dá)—您身邊的嵌入式&人工智能專家
全國(guó)免費(fèi)咨詢熱線:400-8788-909

FPGA設(shè)計(jì)的8大重要知識(shí)點(diǎn),你都get了嗎

時(shí)間:2020-09-07 16:29:23 來源:信盈達(dá) 作者:信盈達(dá)

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

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

速度指設(shè)計(jì)在芯片上穩(wěn)定運(yùn)行所能達(dá)到的最高頻率,這個(gè)頻率由設(shè)計(jì)的時(shí)序狀況來決定,以及設(shè)計(jì)滿足的時(shí)鐘要求:PAD to PAD time 、Clock Setup Time、Clock Hold Time、Clock-to-Output Delay等眾多時(shí)序特征量密切相關(guān)。

面積和速度這兩個(gè)指標(biāo)貫穿FPGA/CPLD設(shè)計(jì)的時(shí)鐘,是設(shè)計(jì)質(zhì)量的評(píng)價(jià)的終極標(biāo)準(zhǔn) —— 面積和速度是一對(duì)對(duì)立統(tǒng)一的矛盾體。

要求一個(gè)同時(shí)具備設(shè)計(jì)面積最小、運(yùn)行頻率最高是不現(xiàn)實(shí)的。更科學(xué)的設(shè)計(jì)目標(biāo)應(yīng)該是在滿足設(shè)計(jì)時(shí)序要求(包括對(duì)設(shè)計(jì)頻率的要求)的前提下,占用最小的芯片面積?;蛘咴谒?guī)定的面積下,是設(shè)計(jì)的時(shí)序余量更大、頻率跑的更高。這兩種目標(biāo)充分體現(xiàn)了面積和速度的平衡的思想。  

2. 硬件原則

硬件原則主要針對(duì)HDL代碼編寫而言:Verilog是采用了C語(yǔ)言形式的硬件的抽象,它的本質(zhì)作用在于描述硬件,它的最終實(shí)現(xiàn)結(jié)果是芯片內(nèi)部的實(shí)際電路。所以評(píng)判一段HDL代碼的優(yōu)劣的最終標(biāo)準(zhǔn)是:其描述并實(shí)現(xiàn)的硬件電路的性能,包括面積和速度兩個(gè)方面。

初學(xué)者片面追求代碼的整潔、簡(jiǎn)短,是錯(cuò)誤的,是與HDL的標(biāo)準(zhǔn)背道而馳的。正確的編碼方法,首先要做到對(duì)所需實(shí)現(xiàn)的硬件電路胸有成竹,對(duì)該部分的硬件的結(jié)構(gòu)和連接十分清晰,然后再用適當(dāng)?shù)腍DL語(yǔ)句表達(dá)出來即可。

3. 系統(tǒng)原則

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

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

一般的FPGA系統(tǒng)規(guī)劃的簡(jiǎn)化流程

 

4. 同步設(shè)計(jì)原則

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

同步時(shí)序電路的核心邏輯用各種各樣的觸發(fā)器實(shí)現(xiàn),電路的主要信號(hào)、輸出信號(hào)都是由某個(gè)時(shí)鐘沿驅(qū)動(dòng)觸發(fā)器產(chǎn)生出來的。同步時(shí)序電路可以很好的避免毛刺,布局布線后仿真,和用邏輯分析儀采樣實(shí)際工作信號(hào)都沒有毛刺。  

5. 乒乓操作

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

 

6. 串并轉(zhuǎn)換設(shè)計(jì)技巧

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

7. 流水線操作設(shè)計(jì)思想

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

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

8. 數(shù)據(jù)接口的同步方法

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

還有一些工程師為了有穩(wěn)定的采樣,生成了很多相差 90 度的時(shí)鐘信號(hào),時(shí)而用正沿打一下數(shù)據(jù),時(shí)而用負(fù)沿打一下數(shù)據(jù),用以調(diào)整數(shù)據(jù)的采樣位置。這兩種做法都十分不可取,因?yàn)橐坏┬酒聯(lián)Q代或者移植到其它芯片 組的芯片上,采樣實(shí)現(xiàn)必須重新設(shè)計(jì)。而且,這兩種做法造成電路實(shí)現(xiàn)的余量不夠,一旦外界條件變換 ( 比如溫度升高 ) ,采樣時(shí)序就有可能完全紊亂,造成電路癱瘓。

想轉(zhuǎn)行互聯(lián)網(wǎng),卻又不知道如何選擇,一直很迷茫、躊躇,現(xiàn)在不必再擔(dān)憂,26門熱門互聯(lián)網(wǎng)技術(shù)免費(fèi)試聽5天,你可以先試聽,再?zèng)Q定!

前往信盈達(dá)官網(wǎng),咨詢課程、學(xué)習(xí)、就業(yè)、薪資等相關(guān)問題。