0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

FPGA速度-面積互換原則設(shè)計(jì)

HJ18656750788 ? 來(lái)源:Cascatrix ? 2023-06-09 09:36 ? 次閱讀

目錄/contents

● 速度-面積互換原則概述

● 設(shè)計(jì)思想1:乒乓操作

● 設(shè)計(jì)思想2:串/并轉(zhuǎn)換

● 設(shè)計(jì)思想3:流水線設(shè)計(jì)

● 設(shè)計(jì)思想4:邏輯復(fù)制與模塊復(fù)用

01速度-面積互換原則概述

速度-面積互換原則是貫穿FPGA設(shè)計(jì)的重要原則:速度是指工程穩(wěn)定運(yùn)行所能達(dá)到的最高時(shí)鐘頻率,通常決定了FPGA內(nèi)部寄存器的運(yùn)行時(shí)序;面積是指工程運(yùn)行所消耗的資源數(shù)量,通常包括觸發(fā)器(Flip-Flop)和查找表(Look Up Table)等資源。在FPGA設(shè)計(jì)過(guò)程中,速度的提高通常以面積擴(kuò)增為代價(jià),面積的縮減通常以速度的降低為代價(jià)。如何權(quán)衡二者的性能要求,在滿足時(shí)序(速度)要求的前提下盡可能節(jié)約邏輯資源(面積),是FPGA設(shè)計(jì)過(guò)程中需要考慮的重點(diǎn)。

例如,工程中占用一定的邏輯資源可以實(shí)現(xiàn)50Mbps的數(shù)據(jù)吞吐量,采用三倍的資源實(shí)現(xiàn)相應(yīng)的功能,通過(guò)并行處理則可以實(shí)現(xiàn)150Mbps的數(shù)據(jù)吞吐量,從而實(shí)現(xiàn)用面積換速度的操作。

1a486f92-05e7-11ee-962d-dac502259ad0.jpg

速度-面積互換原則的常用設(shè)計(jì)思想包括:乒乓操作、串/并轉(zhuǎn)換、流水線設(shè)計(jì)、邏輯復(fù)制與模塊復(fù)用。

02設(shè)計(jì)思想1:乒乓操作

乒乓操作是一種常用的犧牲面積換取速度設(shè)計(jì)思想,常用于圖像數(shù)據(jù)傳輸?shù)葦?shù)據(jù)量較大且實(shí)時(shí)性要求較高的場(chǎng)景。乒乓操作的具體流程為:分配輸入數(shù)據(jù)進(jìn)入多路緩存,常用緩存模塊包括RAM、FIFO等,隨后依次從多路緩存中輸出數(shù)據(jù),從而保證數(shù)據(jù)高速傳輸?shù)倪B續(xù)性。

1a56edce-05e7-11ee-962d-dac502259ad0.jpg

以上述圖中所示模塊為例:在第一個(gè)周期,輸入數(shù)據(jù)流Data in通過(guò)DEMUX分配緩存在BUFFER1模塊中;在第二個(gè)周期,輸入數(shù)據(jù)流Data in通過(guò)DEMUX分配緩存在BUFFER2模塊中,同時(shí),MUX將BUFFER1模塊中的緩存數(shù)據(jù)輸出到后續(xù)處理模塊;在第三個(gè)周期,輸入數(shù)據(jù)流Data in再次通過(guò)DEMUX分配緩存在BUFFER1模塊中,同時(shí),MUX將BUFFER2模塊中的緩存數(shù)據(jù)輸出到后續(xù)處理模塊...如此反復(fù)循環(huán)切換,通過(guò)乒乓操作完成數(shù)據(jù)的緩沖與傳輸,保證數(shù)據(jù)流無(wú)停頓地持續(xù)傳輸。

乒乓操作經(jīng)常應(yīng)用于外部接口傳輸以圖像數(shù)據(jù)為代表的按幀劃分的數(shù)據(jù)。在圖像數(shù)據(jù)傳輸過(guò)程中,當(dāng)前幀存入緩存BUFFER1的同時(shí),顯示器用于顯示BUFFER2的圖像數(shù)據(jù)幀;下一幀存入BUFFER2的同時(shí),顯示器用于顯示BUFFER1的圖像數(shù)據(jù)幀。乒乓操作保證顯示器瞬間完成圖像的切換,提高圖像數(shù)據(jù)傳輸?shù)男屎头€(wěn)定性,特別是在通信環(huán)境較差的情況下。

03設(shè)計(jì)思想2:串/并轉(zhuǎn)換

串/并轉(zhuǎn)換是體現(xiàn)速度-面積互換思想的另一種設(shè)計(jì)方案,在高速數(shù)據(jù)流處理中發(fā)揮重要的作用。串/并轉(zhuǎn)換通常將數(shù)據(jù)分成多個(gè)較小的數(shù)據(jù)塊,這些數(shù)據(jù)塊可以同時(shí)并行傳輸,從而提高數(shù)據(jù)的傳輸速率。

