国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

FPGA原理與結(jié)構(gòu)(1)——可配置邏輯塊CLB(Configurable Logic Block)

這篇具有很好參考價值的文章主要介紹了FPGA原理與結(jié)構(gòu)(1)——可配置邏輯塊CLB(Configurable Logic Block)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

系列文章目錄:FPGA原理與結(jié)構(gòu)(0)——目錄與傳送門

一、什么是CLB

1、CLB簡介? ? ??

????????可配置邏輯塊CLB(Configurable Logic Block)是xilinx系類FPGA的基本邏輯單元(在各系列中CLB可能有所不同,以下我們主要討論Xilinx 7系類),是實現(xiàn)時序邏輯電路和組合邏輯電路的主要邏輯資源。

2、CLB的組成

? ? ? ? 一般來說,EDA完成綜合時會自動分配CLB資源,而不需要系統(tǒng)設(shè)計者的干預(yù)。對于設(shè)計者來說,理解某些CLB細(xì)節(jié)是有利的,包括查找表(LUTs)的不同功能、進(jìn)位的物理方向、可用觸發(fā)器的數(shù)量和分布,以及移位寄存器的可使用情況等。

? ? ? ? 每個CLB可以被劃分成兩個Slice,并引出邏輯連線至開關(guān)矩陣(Switch Matrix,作為布線資源),同時還包含著算術(shù)進(jìn)位邏輯的功能(CIN,COUT,進(jìn)位輸入和輸出)。如下圖所示:

fpga的clb,FPGA原理與結(jié)構(gòu),fpga開發(fā),fpga,硬件架構(gòu)

????????由于Slice有SliceL(Logic)和SliceM(Memory)之分,因此CLB可分為CLBLL和CLBLM兩類。

????????SliceL和SliceM內(nèi)部都包含4個6輸入查找表(LUT6)、3個數(shù)據(jù)選擇器(MUX)、1個進(jìn)位鏈(Carry Chain)和8個觸發(fā)器(Flip-Flop)。

? ? ? ? 接下來我們打開vivado,選擇一個7系類的device來直觀的感受一下CLB的構(gòu)成,以下為zynq7000系類的device視圖:

fpga的clb,FPGA原理與結(jié)構(gòu),fpga開發(fā),fpga,硬件架構(gòu)

? ? ? ? 我們逐漸放大途中光標(biāo)坐在位置:

fpga的clb,FPGA原理與結(jié)構(gòu),fpga開發(fā),fpga,硬件架構(gòu)

可以看到這就是我們的一個CLB,在xilinx 7系類中有若干個這樣的CLB單元。進(jìn)一步放大可以看到CLB的具體組成結(jié)構(gòu):

fpga的clb,FPGA原理與結(jié)構(gòu),fpga開發(fā),fpga,硬件架構(gòu)

在這里我們可以清楚地看到,一個CLB由左右兩個slice構(gòu)成,每個slice中包含有4個6-input的LUT?,3個數(shù)據(jù)選擇器(MUX),一個進(jìn)位鏈(Carry Chain)和8個觸發(fā)器(Flip-Flop)。

3、SLICEM與SLICEL的區(qū)別

? ? ? ? 首先我們繼續(xù)從device的角度直觀觀察兩者的區(qū)別,下圖為SLICEM的視圖展示:? ? ? ?

fpga的clb,FPGA原理與結(jié)構(gòu),fpga開發(fā),fpga,硬件架構(gòu)

? ? ? ? ?下圖為SLICEL的視圖展示:

fpga的clb,FPGA原理與結(jié)構(gòu),fpga開發(fā),fpga,硬件架構(gòu)

? ? ? ? 可以看到從視圖上明顯的區(qū)別就在于兩者的LUT有所不同,我們對兩者的LUT進(jìn)一步放大進(jìn)行觀察:

fpga的clb,FPGA原理與結(jié)構(gòu),fpga開發(fā),fpga,硬件架構(gòu)fpga的clb,FPGA原理與結(jié)構(gòu),fpga開發(fā),fpga,硬件架構(gòu)

? ? ? ? ?左側(cè)是SliceM對應(yīng)的LUT視圖,右側(cè)為SliceL對應(yīng)的LUT視圖。

