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

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

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

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

冬至子 ? 來源:Andy的ICer之路 ? 作者:AndyICer ? 2023-06-05 15:46 ? 次閱讀

前言

00

一般來說,面積是一個設(shè)計所消耗的目標器件的硬件資源數(shù)量或者ASIC芯片的面積。速度是指設(shè)計在芯片上穩(wěn)定運行時所能夠達到的最高頻率,這個頻率由設(shè)計的時序狀況決定。

面積和速度是對立統(tǒng)一的矛盾體 ,既想要設(shè)計面積最小,又想運行頻率最高,這是不現(xiàn)實的??茖W(xué)的設(shè)計目標應(yīng)該是在滿足設(shè)計時序要求(包含對設(shè)計最高頻率的要求)的前提下,占用最小的芯片面積,或者在所規(guī)定的面積下,使設(shè)計的時序余量更大,頻率更高。

一個設(shè)計如果時序余量較大,所能跑的頻率遠遠高于設(shè)計要求,能通過功能模塊復(fù)用減少整個設(shè)計所消耗的芯片面積,用速度的優(yōu)勢對換面積的節(jié)約。

一個設(shè)計的時序要求很高,普通方法達不到設(shè)計頻率,可以通過將數(shù)據(jù)流串并轉(zhuǎn)換,并行復(fù)制多個操作模塊,對整個設(shè)計采取“乒乓操作”和“串并轉(zhuǎn)換”的思想進行處理,在芯片輸出模塊處再對數(shù)據(jù)進行“并串轉(zhuǎn)換”。

串并轉(zhuǎn)換 并串轉(zhuǎn)換

01

例如輸入數(shù)據(jù)流的速率是450Mbit/s,而在FPGA上設(shè)計的數(shù)據(jù)處理模塊的處理速度最大為150Mbit/s,在這種情況就應(yīng)該利用“面積換速度”的思想,至少復(fù)制3個處理模塊。首先將輸入數(shù)據(jù)進行串并轉(zhuǎn)換,然后利用這3個模塊并行處理分配的數(shù)據(jù),最后將處理結(jié)果并串轉(zhuǎn)換以滿足數(shù)據(jù)速度的要求。

圖片

乒乓操作

02

“乒乓操作”是一個常常應(yīng)用于數(shù)據(jù)流控制的處理技巧,乒乓操作的結(jié)構(gòu)如下圖所示:

圖片

數(shù)據(jù)緩沖模塊一般是常用的存儲單元,例如雙口RAM(DPRAM)、單口RAM(SPRAM)、FIFO等。

第一個緩沖周期:將輸入的數(shù)據(jù)流緩存到數(shù)據(jù)緩沖模塊1;

第二個緩沖周期:通過輸入數(shù)據(jù)選擇單元的切換,將輸入數(shù)據(jù)緩存到數(shù)據(jù)緩沖模塊2,同時數(shù)據(jù)緩沖模塊1通過輸出數(shù)據(jù)選擇單元輸出數(shù)據(jù);

第三個緩沖周期:通過輸入數(shù)據(jù)選擇單元的切換,將輸入數(shù)據(jù)緩存到數(shù)據(jù)緩沖模塊1,同時數(shù)據(jù)緩沖模塊2通過輸出數(shù)據(jù)選擇單元的切換輸出數(shù)據(jù);

如此循環(huán),直到輸入結(jié)束。

乒乓操作有兩個優(yōu)點:1、完成數(shù)據(jù)的無縫緩沖與處理;2、節(jié)約緩沖區(qū)空間。

完成數(shù)據(jù)的無縫緩沖與處理 :從上面乒乓操作的描述中可以看出,數(shù)據(jù)基本上是源源不斷地輸入輸出,只不過是中間的過程用了流水線式的設(shè)計來處理。根據(jù)這個優(yōu)點可以 用低速模塊處理高速數(shù)據(jù)流 ,其核心思想還是通過串并轉(zhuǎn)換實現(xiàn) 積換速度 。

節(jié)約緩沖區(qū)空間 :例如需要將一幀的數(shù)據(jù)延時一個時隙后處理,最直接的辦法就是將這幀數(shù)據(jù)緩存起來,然后延時一個時隙進行處理,這時緩沖區(qū)的長度是一幀數(shù)據(jù)的長度。如果使用乒乓操作,用8個時隙完成一幀數(shù)據(jù)的傳輸,只需要兩個小的緩沖區(qū)即可,一個緩沖區(qū)是1/8幀數(shù)據(jù)的大小,其核心思想是 速度換面積

流水線設(shè)計

03

流水線設(shè)計大家應(yīng)該都不陌生,福特發(fā)明了流水線提高了工人的效率,硬件電路也因為流水線而元氣滿滿。

流水線特點: 通過插入寄存器,將長的串行邏輯鏈分成較小的部分;當系統(tǒng)運算是串行的時候,利用時鐘控制,使運算依照順序接續(xù)進行;在任何給定時刻,大部分電路都在工作。

流水線好處: 每一部分延時較小,可以使用更快的時鐘;大部分電路同時進行運算,可以提高數(shù)據(jù)通過量。

電路的最高頻率取決于最長組合邏輯鏈路的延遲值,所以減少最長組合邏輯鏈的延遲值,有利于提高電路速度。我們先來看一下不使用流水線的電路有什么問題:

圖片