串/并轉(zhuǎn)換的實(shí)現(xiàn)方法多種多樣,根據(jù)數(shù)據(jù)數(shù)量的不同,可以選用寄存器、RAM、FIFO等實(shí)現(xiàn)。對(duì)于數(shù)量較小的設(shè)計(jì)通??梢圆捎靡莆患拇嫫鲗?shí)現(xiàn)。

1a662d84-05e7-11ee-962d-dac502259ad0.jpg

以上述圖中所示模塊為例:串行輸入數(shù)據(jù)data in通過(guò)n個(gè)移位寄存器后,通過(guò)位寬為n的并行總線輸出數(shù)據(jù)data out。移位過(guò)程通常依賴于時(shí)鐘進(jìn)行同步,因此,完成一個(gè)周期的n位串/并轉(zhuǎn)換需要消耗n個(gè)串行時(shí)鐘周期。例如,串行傳輸時(shí)鐘頻率為100MHz,若將串行數(shù)據(jù)轉(zhuǎn)為4bit并行數(shù)據(jù)輸出,并行傳輸?shù)臅r(shí)鐘頻率將降低至25MHz,這是串入并出的基本設(shè)計(jì)思想。

串/并轉(zhuǎn)換通過(guò)犧牲面積換取數(shù)據(jù)帶寬,提高數(shù)據(jù)傳輸?shù)耐掏铝浚瑥囊欢ǔ潭壬咸岣吡藬?shù)據(jù)的傳輸速率,同樣體現(xiàn)出速度-面積互換思想。

04設(shè)計(jì)思想3:流水線設(shè)計(jì)

流水線設(shè)計(jì)通過(guò)處理模塊復(fù)制的方法提高數(shù)據(jù)流的處理速度,在高速信號(hào)處理領(lǐng)域發(fā)揮著重要作用。流水線設(shè)計(jì)主要應(yīng)用于單向數(shù)據(jù)處理過(guò)程,即前一個(gè)模塊的輸出可以直接作為下一個(gè)模塊的輸入,運(yùn)算處理不涉及反饋和迭代,那么可以考慮采用流水線設(shè)計(jì)方法提高系統(tǒng)的工作頻率。

1a758932-05e7-11ee-962d-dac502259ad0.jpg

以上述圖中所示模塊為例,當(dāng)原設(shè)計(jì)在一個(gè)時(shí)鐘周期內(nèi)實(shí)現(xiàn)一個(gè)較大的組合邏輯時(shí),通過(guò)切割可以將較大的組合邏輯分解為多個(gè)較小的組合邏輯,分割后的組合邏輯需要在多個(gè)時(shí)鐘周期內(nèi)完成。盡管分割后的設(shè)計(jì)需要更多的時(shí)鐘周期,但是這部分邏輯運(yùn)行的時(shí)鐘周期會(huì)有明顯的提升,系統(tǒng)時(shí)鐘頻率提升后的耗時(shí)總體上優(yōu)于提升前的單周期耗時(shí),同時(shí)保證系統(tǒng)時(shí)序更加穩(wěn)定可靠,尤其在當(dāng)前組合邏輯所涉及的路徑是一條關(guān)鍵路徑時(shí),采用流水線設(shè)計(jì)后,整個(gè)系統(tǒng)的性能將得到極大提升。

1a8a45f2-05e7-11ee-962d-dac502259ad0.jpg

例如,當(dāng)一個(gè)流水線設(shè)計(jì)需要四個(gè)時(shí)鐘周期時(shí),輸入數(shù)據(jù)in1從第一個(gè)時(shí)鐘周期1clk開(kāi)始,直到第四個(gè)時(shí)鐘周期4clk才處理完,但是在前四個(gè)周期處理完成后,每個(gè)時(shí)鐘周期內(nèi)都會(huì)有處理完成的數(shù)據(jù)輸出。由此可見(jiàn),流水線設(shè)計(jì)僅在開(kāi)始時(shí)需要一定的處理時(shí)間,之后將不間斷地輸出數(shù)據(jù),從而極大提高處理速度。如果不采用流水線設(shè)計(jì)對(duì)四周期處理過(guò)程進(jìn)行分割,那么每個(gè)輸入數(shù)據(jù)的處理都將需要四個(gè)時(shí)鐘周期,而在耗費(fèi)更多時(shí)鐘周期的同時(shí),系統(tǒng)的時(shí)鐘頻率也受到極大限制,甚至出現(xiàn)時(shí)序紊亂的情況。