?????????SLICEM(M:Memory):其內(nèi)部的LUT可以讀也可以寫,可以實現(xiàn)移位寄存器和64bit的DRAM等存儲功能,還可以實現(xiàn)基本的查找表邏輯。
? ? ? ? ?SLICEL(L:Logic): 其內(nèi)部的LUT只可以讀,只能實現(xiàn)基本的查找表邏輯。

? ? ? ? 在上圖中,CLB由一個SLICEM和一個SLICEL組成,在實際情況中,一個CLB也有可能是由2個SLICEL組成。但是不會由2個SLICEM組成。

? ? ? ? 大部分情況下,F(xiàn)PGA中SLICEL和SLICEM的數(shù)量比例為SLICEL:SLICEM = 2:1。

4、官方推薦的設(shè)計流程

? ? ? ? 我們學(xué)習(xí)硬件底層有時候最終還是為了優(yōu)化我們的代碼設(shè)計,基于此官方在手冊中也給出了幾條推薦的HDL設(shè)計:

(1)CLB中的觸發(fā)器有一個置位(set)和一個復(fù)位(reset),設(shè)計者禁止同時使用這兩者。

(2)硬件中有著大量的觸發(fā)器,所以推薦使用流水線的方式來提高效率。

(3)控制類輸入信號在一個slice或者CLB中是被共享的,所以設(shè)計中的唯一控制類輸入信號的數(shù)量應(yīng)該減少??刂祁愝斎胄盘柊〞r鐘信號,時鐘使能信號,使能信號,置位/復(fù)位信號。

(4)6輸入LUT可以被設(shè)計成32位移位寄存器來提高布線效率。

(5)6輸入LUT 可以被設(shè)計成64*1的DRAM來完成小規(guī)模存儲需求。

(6)專用進(jìn)位邏輯有效地實現(xiàn)了算術(shù)函數(shù)。

二、CLB在FPGA中的分布

? ? ? ? CLB在xilinx 7系類FPGA中按列分布,7系列是基于ASMBL體系結(jié)構(gòu)提供的獨特柱狀方法的第四代。

ASMBL 架構(gòu):

????????Xilinx創(chuàng)建了高級硅模塊(Advanced Silicon Modular Block,ASMBL)體系結(jié)構(gòu),使FPGA平臺具有針對不同應(yīng)用領(lǐng)域優(yōu)化的不同功能組合。下圖提供了基于列的不同類型的資源描述。

fpga的clb,FPGA原理與結(jié)構(gòu),fpga開發(fā),fpga,硬件架構(gòu)

? ? ? ? ?ASMBL通過使用獨特的基于列的結(jié)構(gòu),實現(xiàn)了支持多專門領(lǐng)域應(yīng)用平臺的概念。每列代表一個專門功能的硅子系統(tǒng),如邏輯資源,存儲器,I/O,DSP處理,硬核IP和混合信號等。xilinx公司通過組合不同的功能列,組裝成面向特定應(yīng)用類別的專門FPGA(與專用不同,專門是指一項單一的應(yīng)用)。典型的有邏輯密集型、存儲密集型和處理器密集型等。例如,用與圖像處理的處理器密集型芯片可能就包含有比較多的DSP功能列。

? ? ? ? ASMBL架構(gòu)具體優(yōu)勢不是本文的重點內(nèi)容,這里不做詳細(xì)的展開,簡單說就是(1)解決基于應(yīng)用領(lǐng)域的設(shè)計問題(2)解決在傳統(tǒng)ASIC和FPGA設(shè)計中都存在的一些技術(shù)約束問題。

? ? ? ? 說了這么多,其實對于本文來說,只需要了解CLB在xilinx 7系類FPGA中根據(jù)ASMBL架構(gòu)按列排布即可。

三、CLB Slices概述

1、Slice的分布排列? ? ? ??

????????前文我們已經(jīng)提到過一個CLB由兩個Slice構(gòu)成,一個Slice中有4個6輸入的查找表LUT,8個觸發(fā)器FF。在之前我們在vivado中通過device直接觀察時感覺似乎Slice之間是一左一右對稱的形式存在的,但是在實際的硬件中卻有所不同(device里只是示意圖):

? ? ? ? Slice(0):CLB的左下角

? ? ? ? Slice(1):CLB的右上角

? ? ?這兩個slice相互之間沒有直接的連接,每個slice都在一個單獨的列里(從ASMBL架構(gòu)圖中體現(xiàn)地很明顯)?,并且每個slice具有獨立的進(jìn)位鏈。具體地排列可以參見下圖:

