一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

一個(gè)典型的流水線設(shè)計(jì)

FPGA快樂(lè)學(xué)習(xí) ? 來(lái)源:FPGA快樂(lè)學(xué)習(xí) ? 2023-05-08 10:55 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

流水線設(shè)計(jì)通??梢栽谝欢ǔ潭壬咸嵘到y(tǒng)的時(shí)鐘頻率,因此常常作為時(shí)序性能優(yōu)化的一種常用技巧。如果某個(gè)原本單個(gè)時(shí)鐘周期完成的邏輯功能塊可以進(jìn)一步細(xì)分為若干個(gè)更小的步驟進(jìn)行處理,而且整個(gè)數(shù)據(jù)處理過(guò)程是單向的,即沒(méi)有反饋運(yùn)算或者迭代運(yùn)算,前一個(gè)步驟的輸出是下一個(gè)步驟的輸入,那么就可以考慮采用流水線設(shè)計(jì)的方法來(lái)提高工作的時(shí)鐘頻率。

如圖3.23所示,典型的流水線設(shè)計(jì)是將原本一個(gè)時(shí)鐘周期完成的較大的組合邏輯(上圖)通過(guò)合理的分割后由多個(gè)時(shí)鐘周期分別完成n個(gè)較小的組合邏輯(下圖)。原本1個(gè)時(shí)鐘周期完成的邏輯功能拆分為n個(gè)時(shí)鐘周期以流水線方式實(shí)現(xiàn),雖然該設(shè)計(jì)的時(shí)鐘頻率會(huì)有所提升,但是需要額外付出n-1個(gè)時(shí)鐘周期的初始延時(shí)。

386d74cc-ed41-11ed-90ce-dac502259ad0.jpg

圖3.23 流水線設(shè)計(jì)的寄存器模型

如圖3.24所示,假設(shè)一個(gè)流水線設(shè)計(jì)需要四個(gè)步驟完成一個(gè)數(shù)據(jù)處理過(guò)程,那么從有數(shù)據(jù)輸入(in1)的第1個(gè)時(shí)鐘周期(1clk)開(kāi)始,直到第4個(gè)時(shí)鐘周期(4clk)才處理第1個(gè)輸入數(shù)據(jù);如果輸出時(shí)再用寄存器打一拍,通常是第5個(gè)時(shí)鐘周期才會(huì)輸出第1個(gè)數(shù)據(jù)的處理結(jié)果;但在以后的每個(gè)時(shí)鐘周期內(nèi)都會(huì)有處理完成的數(shù)據(jù)持續(xù)輸出。也就是說(shuō),流水線設(shè)計(jì)在提高工作的時(shí)鐘頻率的情況下,只在開(kāi)始處理時(shí)需要一定的延時(shí)時(shí)間(和流水線級(jí)數(shù)正相關(guān)),以后就會(huì)不間斷的輸出數(shù)據(jù),從而提高處理速度。如果該設(shè)計(jì)不采用流水線設(shè)計(jì),那么該實(shí)例處理一個(gè)數(shù)據(jù)就需要4個(gè)時(shí)鐘周期,而流水線設(shè)計(jì)則能夠提高最多4倍的處理速度(取決于設(shè)計(jì)的整體性能水平,通常情況下是提升不了4倍的)。

38828ac4-ed41-11ed-90ce-dac502259ad0.jpg

圖3.24 流水線設(shè)計(jì)實(shí)現(xiàn)

這里我們來(lái)看一個(gè)除法器IP核進(jìn)行流水線優(yōu)化的例子。如圖3.25所示,在Xilinx提供的除法器IP核的配置頁(yè)面中,有一個(gè)時(shí)延選項(xiàng)(Latency Options),這個(gè)時(shí)延其實(shí)就是我們剛剛提到的數(shù)據(jù)從輸入到輸出,經(jīng)過(guò)內(nèi)部的流水線處理邏輯,所需要的初始延時(shí)時(shí)鐘周期數(shù)??上攵?,這個(gè)延時(shí)設(shè)置得越大,對(duì)應(yīng)的流水線級(jí)數(shù)越高,可以達(dá)到的時(shí)序性能應(yīng)該是會(huì)約好的;但這個(gè)延時(shí)值如果設(shè)置的較小,對(duì)應(yīng)的流水線級(jí)數(shù)就越低,那么勢(shì)必會(huì)影響它的時(shí)序性能。以筆者的經(jīng)驗(yàn),在一些算法實(shí)現(xiàn)中,經(jīng)常會(huì)涉及除法器IP核的使用,雖然流水線級(jí)數(shù)設(shè)置得高一些能夠帶來(lái)更好的時(shí)序性能,但是往往也會(huì)涉及與該除法器計(jì)算結(jié)果相關(guān)的中間結(jié)果也需要用寄存器進(jìn)行較多的延時(shí)緩存,有時(shí)這也是一筆不小的資源開(kāi)銷(xiāo),所以就比較矛盾,因此通常會(huì)選擇一個(gè)比較折中的時(shí)延參數(shù),而不是單純的“越大越好”。