流水線設(shè)計(jì)犧牲面積換取時(shí)鐘頻率,從而提高數(shù)據(jù)的傳輸速率,這種設(shè)計(jì)思想在高速通信、高速信號(hào)采集、圖像處理等領(lǐng)域得到廣泛應(yīng)用。

05設(shè)計(jì)思想4:邏輯復(fù)制與模塊復(fù)用

邏輯復(fù)制通過(guò)犧牲面積改善時(shí)序條件,從而降低信號(hào)的路徑延時(shí),常應(yīng)用于信號(hào)扇出(fan out)的調(diào)整。如果某個(gè)信號(hào)的扇出很大,即需要驅(qū)動(dòng)的后記邏輯信號(hào)較多,為增強(qiáng)這個(gè)信號(hào)的驅(qū)動(dòng)能力,通常需要加入多級(jí)Buffer,這在一定程度上增加了信號(hào)的路徑演示。此時(shí)可以復(fù)制生成這個(gè)信號(hào)的邏輯,用多路同頻同相的信號(hào)驅(qū)動(dòng)后續(xù)電路,降低平均到每路的扇出,從而在滿足驅(qū)動(dòng)能力的同時(shí),避免多級(jí)Buffer造成的路徑延時(shí)。

模塊復(fù)用通過(guò)犧牲速率換取更低的資源占用面積,是邏輯復(fù)制的逆過(guò)程,可以極大降低硬件資源消耗。

下面通過(guò)兩段代碼設(shè)計(jì)闡釋上述概念:

Ex1:

input a,b,c,d;

input sel;

output dout;

assign dout = sel ? (a+b) : (c+d);

1a9d8414-05e7-11ee-962d-dac502259ad0.jpg

Ex2:

input a,b,c,d;

input sel;

output dout;

wire ac;

wire bd;

assign ac = sel ? a : c;

assign bd = sel ? b : d;

assign dout = ac + bd;

1aad78c4-05e7-11ee-962d-dac502259ad0.jpg

上述兩端代碼實(shí)現(xiàn)功能相同:Ex1綜合出的RTL視圖使用了兩個(gè)2選1數(shù)據(jù)選擇器和一個(gè)加法器;Ex2綜合出的RTL視圖使用了兩個(gè)加法器和一個(gè)2選1數(shù)據(jù)選擇器。Ex1占用更多的資源,但是處理速率更快;Ex2占用資源較少,但是處理速率較慢。

從一方面看,Ex1相對(duì)于Ex2是一種邏輯復(fù)制的過(guò)程,由于這個(gè)設(shè)計(jì)通過(guò)一個(gè)加法器就可以實(shí)現(xiàn),但是為了提高處理速度,所以對(duì)加法器進(jìn)行邏輯復(fù)制;從另一方面看,Ex2相對(duì)于Ex1是一種模塊復(fù)用的過(guò)程,通過(guò)復(fù)用加法器邏輯模塊,降低資源的消耗。

值得一提的是,當(dāng)前很多綜合工具都可以自動(dòng)設(shè)置最大扇出值。如果某個(gè)信號(hào)的扇出值大于最大扇出值,那么該信號(hào)將會(huì)自動(dòng)被綜合工具復(fù)制。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1625

    文章

    21623

    瀏覽量

    601242
  • FPGA設(shè)計(jì)
    +關(guān)注

    關(guān)注

    9

    文章

    428

    瀏覽量

    26465
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5294

    瀏覽量

    119817
  • 流水線
    +關(guān)注

    關(guān)注

    0

    文章

    118

    瀏覽量

    25578
  • RTL
    RTL
    +關(guān)注

    關(guān)注

    1

    文章

    385

    瀏覽量

    59665

原文標(biāo)題:FPGA速度-面積互換原則設(shè)計(jì)