????????fpga的clb,FPGA原理與結(jié)構(gòu),fpga開發(fā),fpga,硬件架構(gòu)

2、Slice的內(nèi)部結(jié)構(gòu)

? ? ? ? ? ? ?我們都知道了Slice根據(jù)其LUT的不同可以分為SliceM(memory)和SliceL(logic)。

(1)SliceM的結(jié)構(gòu)組成:

fpga的clb,FPGA原理與結(jié)構(gòu),fpga開發(fā),fpga,硬件架構(gòu)

(2)SliceL的結(jié)構(gòu)組成:

fpga的clb,FPGA原理與結(jié)構(gòu),fpga開發(fā),fpga,硬件架構(gòu)

? ? ? ? ?具體的內(nèi)部連接看不同沒關(guān)系,但是在這個階段我們應(yīng)該能夠分辨上圖中的各個模塊,包括哪些是LUT,MUX,carry chain和FF。至于關(guān)于這些模塊的具體細(xì)節(jié),我們接著往下看。

四、查找表Look-Up Table (LUT)

? ? ? ? LUT是CLB的重要組成部分,其本質(zhì)就是一個RAM,用來實現(xiàn)數(shù)字電路中邏輯門的功能,把輸入映射成存儲地址,再輸出對應(yīng)地址(輸入)內(nèi)存儲的值作為輸出來實現(xiàn)所需的邏輯功能。7系類的FPGA中使用6-LUT,它通過2個5-LUT組成,也可以通過其他邏輯器件實現(xiàn)7/8輸入。?

? ? ? ? 關(guān)于LUT的詳細(xì)內(nèi)容,請閱讀:FPGA原理與結(jié)構(gòu)——查找表LUT(Look_Up_Table)

? ? ? ? 我們知道slice有SLICEM和SLICEL兩種,其區(qū)別就在于他們的LUT不同,SLICEM的LUT既可以讀,又可以寫;SLICEL的LUT只能讀。由于SLICEM的LUT具有可以讀寫的特性,他還可以被配置成DRAM或者移位寄存器來使用。

? ? ? ? 關(guān)于DRAM的內(nèi)容,請閱讀:FPGA原理與結(jié)構(gòu)——分布式RAM(Distributed RAM,DRAM)

? ? ? ? 關(guān)于移位寄存器的詳細(xì)內(nèi)容,請閱讀:FPGA原理與結(jié)構(gòu)——移位寄存器(Shift Registers)

五、存儲單元Storage Elements

? ? ? ? 在CLB中主要有2種類型的存儲單元,一種只能被配置成觸發(fā)器(FF),另一種既可以被配置成觸發(fā)器(FF),也可以被配置成鎖存器(Latch),然后他們根據(jù)復(fù)位方式的不同,復(fù)位后輸出結(jié)果的不同可以被配置成不同類型的觸發(fā)器/鎖存器。

? ? ? ? 關(guān)于存儲單元的詳細(xì)內(nèi)容,請閱讀:FPGA原理與結(jié)構(gòu)——存儲單元(Storage Elements)

六、數(shù)據(jù)選擇器MUX(Multiplexers)

? ? ? ? 數(shù)據(jù)選擇器是一個多輸入,單輸出的組合邏輯器件,在每個slice中有一個F7BMUX和一個F7AMUX,這兩個MUX將兩個lut的輸出組合起來,形成一個多達(dá)13個輸入(或一個8:1的MUX)的組合函數(shù)。在一個slice中最多最多可以部署兩個MUX8。每個slice還就有一個F8MUX,它可以把F7AMUX和F7BMUX的輸出作為自己的輸入,形成一個多達(dá)27個輸入(或一個16:1的MUX)的組合函數(shù)。一個slice中最多只能部署一個MUX16。

? ? ? ? 關(guān)于MUX的詳細(xì)內(nèi)容,請閱讀:FPGA原理與結(jié)構(gòu)——數(shù)據(jù)選擇器MUX(Multiplexers)

七、進(jìn)位鏈(CARRY4)

? ? ? ? 進(jìn)位邏輯在FPGA中有著非常廣泛的應(yīng)用,其功能主要是實現(xiàn)二進(jìn)制的加減法運算。在7系列的FPGA中,一個CLB中有兩個Slice,一個Slice中包含4個LUT6、3個數(shù)據(jù)選擇器MUX、1個獨立進(jìn)位鏈(Carry4,Ultrascale是Carry8)和8個觸發(fā)器。這里我們談?wù)揅arry4。在CLB中,除了函數(shù)發(fā)生器之外,還提供了專用的快速超前進(jìn)位邏輯,以slice中執(zhí)行快速算術(shù)加法和減法,?進(jìn)位鏈還可級聯(lián)以形成更寬的加/減邏輯。