38a525a2-ed41-11ed-90ce-dac502259ad0.jpg

圖3.25 除法器IP的配置頁(yè)面

在工程note10_prj002中,使用了Latency=2的一個(gè)較小的時(shí)延和流水線級(jí)數(shù)。在編譯后,查看時(shí)序結(jié)果,如圖3.26,對(duì)于50MHz這樣較低頻率下的時(shí)鐘(20.0ns時(shí)鐘周期),竟然也有3條和除法器(uut_div_gen_1)相關(guān)的3條路徑出現(xiàn)了時(shí)序違規(guī)(Slack為負(fù))。

38bad636-ed41-11ed-90ce-dac502259ad0.jpg

圖3.26 2級(jí)流水線的時(shí)序結(jié)果

在工程note10_prj003中,當(dāng)我們嘗試修改Latency=4,將除法器的流水線數(shù)增加1倍后再做編譯。如圖3.27,此時(shí)已經(jīng)不存在時(shí)序違規(guī)路徑了,并且最小的時(shí)序余量也高達(dá)4.022ns,性能提升明顯。

38d2c728-ed41-11ed-90ce-dac502259ad0.jpg

圖3.27 4級(jí)流水線的時(shí)序結(jié)果

對(duì)于流水線設(shè)計(jì)是否能夠?qū)嶋H的提升設(shè)計(jì)工程的時(shí)鐘頻率,并不能僅從局部的優(yōu)化去考慮,而需要從整體的設(shè)計(jì)去考量。在時(shí)序性能的優(yōu)化中,通常是先找到時(shí)序的關(guān)鍵路徑,即時(shí)鐘頻率的瓶頸所在,從關(guān)鍵路徑下手進(jìn)行必要的流水線優(yōu)化,如此才有可能提升性能。

審核編輯:湯梓紅
聲明:本文內(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)投訴
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5430

    瀏覽量

    123917
  • Xilinx
    +關(guān)注

    關(guān)注

    73

    文章

    2184

    瀏覽量

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

    關(guān)注

    0

    文章

    124

    瀏覽量

    26578
  • 除法器
    +關(guān)注

    關(guān)注

    2

    文章

    14

    瀏覽量

    14012
  • 時(shí)序
    +關(guān)注

    關(guān)注

    5

    文章

    397

    瀏覽量

    37865

原文標(biāo)題:經(jīng)典設(shè)計(jì)思想:流水線設(shè)計(jì)