文章出處:【微信號(hào):Carlinx FPGA,微信公眾號(hào):Carlinx FPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    速度面積互換設(shè)計(jì)原則簡(jiǎn)析

    速度面積一直都是FPGA設(shè)計(jì)中非常重要的兩個(gè)指標(biāo)。所謂速度,是指整個(gè)工程穩(wěn)定運(yùn)行所能夠達(dá)到的最高時(shí)鐘頻率,它不僅和FPGA內(nèi)部各個(gè)寄存器的
    的頭像 發(fā)表于 04-10 11:07 ?1370次閱讀

    FPGA設(shè)計(jì)思想,速度面積互換原則不可忽視

    流水線設(shè)計(jì)可以從某種程度上提高系統(tǒng)頻率。。前提是:設(shè)計(jì)可以分為若干步驟進(jìn)行處理,而且整個(gè)數(shù)據(jù)處理的過(guò)程是單向的,即沒(méi)有反饋或者逆運(yùn)算、前一個(gè)步驟的輸出是下一個(gè)步驟的輸入
    的頭像 發(fā)表于 12-18 09:41 ?1.1w次閱讀

    FPGA的高級(jí)學(xué)習(xí)計(jì)劃

    邏輯設(shè)計(jì)及構(gòu)建testbench的方法及技巧;針對(duì)FPGA器件的代碼優(yōu)化方案;第二階段 FPGA設(shè)計(jì)原則(面積速度平衡
    發(fā)表于 09-13 20:07

    【工程師筆記】FPGA系統(tǒng)設(shè)計(jì)黃金法則

    FPGA設(shè)計(jì)的三大黃金法則,讓你設(shè)計(jì)更輕松。一面積速度的平衡互換原則這里的面積指的是
    發(fā)表于 11-30 10:45

    FPGA系統(tǒng)設(shè)計(jì)黃金法則

    FPGA設(shè)計(jì)的三大黃金法則,讓你設(shè)計(jì)更輕松。一面積速度的平衡互換原則這里的面積指的是
    發(fā)表于 12-03 16:41

    FPGA工程師手記:FPGA系統(tǒng)設(shè)計(jì)黃金法則

    FPGA設(shè)計(jì)的三大黃金法則,讓你設(shè)計(jì)更輕松。一面積速度的平衡互換原則這里的面積指的是
    發(fā)表于 09-28 16:14

    FPGA系統(tǒng)設(shè)計(jì)黃金法則

    FPGA設(shè)計(jì)的三大黃金法則,讓你設(shè)計(jì)更輕松。一面積速度的平衡互換原則這里的面積指的是
    發(fā)表于 06-01 10:31

    分享:FPGA設(shè)計(jì)原則總結(jié)

    1.面積速度的平衡與互換這里的面積指一個(gè)設(shè)計(jì)消耗 FPGA/CPLD 的邏輯資源的數(shù)量,對(duì)于 FPGA
    發(fā)表于 01-01 08:00

    學(xué)FPGA必備,FPGA設(shè)計(jì)的8大重要知識(shí)點(diǎn)。

    1. 面積速度的平衡與互換這里的面積指一個(gè)設(shè)計(jì)消耗FPGA/CPLD的邏輯資源的數(shù)量,對(duì)于FPGA
    發(fā)表于 09-18 10:32

    FPGA設(shè)計(jì)基本原則及設(shè)計(jì)思想

    今天給大俠帶來(lái)FPGA設(shè)計(jì)基本原則及思想,話不多說(shuō),上貨。FPGA設(shè)計(jì)基本原則及思想一、硬件設(shè)計(jì)基本原則1、
    發(fā)表于 10-11 12:26

    FPGA設(shè)計(jì)的指導(dǎo)原則

    FPGA設(shè)計(jì)的指導(dǎo)原則:這里“面積”指一個(gè)設(shè)計(jì)消耗FPGA/CPLD 的邏輯資源的數(shù)量,對(duì)于FPGA 可以用所消耗的觸發(fā)器(FF)和查找表(
    發(fā)表于 01-11 09:01 ?107次下載

    FPGA設(shè)計(jì)的基本原則、技巧與時(shí)序電路設(shè)計(jì)

    FPGA設(shè)計(jì)的基本原則 面積速度折衷原則 面積速度
    發(fā)表于 11-25 03:57 ?1057次閱讀
    <b class='flag-5'>FPGA</b>設(shè)計(jì)的基本<b class='flag-5'>原則</b>、技巧與時(shí)序電路設(shè)計(jì)

    FPGA設(shè)計(jì)的十五條原則詳細(xì)解析

    1、硬件設(shè)計(jì)基本原則 (1)速度面積平衡和互換原則:一個(gè)設(shè)計(jì)如果時(shí)序余量較大,所能跑的頻率遠(yuǎn)高于設(shè)計(jì)要求,能可以通過(guò)模塊復(fù)用來(lái)減少整
    的頭像 發(fā)表于 12-19 17:19 ?6278次閱讀

    淺談FPGA設(shè)計(jì)的基本原則

    一、面積速度的平衡互換原則 這里的面積指的是 FPGA 的芯片資源,包括邏輯資源和 I/O 資
    的頭像 發(fā)表于 02-03 15:30 ?604次閱讀

    RTL設(shè)計(jì)指導(dǎo)原則面積速度互換

    一般來(lái)說(shuō),面積是一個(gè)設(shè)計(jì)所消耗的目標(biāo)器件的硬件資源數(shù)量或者ASIC芯片的面積
    的頭像 發(fā)表于 06-05 15:46 ?1261次閱讀
    RTL設(shè)計(jì)指導(dǎo)<b class='flag-5'>原則</b>之<b class='flag-5'>面積</b>和<b class='flag-5'>速度</b><b class='flag-5'>互換</b>