色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

一文詳細了解流水線設計

FPGA設計論壇 ? 來源:FPGA設計論壇 ? 作者:FPGA設計論壇 ? 2022-05-11 10:51 ? 次閱讀

第一 什么是流水線

流水線設計就是將組合邏輯系統地分割,并在各個部分(分級)之間插入寄存器,并暫存中間數據的方法。目的是將一個大操作分解成若干的小操作,每一步小操作的時間較小,所以能提高頻率,各小操作能并行執行,所以能提高數據吞吐率(提高處理速度)。

第二 什么時候用流水線設計

使用流水線一般是時序比較緊張,對電路工作頻率較高的時候。典型情況如下:

1)功能模塊之間的流水線,用乒乓 buffer 來交互數據。代價是增加了 memory 的數量,但是和獲得的巨大性能提升相比,可以忽略不計。

2) I/O 瓶頸,比如某個運算需要輸入 8 個數據,而 memroy 只能同時提供 2 個數據,如果通過適當劃分運算步驟,使用流水線反而會減少面積。

3)片內 sram 的讀操作,因為 sram 的讀操作本身就是兩極流水線,除非下一步操作依賴讀結果,否則使用流水線是自然而然的事情。

4)組合邏輯太長,比如(a+b)*c,那么在加法和乘法之間插入寄存器是比較穩妥的做法。

第三 使用流水線的優缺點

1)優點:流水線縮短了在一個時鐘周期內給的那個信號必須通過的通路長度,增加了數據吞吐量,從而可以提高時鐘頻率,但也導致了數據的延時。舉例如下:例如:一個 2 級組合邏輯,假定每級延遲相同為 Tpd,

1.無流水線的總延遲就是 2Tpd,可以在一個時鐘周期完成,但是時鐘周期受限制在 2Tpd;

2.流水線:

每一級加入寄存器(延遲為 Tco)后,單級的延遲為 Tpd+Tco,每級消耗一個時鐘周期,流水線需要 2 個時鐘周期來獲得第一個計算結果,稱 為首次延遲,它要 2*( Tpd+Tco),但是執行重復操作時,只要一個時鐘周期來獲得最后的計算結果,稱為吞吐延遲( Tpd+Tco)。可見只要 Tco 小于 Tpd,流水線就可以提高速度。 特別需要說明的是,流水線并不減小單次操作的時間,減小的是整個數據的操作時間,請大家認真體會。

2) 缺點:功耗增加,面積增加,硬件復雜度增加,特別對于復雜邏輯如 cpu 的流水線而言,流水越深,發生需要 hold 流水線或 reset 流水線的情況時,時間損失越大。 所以使用流水線并非有利無害,大家需權衡考慮。

第四 一個 8bit 流水線加法器的小例子

非流水線:

module add8(

a,

b,

c);

input [7:0] a;

input [7:0] b;

output [8:0] c;

assign c[8:0] = {1'd0, a} + {1'd0, b};

endmodule

采用兩級流水線:第一級低 4bit,第二級高 4bit,所以第一個輸出需要 2 個時鐘周期有效,后面的數據都是 1 個周期

之后有效。

module adder8_2(

clk,

cin,

cina,

cinb,

sum,

cout);

input clk;

input cin;

input [7:0] cina;

input [7:0] cinb;

output [7:0] sum;

output cout;

reg cout;

reg cout1; //插入的寄存器

reg [3 :0 ] sum1 ; //插入的寄存器

reg [7 :0 ] sum;

reg [3:0] cina_reg;

reg [3:0] cinb_reg;//插入的寄存器

always @(posedge clk) //第一級流水

begin

{cout1 , sum1} <= cina[3:0] + cinb [3:0] + cin ;

end

always @(posedge clk)

begin

cina_reg <= cina[7:4];

cinb_reg <= cinb[7:4];

end

always @(posedge clk) //第二級流水

begin

{cout ,sum[7:0]} <= {{1'b0,cina_reg[3:0]} + {1'b0,cinb_reg[3:0]} + cout1 ,sum1[3:0]} ;

end

endmodule

這里講到的流水線,主要是一種硬件設計的算法,如第一條中表述的流水線設計就是將組合邏輯系統地分割,并在各個部分(分級)之間插入寄存器,并暫存中間數據的方法。

針對處理器中的流水線結構。比如,比如 5—6 個不同功能的電路單元組成一條指令處理流水線,然后將一條指令分成 5—6 步后再由這些電路單元分別執行,這樣就能實現在一個 CPU 時鐘周期完成一條指令,因此提高 CPU 的運算速度。 一般的 CPU 中,每條整數流水線都分為四級流水, 即指令預取、 譯碼、 執行、 寫回結果,openrisc采用的是 5 級整數流水線。

當然它們的核心思想都是利用并行執行提高效率。

總結一下,流水線就是插入寄存器,以面積換取速度。

原文標題:FPGA學習-流水線設計Pipeline Design

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

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

    關注

    1629

    文章

    21729

    瀏覽量

    603005
  • 流水線
    +關注

    關注

    0

    文章

    120

    瀏覽量

    25726