文章出處:【微信號(hào):FPGA快樂(lè)學(xué)習(xí),微信公眾號(hào):FPGA快樂(lè)學(xué)習(xí)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    FPGA中的流水線設(shè)計(jì)

    處理速度)。第二 什么時(shí)候用流水線設(shè)計(jì)使用流水線般是時(shí)序比較緊張,對(duì)電路工作頻率較高的時(shí)候。典型情況如下:1)功能模塊之間的流水線,用乒乓
    發(fā)表于 10-26 14:38

    現(xiàn)代RISC中的流水線技術(shù)

    流水線技術(shù)是提高系統(tǒng)吞吐率的項(xiàng)強(qiáng)大的實(shí)現(xiàn)技術(shù),并且不需要大量重復(fù)設(shè)置硬件。20世界60年代早期的些高端機(jī)器中第次采用了流水線技術(shù)。第
    發(fā)表于 03-01 17:52

    周期精確的流水線仿真模型

    使用軟件仿真硬件流水線是很耗時(shí)又復(fù)雜的工作,仿真過(guò)程中由于流水線的沖突而導(dǎo)致運(yùn)行速度緩慢。本文通過(guò)對(duì)嵌入式處理器的流水線, 指令集, 設(shè)備控制器等內(nèi)部結(jié)構(gòu)的分析和
    發(fā)表于 12-31 11:30 ?9次下載

    什么是流水線技術(shù)

    什么是流水線技術(shù) 流水線技術(shù)
    發(fā)表于 02-04 10:21 ?4065次閱讀

    流水線中的相關(guān)培訓(xùn)教程[1]

    流水線中的相關(guān)培訓(xùn)教程[1]  學(xué)習(xí)目標(biāo)     理解流水線中相關(guān)的分類(lèi)及定義;
    發(fā)表于 04-13 15:56 ?1176次閱讀

    電鍍流水線的PLC控制

    電鍍流水線的PLC控制電鍍流水線的PLC控制電鍍流水線的PLC控制
    發(fā)表于 02-17 17:13 ?36次下載

    裝配流水線控制系統(tǒng)設(shè)計(jì)

    裝配流水線控制系統(tǒng)設(shè)計(jì)
    發(fā)表于 12-17 15:26 ?14次下載

    Verilog基本功之:流水線設(shè)計(jì)Pipeline Design

    ,并暫存中間數(shù)據(jù)的方法。 目的是將個(gè)大操作分解成若干的小操作,每步小操作的時(shí)間較小,所以能提高頻率,各小操作能并行 執(zhí)行,所以能提高數(shù)據(jù)吞吐率(提高處理速度)。 二. 什么時(shí)候用流水線
    發(fā)表于 09-25 17:12 ?7306次閱讀

    FPGA之為什么要進(jìn)行流水線的設(shè)計(jì)

    流水線又稱(chēng)為裝配線,種工業(yè)上的生產(chǎn)方式,指每一個(gè)生產(chǎn)單位只專(zhuān)注處理某一個(gè)片段的工作。以提高工作效率及產(chǎn)量;按照流水線的輸送方式大體可以分為
    的頭像 發(fā)表于 11-28 07:04 ?3871次閱讀

    各種流水線特點(diǎn)及常見(jiàn)流水線設(shè)計(jì)方式

    按照流水線的輸送方式大體可以分為:皮帶流水裝配線、板鏈線、倍速鏈、插件線、網(wǎng)帶線、懸掛線及滾筒流水線這七類(lèi)流水線
    的頭像 發(fā)表于 07-05 11:12 ?8060次閱讀
    各種<b class='flag-5'>流水線</b>特點(diǎn)及常見(jiàn)<b class='flag-5'>流水線</b>設(shè)計(jì)方式

    滾筒輸流水線故障排除方法

    在工程建造中,滾筒流水線演著重要的角色。在些工程建造過(guò)程中,經(jīng)??吹綕L筒流水線的身影。在工業(yè)不斷發(fā)展下的今天,滾筒流水線日益增長(zhǎng),走向多元化。滾筒
    發(fā)表于 07-08 09:32 ?2042次閱讀

    如何選擇合適的LED生產(chǎn)流水線輸送方式

    LED生產(chǎn)流水線輸送形式分為平面直線傳輸流水線、各種角度平面轉(zhuǎn)彎傳輸流水線、斜面上傳流水線、斜面下傳流水線這四種輸送方式,企業(yè)也是可以根據(jù)L
    發(fā)表于 08-06 11:53 ?1182次閱讀

    嵌入式_流水線

    流水線、定義流水線是指在程序執(zhí)行時(shí)多條指令重疊進(jìn)行操作的種準(zhǔn)并行處理實(shí)現(xiàn)技術(shù)。各種部件同時(shí)處理是針對(duì)不同指令而言的,他們可同時(shí)為多條指令的不同部分進(jìn)行工作。? 把
    發(fā)表于 10-20 20:51 ?6次下載
    嵌入式_<b class='flag-5'>流水線</b>

    CPU流水線的問(wèn)題

    1989 年推出的 i486 處理器引入了五級(jí)流水線。這時(shí),在 CPU 中不再僅運(yùn)行條指令,每級(jí)流水線在同時(shí)刻都運(yùn)行著不同的指令。這個(gè)
    的頭像 發(fā)表于 09-22 10:04 ?2331次閱讀

    什么是流水線 Jenkins的流水線詳解

    jenkins 有 2 種流水線分為聲明式流水線與腳本化流水線,腳本化流水線是 jenkins 舊版本使用的流水線腳本,新版本 Jenkin
    發(fā)表于 05-17 16:57 ?1283次閱讀