可以從上面的圖看出,組合邏輯鏈會有很大部分的閑置電路,根據(jù)這個基礎(chǔ)我們來分析一下計算log(|a+b|)的硬件電路:

圖片

計算最小周期,即計算出電路最大頻率,對照電路的最小周期主要是加法器延時+求絕對值延時+求對數(shù)延時,因為一個部分電路在工作時,另一個部分的電路在閑置;

而流水線電路的最小周期主要是取(加法器延時,求絕對值延時,求對數(shù)延時)的最大值,可以看出流水線電路比原來的電路頻率大約快3倍左右,因為流水線是每一個部分的電路都在工作,效率大大提高。

接下來我們來看一下流水線與非流水線電路的比較,以4級流水線為例。

圖片

以上是4級流水線的結(jié)構(gòu)圖, 要注意的是流水線是按照延遲劃分的,不是按照功能劃分的 。具體流水線與非流水線電路的性能比較如下:

圖片

根據(jù)上面的性能比較表格,可以得知,具體使用流水線好還是非流水線好,還是要根據(jù)實際情況計算比較,一般來說流水線會較好。

另外, 流水線分割點及級數(shù)的確定要考慮的因素:

①單元延遲時間及時鐘頻率的大小決定了數(shù)據(jù)通過速率;

②過多的級數(shù)不一定能產(chǎn)生最快的結(jié)果;

③太多寄存器的插入會導(dǎo)致芯片面積增加,布線困難,時鐘偏差增加;

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

    關(guān)注

    9

    文章

    428

    瀏覽量

    26421
  • 加法器
    +關(guān)注

    關(guān)注

    6

    文章

    183

    瀏覽量

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

    關(guān)注

    1

    文章

    384

    瀏覽量

    59518
  • DPRAM
    +關(guān)注

    關(guān)注

    0

    文章

    2

    瀏覽量

    10904
  • ASIC芯片
    +關(guān)注

    關(guān)注

    2

    文章

    91

    瀏覽量

    23664
收藏 人收藏

    評論

    相關(guān)推薦

    速度面積互換設(shè)計原則簡析

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

    RTL電路的設(shè)計原則和方法

    既然RTL是寄存器傳輸級電路,那么電路設(shè)計就一定是以寄存器的特性為基礎(chǔ)進行設(shè)計。
    的頭像 發(fā)表于 07-13 16:17 ?5584次閱讀
    <b class='flag-5'>RTL</b>電路的設(shè)計<b class='flag-5'>原則</b>和方法

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

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

    Labview 之面向?qū)ο缶幊獭?里面有個例子 和視頻教程地址

    Labview 之面向?qū)ο缶幊獭?里面有個例子 和視頻教程地址Labview 之面向?qū)ο缶幊獭?里面有個例子 和視頻教程地址
    發(fā)表于 12-29 10:16

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

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

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

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

    設(shè)計復(fù)用的RTL指導(dǎo)原則

    設(shè)計可復(fù)用的基本要求是RTL 代碼可移植。通常的軟件工程指導(dǎo)原則RTL 編碼時也適用。類似軟件開發(fā),基本的編碼指導(dǎo)
    發(fā)表于 12-24 00:46 ?32次下載

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

    FPGA的基本設(shè)計原則,基本設(shè)計思想,基本操作技巧,常用模塊。如果大家有意識的用這些原則方法指導(dǎo)日后的的工作,那么會達到事半功倍
    發(fā)表于 02-18 11:53 ?1次下載

    良好接地指導(dǎo)原則

    良好接地指導(dǎo)原則
    發(fā)表于 12-15 22:19 ?0次下載

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

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

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

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

    FPGA的指導(dǎo)原則詳細資料說明

    這一部分主要介紹 FPGA/CPLD設(shè)計的指導(dǎo)原則,如FPGA設(shè)計的基本原則、基本設(shè)計思想、基本操作技巧、常用模塊等。 FPGA/CPLD設(shè)計的基木原則、思想、技巧和常用模塊是一個非
    發(fā)表于 01-20 15:17 ?26次下載
    FPGA的<b class='flag-5'>指導(dǎo)</b>性<b class='flag-5'>原則</b>詳細資料說明

    PyTorch教程3.2之面向?qū)ο蟮脑O(shè)計實現(xiàn)

    電子發(fā)燒友網(wǎng)站提供《PyTorch教程3.2之面向?qū)ο蟮脑O(shè)計實現(xiàn).pdf》資料免費下載
    發(fā)表于 06-05 15:48 ?0次下載
    PyTorch教程3.2<b class='flag-5'>之面</b>向?qū)ο蟮脑O(shè)計實現(xiàn)

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

    速度-面積互換原則是貫穿FPGA設(shè)計的重要原則速度是指工程穩(wěn)定運行所能達到的最高時鐘頻率,通常
    的頭像 發(fā)表于 06-09 09:36 ?1408次閱讀
    FPGA<b class='flag-5'>速度</b>-<b class='flag-5'>面積</b><b class='flag-5'>互換</b><b class='flag-5'>原則</b>設(shè)計

    REST的6大指導(dǎo)原則

    :符合REST架構(gòu)風格的 WEB API 或WEB 服務(wù)就是 REST API。 2. REST 的6大指導(dǎo)原則 REST 定義了6個原則,這些原則使得一個WEB API 成為真正的R
    的頭像 發(fā)表于 10-09 14:27 ?1277次閱讀