原文標題:FPGA學習-流水線設計Pipeline Design

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

收藏 人收藏

    評論

    相關推薦

    FPGA中的流水線設計

    `流水線設計前言:本文從四部分對流水線設計進行分析,具體如下:第部分什么是流水線第二部分什么時候用流水線設計第三部分使用
    發表于 10-26 14:38

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

    使用軟件仿真硬件流水線是很耗時又復雜的工作,仿真過程中由于流水線的沖突而導致運行速度緩慢。本文通過對嵌入式處理器的流水線, 指令集, 設備控制器等內部結構的分析和
    發表于 12-31 11:30 ?9次下載

    什么是流水線技術

    什么是流水線技術 流水線技術
    發表于 02-04 10:21 ?3927次閱讀

    流水線中的相關培訓教程[1]

    流水線中的相關培訓教程[1]  學習目標     理解流水線中相關的分類及定義;
    發表于 04-13 15:56 ?1047次閱讀

    電鍍流水線的PLC控制

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

    裝配流水線控制系統設計

    裝配流水線控制系統設計
    發表于 12-17 15:26 ?14次下載

    讀懂處理器流水線

    本文將討論處理器的個重要的基礎知識:流水線。熟悉計算機體系結構的讀者定知道,言及處理器微架構,幾乎必談其流水線。處理器的流水線結構是處理
    發表于 04-08 08:16 ?2.3w次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b>讀懂處理器<b class='flag-5'>流水線</b>

    FPGA之為什么要進行流水線的設計

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

    各種流水線特點及常見流水線設計方式

    按照流水線的輸送方式大體可以分為:皮帶流水裝配線、板鏈線、倍速鏈、插件線、網帶線、懸掛線及滾筒流水線這七類流水線
    的頭像 發表于 07-05 11:12 ?7332次閱讀
    各種<b class='flag-5'>流水線</b>特點及常見<b class='flag-5'>流水線</b>設計方式

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

    在工程建造中,滾筒流水線演著重要的角色。在些工程建造過程中,經常看到滾筒流水線的身影。在工業不斷發展下的今天,滾筒流水線日益增長,走向多元化。滾筒
    發表于 07-08 09:32 ?1904次閱讀

    如何選擇合適的LED生產流水線輸送方式

    LED生產流水線輸送形式分為平面直線傳輸流水線、各種角度平面轉彎傳輸流水線、斜面上傳流水線、斜面下傳流水線這四種輸送方式,企業也是可以根據L
    發表于 08-06 11:53 ?1024次閱讀

    嵌入式_流水線

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

    CPU流水線的問題

    1989 年推出的 i486 處理器引入了五級流水線。這時,在 CPU 中不再僅運行條指令,每流水線在同時刻都運行著不同的指令。這個
    的頭像 發表于 09-22 10:04 ?1990次閱讀

    了解流水線型ADC

    流水線型ADC是采樣速率從幾Msps到100Msps+的首選架構。設計復雜性僅隨位數線性(非指數)增加,因此同時為轉換器提供高速、高分辨率和低功耗。流水線ADC在廣泛的應用中非常有用,尤其是在數
    的頭像 發表于 02-25 09:28 ?5020次閱讀
    <b class='flag-5'>了解</b><b class='flag-5'>流水線</b>型ADC

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

    jenkins 有 2 種流水線分為聲明式流水線與腳本化流水線,腳本化流水線是 jenkins 舊版本使用的流水線腳本,新版本 Jenkin
    發表于 05-17 16:57 ?1083次閱讀
    主站蜘蛛池模板: 60老妇性xxxxhd| 精品爽爽久久久久久蜜臀| 欧美jizz19性欧美| 在线观看免费av网站| 精品国产免费人成视频| 性一交一乱一色一视频| 国产精品99久久久久久AV| 日日久久狠狠8888偷偷色| 爱爱好爽好大好紧视频| 欧美亚洲视频在线二区| 99久久精品费精品蜜臀AV| 理论937| 34g污奶绵uk甩奶| 拉菲娱乐主管高工资q39709| 伊人影院蕉久| 久久AV喷吹AV高潮欧美| 野花韩国在线观看| 久久sese| 在线欧美 精品 第1页| 久久久久国产精品美女毛片| 伊人久久青草| 久久视热频国产这里只有精品23| 印度老妇女bbbxxx| 久久热精品18国产| 在野外被男人躁了一夜动图| 久久视热频国产这里只有精品23| 在线 | 果冻国产传媒61国产免费| 99re久久超碰视频精品| 蜜臀AV色欲A片无码一区| yin乱教师系列合集| 我们日本在线观看免费动漫下载| 国产中文字幕一区| 在线日韩欧美一区二区三区| 欧美精品一区二区蜜臀亚洲| 色色噜一噜| 国产精品.XX视频.XXTV| 亚洲AV无码专区国产乱码网站 | 99久久国内精品成人免费| 欧洲xxxxx| 国产a视频视卡在线| 亚洲 日韩 自拍 视频一区|