在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

先看看ARRAY_PARTITION的基本語法

FPGA技術(shù)驛站 ? 來源:Lauren的FPGA ? 作者:Lauren的FPGA ? 2020-11-20 10:48 ? 次閱讀

ARRAY_PARTITION是將數(shù)組按照指定要求分割成多個(gè)小的數(shù)組,形成多個(gè)小的存儲(chǔ)空間。這帶來的最直接的好處是增加了數(shù)據(jù)讀/寫端口的個(gè)數(shù),也就提高了數(shù)據(jù)吞吐率,但同時(shí)也會(huì)消耗更多的RAM資源或者寄存器

先看看ARRAY_PARTITION的基本語法,如下圖所示。這種方法是直接在代碼中用#pragma的方式描述,當(dāng)然也可以直接在VitisHLS中采用圖形界面方式描述,如下圖所示。

在這里有兩個(gè)個(gè)重要的參數(shù)type和factor,其中type有三個(gè)可選值,分別為block、cyclic和complete。我們看看三者到底有什么區(qū)別。為便于說明,這里我們以一個(gè)數(shù)組長度為12的一維數(shù)組A[12]為例。如果type為block,factor為4,意味著將A[12]分割為4個(gè)小的數(shù)組,這樣每個(gè)數(shù)組的長度為12/4=3,同時(shí)每個(gè)數(shù)組中的元素是按順序依次從原始數(shù)組中獲取。如果type為cyclic,factor為4,這仍是將數(shù)組分割為4個(gè)長度為3的小數(shù)組,每個(gè)數(shù)組中的元素是交織地從原始數(shù)組中獲取。如果type是complete,此時(shí)參數(shù)factor不起作用,可理解為將數(shù)組全部打散,可同時(shí)獲取到12個(gè)元素,從而以寄存器方式實(shí)現(xiàn)。三者的區(qū)別如下圖所示。

上述三種形式以#pragma的形式描述如下圖所示。

block、cyclic和complete在下面這種描述方式下,最終的結(jié)果是一致的。

這里有一個(gè)問題,如果factor不能被數(shù)組長度整除時(shí)會(huì)是怎樣的結(jié)果呢?假定上述案例中factor為5,最終將是5個(gè)數(shù)組,其中前4個(gè)數(shù)組長度為2,最后一個(gè)數(shù)組長度為4。

ARRAY_PARTITION還允許對不同維度進(jìn)行分割,以二維數(shù)組A[6][4]為例,dim的含義如下圖所示。

一旦指定了dim,就可以對指定dim進(jìn)行分割,這里以A[6][4]為例,分割情形如下圖所示。

此外,在使用#pragma方式描述時(shí),可以通過宏macro給參數(shù)賦值,如下圖所示方式。

那么到底什么時(shí)候用block,什么時(shí)候用cyclic呢?本質(zhì)上與數(shù)據(jù)流密切相關(guān),在下一篇文章中我們給出一個(gè)具體案例幫助大家理解。

責(zé)任編輯:lq

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

    關(guān)注

    31

    文章

    5369

    瀏覽量

    121275
  • 數(shù)組
    +關(guān)注

    關(guān)注

    1

    文章

    417

    瀏覽量

    26034
  • 圖形界面
    +關(guān)注

    關(guān)注

    0

    文章

    37

    瀏覽量

    7407

原文標(biāo)題:圖解ARRAY_PARTITION

