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

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

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

介紹SLICEM里的LUT如何形成RAM資源

電子工程師 ? 來(lái)源:未知 ? 作者:李倩 ? 2018-10-30 10:28 ? 次閱讀

初識(shí)FPGA CLB之LUT實(shí)現(xiàn)RAM

一. 概述

在文章《初識(shí)FPGA CLB之LUT實(shí)現(xiàn)邏輯函數(shù)》里面我們講過(guò)了LUT的原理,實(shí)現(xiàn)邏輯函數(shù)時(shí),相當(dāng)于一個(gè)ROM將結(jié)果預(yù)存,然后把通過(guò)輸入信號(hào)當(dāng)作地址對(duì)預(yù)存的結(jié)果進(jìn)行尋址。因此同樣借助LUT加幾個(gè)端口,就可以實(shí)現(xiàn)RAM。SLICEM里面的LUT就可以用來(lái)實(shí)現(xiàn)RAM資源。

二. 原理介紹

SLICEM里面的LUT跟SLICEL里面的LUT相比多了DI2,WA[6:1],CLK,WE這幾個(gè)端口。做RAM用的時(shí)候,其中DI1,DI2是寫數(shù)據(jù)輸入端口,O5,O6同樣是數(shù)據(jù)輸出端口,支持一次性兩bit或者單bit讀寫。A[6:1]為讀地址,WA[6:1]為寫地址,WE為寫使用,CLK為時(shí)鐘端口。

從這可以看出,一個(gè)LUT具有2^6=64bit的存儲(chǔ)空間。

故一個(gè)LUT可以作為64x1bits的RAM(內(nèi)存大小為64bit,1bit讀寫),地址為6位。當(dāng)讀寫地址共用一個(gè)端口時(shí)為單端口RAM,不共用時(shí)則為雙端口RAM(SLICEM里面第一個(gè)LUT的WA與A是連在一起的,故第一個(gè)LUT做不了雙端口RAM)。輸出數(shù)據(jù)可以經(jīng)過(guò)SLICEM里面的Register資源打一拍以提高時(shí)序特性(在工具里面可以自己設(shè)置)。

或者作為32x2bits的RAM(2bit讀寫),地址為5位,A[6]拉高。輸出為O5,O6。

三. 擴(kuò)展與提升

一個(gè)SLICEM里面有4個(gè)LUT,他們可以組合得到多種大小的RAM。首先就是四端口的32x2bits的RAM,支持一次性讀寫2bits,原理如下圖。四個(gè)LUT的寫數(shù)據(jù)端口DI1,DI2,寫使能WE,寫地址WA共用,稱為寫控制信號(hào)共用。讀地址A分別控制。

如下圖,4個(gè)LUT構(gòu)成32x6bits的RAM,支持6bits讀寫操作。當(dāng)讀寫共用一個(gè)地址時(shí),就是單端口RAM,當(dāng)讀寫不共用地址時(shí)就是雙端口RAM。可以看到第一個(gè)LUT其實(shí)沒用到,是因?yàn)榈谝粋€(gè)LUT的A與WA是連到一起的不能改變,所以做不了雙端口。其實(shí)現(xiàn)原理就是3個(gè)LUT的并行2bit讀寫。

當(dāng)然大家自己開動(dòng)腦筋想一下也就知道了還可以組成其它什么類型的RAM,這里我們?cè)倥e個(gè)例子就是借助選擇器實(shí)現(xiàn)128x1bits的RAM。

同樣借助選擇器在一個(gè)SLICEM里面還可以構(gòu)成256x1bit的RAM,這里就不贅述,大家可以自行思考。總之在一個(gè)SLICEM里面可以實(shí)現(xiàn)的RAM有如下表中的幾種。

多個(gè)SLICEM資源配合就可以構(gòu)成更多內(nèi)存大小種類的RAM。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(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)投訴
  • RAM
    RAM
    +關(guān)注

    關(guān)注

    8

    文章

    1354

    瀏覽量

    114444
  • 輸出數(shù)據(jù)
    +關(guān)注

    關(guān)注

    0

    文章

    4

    瀏覽量

    6123

原文標(biāo)題:初識(shí)FPGA CLB之LUT實(shí)現(xiàn)RAM