? ? ? ? 關(guān)于進(jìn)位鏈的詳細(xì)內(nèi)容,請閱讀:FPGA原理與結(jié)構(gòu)——進(jìn)位鏈CARRY文章來源地址http://www.zghlxwxcb.cn/news/detail-720051.html

到了這里,關(guān)于FPGA原理與結(jié)構(gòu)(1)——可配置邏輯塊CLB(Configurable Logic Block)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • FPGA - 7系列 FPGA內(nèi)部結(jié)構(gòu)之CLB -02- CLB功能詳解

    FPGA - 7系列 FPGA內(nèi)部結(jié)構(gòu)之CLB -02- CLB功能詳解

    本文翻譯自UG474第二章,主要對7系列FPGAs CLB結(jié)構(gòu)進(jìn)行詳細(xì)介紹。這些細(xì)節(jié)對設(shè)計優(yōu)化和驗證很有幫助。 CLB 在 7 系列 FPGA 中按列排列。 7 系列是基于 ASMBL架構(gòu)提供的獨特柱狀方法的第四代產(chǎn)品。ASMBL 架構(gòu) Xilinx 創(chuàng)建了高級硅模塊塊 (ASMBL) 架構(gòu),以支持具有針對不同應(yīng)用領(lǐng)域優(yōu)化

    2024年02月06日
    瀏覽(21)
  • FPGA - 7系列 FPGA內(nèi)部結(jié)構(gòu)之CLB -03- CLB相關(guān)原語以及應(yīng)用

    FPGA - 7系列 FPGA內(nèi)部結(jié)構(gòu)之CLB -03- CLB相關(guān)原語以及應(yīng)用

    本文節(jié)選UG474的第二章,進(jìn)行整理翻譯。CLB資源被FPGA綜合工具自動有效地使用,不需要任何特殊的FPGA專用編碼。一些HDL編碼建議和技術(shù)可以幫助優(yōu)化設(shè)計以獲得最大效率。 這些指南是為有效使用7系列CLB的設(shè)計建議提供的快速核對表。7系列CLB的設(shè)計建議: 資源利用 使用通用

    2024年02月03日
    瀏覽(31)
  • Xilinx-7系列之可配置邏輯塊CLB

    Xilinx-7系列之可配置邏輯塊CLB

    目錄 一、概覽 二、CLB結(jié)構(gòu) 三、Slice內(nèi)部結(jié)構(gòu) 3.1 SliceM結(jié)構(gòu) 3.2 SliceL結(jié)構(gòu) 3.3 查找表LUT 3.4 多路復(fù)用器 3.5?存儲單元 3.6?進(jìn)位邏輯 四、應(yīng)用 4.1 分布式RAM 4.2?ROM(只讀存儲器) 4.3 Shift Registers(?移位寄存器) 4.4?存儲資源容量估算 五、參考資料 ????可配置邏輯塊CLB(Configure Logic?

    2024年02月10日
    瀏覽(26)
  • FPGA原理介紹 (CLB, LUT, 進(jìn)位鏈, 存儲元素, RAM)

    FPGA原理介紹 (CLB, LUT, 進(jìn)位鏈, 存儲元素, RAM)

    本文首先對 ASIC 和 FPGA 進(jìn)行了一個對比,然后介紹了 FPGA 的基本結(jié)構(gòu),最后解釋了 FPGA 實現(xiàn)可編程的基本原理。 這里先給出 ASIC 和 FPGA 的優(yōu)缺點 ASIC FPGA 優(yōu)點 性能優(yōu)越 可靠性高 大批量下單位成本低 開發(fā)初期無投入資金壁壘 設(shè)計工具使用方便,設(shè)計簡單快速 產(chǎn)品原型機(jī)開發(fā)

    2024年02月20日
    瀏覽(29)
  • jvs-logic邏輯引擎中的循環(huán)操作配置詳解

    jvs-logic邏輯引擎中的循環(huán)操作配置詳解

    在當(dāng)今數(shù)字化、信息化的社會中,數(shù)據(jù)處理和邏輯運算成為了許多業(yè)務(wù)和應(yīng)用的核心。循環(huán)操作作為數(shù)據(jù)處理中一種常見的業(yè)務(wù)模式,其配置和實現(xiàn)的效率與準(zhǔn)確性直接影響了整個業(yè)務(wù)流程的運行效果。因此,掌握循環(huán)操作的配置方法,尤其是在邏輯引擎的框架下,顯得尤為

    2024年02月19日
    瀏覽(17)
  • 《邏輯綜合(logic synthesis)入門指南》

    《邏輯綜合(logic synthesis)入門指南》

    Hello, 歡迎來到邏輯綜合的世界,在這里我將用盡可能通俗的語言,介紹什么是邏輯綜合。 我開源了一款邏輯綜合工具phyLS在開源網(wǎng)站github,有興趣的朋友可以關(guān)注一下~GitHub - panhongyang0/phyLS: A Logic Synthesis tool based on EPFL Logic Synthesis Library \\\"mockturtle\\\" 技術(shù)是不斷進(jìn)步的,因此本文

    2023年04月21日
    瀏覽(43)
  • jvs-logic邏輯引擎功能新增:邏輯憑證、自定義權(quán)限控制等等

    jvs-logic邏輯引擎功能新增:邏輯憑證、自定義權(quán)限控制等等

    1.新增邏輯復(fù)制功能;主要用于數(shù)據(jù)的同步和復(fù)制 2.邏輯新增權(quán)限設(shè)置功能; 每個邏輯可以設(shè)置不同的權(quán)限,邏輯頁的功能權(quán)限配置默認(rèn)是全部賦權(quán)給應(yīng)用授權(quán)的相關(guān)人員,也可以按照自定義配置,如圖所示,選擇自定義時,可以對人員設(shè)置可以操作的按鈕。 人員選擇方式

    2024年02月06日
    瀏覽(21)
  • 獨立服務(wù)編排邏輯引擎:jvs-logic服務(wù)原子組件介紹

    獨立服務(wù)編排邏輯引擎:jvs-logic服務(wù)原子組件介紹

    邏輯引擎的本質(zhì)是可視化的服務(wù)編排是指使用圖形化工具、配置和管理原子服務(wù)間的工作步驟和調(diào)用關(guān)系。這種方法可以快速的實現(xiàn)業(yè)務(wù)功能,使非開發(fā)人員也能輕松地創(chuàng)建和管理服務(wù)的工作流程。 可視化服務(wù)編排工具提供了直觀的界面和豐富的功能,以及便捷的執(zhí)行步驟控

    2024年02月11日
    瀏覽(22)
  • FPGA - 7系列 FPGA內(nèi)部結(jié)構(gòu)之SelectIO -08- 高級邏輯資源之OSERDESE2

    FPGA - 7系列 FPGA內(nèi)部結(jié)構(gòu)之SelectIO -08- 高級邏輯資源之OSERDESE2

    本文節(jié)選UG471的第三章,進(jìn)行整理翻譯,用于介紹高級SelectIO邏輯資源內(nèi)部的OSERDESE2資源。 7 系列器件中的 OSERDESE2 是專用的并串轉(zhuǎn)換器,具有特定的時鐘和邏輯資源,旨在促進(jìn)高速源同步接口的實現(xiàn)。 每個 OSERDESE2 模塊都包含一個用于數(shù)據(jù)和三態(tài)控制的專用串行器。 數(shù)據(jù)和三

    2023年04月27日
    瀏覽(25)
  • FPGA - 7系列 FPGA內(nèi)部結(jié)構(gòu)之SelectIO -04- 邏輯資源之IDELAY和IDELAYCTRL

    FPGA - 7系列 FPGA內(nèi)部結(jié)構(gòu)之SelectIO -04- 邏輯資源之IDELAY和IDELAYCTRL

    本文節(jié)選UG471的第二章,進(jìn)行整理翻譯,用于介紹SelectIO資源內(nèi)部的IDELAY資源和IDELAYCTRL資源。 每個 I/O 模塊都包含一個稱為 IDELAYE2 的可編程延遲原語。 IDELAY 可以連接到 ILOGICE2/ISERDESE2 或 ILOGICE3/ISERDESE2 塊。 IDELAYE2 是一個 31 抽頭、環(huán)繞式延遲原語,具有校準(zhǔn)的抽頭分辨率。它

    2023年04月08日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包