RM新时代网站-首页

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

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

3天內不再提示

FPGA速度-面積互換原則設計

HJ18656750788 ? 來源:Cascatrix ? 2023-06-09 09:36 ? 次閱讀

目錄/contents

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

● 設計思想1:乒乓操作

● 設計思想2:串/并轉換

● 設計思想3:流水線設計

● 設計思想4:邏輯復制與模塊復用

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

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

例如,工程中占用一定的邏輯資源可以實現50Mbps的數據吞吐量,采用三倍的資源實現相應的功能,通過并行處理則可以實現150Mbps的數據吞吐量,從而實現用面積換速度的操作。

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

速度-面積互換原則的常用設計思想包括:乒乓操作、串/并轉換、流水線設計、邏輯復制與模塊復用。

02設計思想1:乒乓操作

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

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

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

乒乓操作經常應用于外部接口傳輸以圖像數據為代表的按幀劃分的數據。在圖像數據傳輸過程中,當前幀存入緩存BUFFER1的同時,顯示器用于顯示BUFFER2的圖像數據幀;下一幀存入BUFFER2的同時,顯示器用于顯示BUFFER1的圖像數據幀。乒乓操作保證顯示器瞬間完成圖像的切換,提高圖像數據傳輸的效率和穩(wěn)定性,特別是在通信環(huán)境較差的情況下。

03設計思想2:串/并轉換

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

串/并轉換的實現方法多種多樣,根據數據數量的不同,可以選用寄存器、RAM、FIFO等實現。對于數量較小的設計通??梢圆捎靡莆患拇嫫鲗崿F。

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

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

串/并轉換通過犧牲面積換取數據帶寬,提高數據傳輸的吞吐量,從一定程度上提高了數據的傳輸速率,同樣體現出速度-面積互換思想。

04設計思想3:流水線設計

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

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

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

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

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

流水線設計犧牲面積換取時鐘頻率,從而提高數據的傳輸速率,這種設計思想在高速通信、高速信號采集、圖像處理等領域得到廣泛應用。

05設計思想4:邏輯復制與模塊復用

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

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

下面通過兩段代碼設計闡釋上述概念:

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

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

從一方面看,Ex1相對于Ex2是一種邏輯復制的過程,由于這個設計通過一個加法器就可以實現,但是為了提高處理速度,所以對加法器進行邏輯復制;從另一方面看,Ex2相對于Ex1是一種模塊復用的過程,通過復用加法器邏輯模塊,降低資源的消耗。

值得一提的是,當前很多綜合工具都可以自動設置最大扇出值。如果某個信號的扇出值大于最大扇出值,那么該信號將會自動被綜合工具復制。

審核編輯:湯梓紅

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

    關注

    1629

    文章

    21729

    瀏覽量

    602986
  • FPGA設計
    +關注

    關注

    9

    文章

    428

    瀏覽量

    26509
  • 寄存器
    +關注

    關注

    31

    文章

    5336

    瀏覽量

    120230
  • 流水線
    +關注

    關注

    0

    文章

    120

    瀏覽量

    25726
  • RTL
    RTL
    +關注

    關注

    1

    文章

    385

    瀏覽量

    59760

原文標題:FPGA速度-面積互換原則設計

文章出處:【微信號:Carlinx FPGA,微信公眾號:Carlinx FPGA】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    速度面積互換設計原則簡析

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

    FPGA設計思想,速度面積互換原則不可忽視

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

    FPGA的高級學習計劃

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

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

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

    FPGA系統(tǒng)設計黃金法則

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

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

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

    FPGA系統(tǒng)設計黃金法則

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

    分享:FPGA設計原則總結

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

    FPGA必備,FPGA設計的8大重要知識點。

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

    FPGA設計基本原則及設計思想

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

    FPGA設計的指導原則

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

    FPGA設計的基本原則、技巧與時序電路設計

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

    FPGA設計的十五條原則詳細解析

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

    淺談FPGA設計的基本原則

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

    RTL設計指導原則面積速度互換

    一般來說,面積是一個設計所消耗的目標器件的硬件資源數量或者ASIC芯片的面積。
    的頭像 發(fā)表于 06-05 15:46 ?1335次閱讀
    RTL設計指導<b class='flag-5'>原則</b>之<b class='flag-5'>面積</b>和<b class='flag-5'>速度</b><b class='flag-5'>互換</b>
    RM新时代网站-首页