文章出處:【微信號(hào):LF-FPGA,微信公眾號(hào):小魚FPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    FPGA重要資源CLB、Slice、LUT介紹

    CLB可配置邏輯塊是指實(shí)現(xiàn)各種邏輯功能的電路,是xilinx基本邏輯單元。下圖給出了一個(gè) SLICEM 的內(nèi)部結(jié)構(gòu)。
    發(fā)表于 10-08 09:43 ?7644次閱讀

    初識(shí)FPGA CLB之LUT實(shí)現(xiàn)邏輯函數(shù)

    LUT中文名字叫查找表。以7系列的FPGA為例,每一個(gè)Slice里面有四個(gè)LUT。FPGA就是通過(guò)LUT實(shí)現(xiàn)大量的組合邏輯,以及SLICEM里面的L
    的頭像 發(fā)表于 03-13 10:28 ?2902次閱讀

    FPGA—LUT結(jié)構(gòu)介紹

    下面給大家介紹FPGA LUT的結(jié)構(gòu)
    發(fā)表于 07-09 04:57

    Virtex-6 FPGA上的可重配置LUT無(wú)法打包

    用于Virtex 6設(shè)計(jì)的可重配置LUT(CFGLUT)可能被封裝到FPGA的輸出邏輯OLOGICE1而不是SLICEM上的LUT。我的設(shè)計(jì)涉及使用存在于與CFGLUT相同的片中的FF(用于流水線
    發(fā)表于 10-22 11:04

    寄存器中的RAM合成而不是LUT

    大家好,我無(wú)法合成LUT RAM(16深48位寬),而RAM則由寄存器構(gòu)建。經(jīng)過(guò)實(shí)驗(yàn),我發(fā)現(xiàn)我可以通過(guò)注釋掉一些代碼來(lái)獲得LUT RAM綜合
    發(fā)表于 02-15 11:42

    SLICEM和SLICEL的輸出差異怎么回事

    嗨, 我想知道sliceM的輸出。在一個(gè)地方,我已經(jīng)讀過(guò)它的同步寫和異步讀,而在其他地方,sliceM已經(jīng)注冊(cè)了輸出。我知道在寫DRAM(sliceM)時(shí)會(huì)進(jìn)行同步操作。我想知道在讀取時(shí)是否異步
    發(fā)表于 06-15 10:35

    如何讀出LUTRAM的上電值?

    ”,在初始化期間,器件會(huì)在上電后強(qiáng)制清除配置存儲(chǔ)器。這意味著如果我們不初始化LUT RAMduring配置,所有內(nèi)存內(nèi)容都將歸零,因此我們感興趣的信息(SRAM的上電狀態(tài))將丟失。那么,有沒有辦法繞過(guò)這樣的“清除配置內(nèi)存”步驟?是否可以保持LUT
    發(fā)表于 06-18 09:26

    在FPGA設(shè)計(jì)中如何用LUT組建分布式的RAM

    一、查找表LUT就是查找表,對(duì)于4輸入的LUT而言,實(shí)際上就是4位地址位,一位數(shù)據(jù)位的存儲(chǔ)器,能夠存儲(chǔ)16位數(shù)據(jù),所以我們?cè)贔PGA設(shè)計(jì)中可以用LUT組建分布式的RAM。這樣也可以解釋
    發(fā)表于 07-28 08:42

    一文看懂ARMRAM和SDRAM有什么區(qū)別

    本文主要介紹的是ARMRAM和SDRAM有什么區(qū)別,首先介紹RAM的類別及特點(diǎn),其次對(duì)SDRAM做了詳細(xì)闡述,最后
    發(fā)表于 04-27 16:20 ?3.4w次閱讀

    FPGA內(nèi)部可編程邏輯資源的結(jié)構(gòu),CLB資源介紹

    第二種Slice叫SLICEM,電路結(jié)構(gòu)如下。除了LUTS與SLICEL的LUTS不同之外,其余結(jié)構(gòu)都一樣。這就是SLICEM與SLICEL之間的區(qū)別,利用SLICEM的LUTS還可以構(gòu)成RA
    的頭像 發(fā)表于 10-18 17:04 ?1.1w次閱讀

    Xilinx FPGA的三種片上存儲(chǔ)資源

    Xilinx FPGA有三種可以用來(lái)做片上存儲(chǔ)(RAM,ROM等等)的資源,第一個(gè)就是Flip Flop;第二種就是SLICEM里面LUT;第三種就是Block RAMs
    發(fā)表于 12-16 11:31 ?1.3w次閱讀
    Xilinx FPGA的三種片上存儲(chǔ)<b class='flag-5'>資源</b>

    對(duì)于Xilinx FPGA的片上存儲(chǔ)資源的統(tǒng)計(jì)介紹

    Xilinx FPGA有三種可以用來(lái)做片上存儲(chǔ)(RAM,ROM等等)的資源,第一個(gè)就是Flip Flop;第二種就是SLICEM里面LUT;第三種就是Block RAMs
    發(fā)表于 09-15 12:21 ?5236次閱讀
    對(duì)于Xilinx FPGA的片上存儲(chǔ)<b class='flag-5'>資源</b>的統(tǒng)計(jì)<b class='flag-5'>介紹</b>

    FPGA的RAM存儲(chǔ)資源詳細(xì)資料說(shuō)明

    本文檔的主要內(nèi)容詳細(xì)介紹的是FPGA的RAM存儲(chǔ)資源詳細(xì)資料說(shuō)明包括了:1、 FPGA存儲(chǔ)資源簡(jiǎn)介,2、 不同廠家的 Block RAM
    發(fā)表于 12-09 15:31 ?10次下載
    FPGA的<b class='flag-5'>RAM</b>存儲(chǔ)<b class='flag-5'>資源</b>詳細(xì)資料說(shuō)明

    使用FPGA調(diào)用RAM資源的詳細(xì)說(shuō)明

    RAM),其中BRAM是block ram,是存在FPGA中的大容量的RAM,DRAM是FPGA中有LUT(look-up table 查找表)組成的。當(dāng)使用的容量較小會(huì)綜合成DRA
    發(fā)表于 12-30 16:27 ?9次下載

    LUT是什么構(gòu)成的?FPGALUT有什么作用?

    首先開門見山的回答這個(gè)問(wèn)題——LUT的作用是 **實(shí)現(xiàn)所有的邏輯函數(shù)** ,也就是類似于計(jì)算Y=A&B+C+D之類的算式結(jié)果!
    的頭像 發(fā)表于 06-28 10:56 ?3099次閱讀
    <b class='flag-5'>LUT</b>是什么構(gòu)成的?FPGA<b class='flag-5'>里</b>的<b class='flag-5'>LUT</b>有什么作用?