文章出處:【微信號:Lauren_FPGA,微信公眾號:FPGA技術(shù)驛站】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    Lua語法基礎(chǔ)教程(下篇)

    今天我們繼續(xù)學(xué)習(xí)Lua語法基礎(chǔ)教程,下篇。 九、函數(shù) 9.1 初識函數(shù) 函數(shù)是指一段在一起的、可以做某一件事兒的程序,也叫做子程序。 在前面的內(nèi)容中,我們已經(jīng)接觸過了函數(shù)的調(diào)用,這個(gè)函數(shù)就是前面用到
    的頭像 發(fā)表于 10-26 11:41 ?342次閱讀
    Lua<b class='flag-5'>語法</b>基礎(chǔ)教程(下篇)

    Lua語法基礎(chǔ)教程(中篇)

    今天我們繼續(xù)學(xué)習(xí)Lua語法基礎(chǔ)教程,中篇。 五、變量 5.1 number變量 變量,可以看作是一個(gè)桶,在里面裝你想要裝的內(nèi)容。這些內(nèi)容可以是Lua包含的所有合法類型。 例如:我想要新建一個(gè)桶,名叫
    的頭像 發(fā)表于 10-26 11:39 ?314次閱讀
    Lua<b class='flag-5'>語法</b>基礎(chǔ)教程(中篇)

    Verilog語法中運(yùn)算符的用法

    verilog語法中使用以下兩個(gè)運(yùn)算符可以簡化我們的位選擇代碼。
    的頭像 發(fā)表于 10-25 15:17 ?1316次閱讀
    Verilog<b class='flag-5'>語法</b>中運(yùn)算符的用法

    Lua語法基礎(chǔ)教程(上篇)

    今天我們來學(xué)習(xí)Lua語法基礎(chǔ)教程。由于篇幅過長,將分為上中下三篇進(jìn)行講解,本篇為上篇。 一、初識Lua Lua 是一種輕量小巧的腳本語言,它用標(biāo)準(zhǔn)C語言編寫并以源代碼形式開放。這意味著什么呢?這
    的頭像 發(fā)表于 10-24 07:17 ?294次閱讀

    編譯例程partition_mmap,報(bào)錯(cuò)no such vaddr range怎么解決?

    內(nèi)存映射問題:編譯例程partition_mmap,報(bào)錯(cuò)no such vaddr range怎么解決?
    發(fā)表于 09-26 07:03

    rk3568在.config中配置了CONFIG_OPTEE_ALWAYS_USE_SECURITY_PARTITION =y,parameter.txt卻沒有security分區(qū)

    security partition Authentication key not yet programmed E/TC:? 0 tee_rpmb_verify_key_sync_counter:1019
    發(fā)表于 07-29 12:14

    使用NVS Partition Generator Utility nvs讀取不到key值,是怎么回事?

    /nvs_flash/nvs_partition_generator/nvs_partition_gen.py --input test.csv --output test.bin --size 0x6000
    發(fā)表于 06-26 07:37

    為什么nvs_partition_gen.py無法對csv文件轉(zhuǎn)換成bin文件?

    對應(yīng)的 NVS 分區(qū): $IDF_PATH/components/nvs_flash/nvs_partition_generator/nvs_partition_gen.py --input
    發(fā)表于 06-25 06:25

    FPGA學(xué)習(xí)筆記---基本語法

    Verilog語法是指硬件能夠?qū)崿F(xiàn)的語法。它的子集很小。常用的RTL語法結(jié)構(gòu)如下: 1、模塊聲明:module ... end module 2、端口聲明:input, output, inout
    發(fā)表于 06-23 14:58

    擦除flash的API函數(shù)esp_partition_erase_range(),擦除的扇區(qū)大小能否設(shè)置呢?

    前提:如題,esp_partition_erase_range()函數(shù)擦除flash要求偏移offset與大小size必須對齊4KByte,即整片扇區(qū)擦除; 使用場景:我需要
    發(fā)表于 06-20 06:26

    IDF-4.4.2在修改boot過程中,編譯有提示bootloader受到partition-table offset的限制,為什么?

    我在 IDF-4.4.2在修改boot過程中,編譯有提示bootloader受到partition-table offset的限制,如下圖 可當(dāng)我用menuconfig修改后,發(fā)現(xiàn)從0XC000
    發(fā)表于 06-14 06:27

    請問如何讀取partition table的數(shù)據(jù)?

    用分區(qū)API ,esp_partition_find_first(); 無法找到partition table分區(qū),只能查到0x9000后面的地址! 只能讀取NVS,PHY這些。 有什么方法可以讀取 0x8000 -0x9000 的數(shù)據(jù)嗎?
    發(fā)表于 06-11 06:57

    直流可編程電子負(fù)載IT8500系列編程與語法指南

    電子發(fā)燒友網(wǎng)站提供《直流可編程電子負(fù)載IT8500系列編程與語法指南.pdf》資料免費(fèi)下載
    發(fā)表于 04-14 09:56 ?3次下載

    hierarchy partition后,為何maia_cpu做floorplan時(shí)候不見pin?

    小編首先聯(lián)想到partition是否將pin push下去,我們可以debug一下,回到maia_topdown/work目錄下,invs打開MAIA命令如下:
    的頭像 發(fā)表于 02-23 10:11 ?576次閱讀
    hierarchy <b class='flag-5'>partition</b>后,為何maia_cpu做floorplan時(shí)候不見pin?

    在Cm0plusStart.c中 __libc_init_array() 函數(shù)的作用是什么?

    請問下,在Cm0plusStart.c中 __libc_init_array() 函數(shù)的作用是什么? 用戶如果屏蔽這個(gè)函數(shù)后會(huì)有什么潛在的問題? Thanks.
    發(fā)表于 02-21 06:34
    主站蜘蛛池模板: 国产精品免费久久久久影院 | 被cao到合不拢腿腐男男 | 欧美一级欧美三级在线 | 日韩欧美黄色 | 一级毛片一级毛片一级毛片 | 亚洲天堂不卡 | 韩国三级在线不卡播放 | 天天爱天天爽 | 99久久综合国产精品免费 | 久久精品.com | 免费观看a毛片一区二区不卡 | 日韩在线视频免费观看 | 亚洲黄站 | 婷婷草| 国模欢欢炮交啪啪150 | 中文字幕在线看视频一区二区三区 | 色第一页| 天天插天天爽 | 欧美日韩国产一区二区 | 色婷婷色综合激情国产日韩 | 天堂8在线天堂bt | 99热这里只有精品一区二区三区 | 男女刺激性视频大片 | 免费一级特黄欧美大片勹久久网 | 免费一级特黄欧美大片勹久久网 | 久久精品国产精品亚洲毛片 | 天天摸天天爽天天澡视频 | 国产18到20岁美女毛片 | 免费公开视频人人人人人人人 | 亚洲成人午夜影院 | www天堂在线 | 欧美亚洲另类在线观看 | 浮荡视频在线观看免费 | 夜夜艹天天干 | 色午夜在线 | 亚洲成在人天堂一区二区 | 成年女人毛片免费观看97 | 日本特黄特色大片免费播放视频 | 伊人不卡久久大香线蕉综合影院 | 一本到在线观看视频不卡 | 日韩高清特级特黄毛片 |