女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

先看看ARRAY_PARTITION的基本語法

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

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

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

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

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

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

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

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

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

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

那么到底什么時候用block,什么時候用cyclic呢?本質上與數據流密切相關,在下一篇文章中我們給出一個具體案例幫助大家理解。

責任編輯:lq

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

    關注

    31

    文章

    5424

    瀏覽量

    123504
  • 數組
    +關注

    關注

    1

    文章

    419

    瀏覽量

    26393
  • 圖形界面
    +關注

    關注

    0

    文章

    38

    瀏覽量

    7532

原文標題:圖解ARRAY_PARTITION

文章出處:【微信號:Lauren_FPGA,微信公眾號:FPGA技術驛站】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    國星光電InfoComm 2025亮點搶先看

    全球視聽技術盛宴InfoComm 2025即將啟幕!國星光電將攜創新技術矩陣強勢登陸奧蘭多!從微間距顯示核心到多場景顯示應用,三大亮點搶先看
    的頭像 發表于 06-11 09:29 ?150次閱讀

    為什么無法使用“numpy.array”函數加載圖像文件?

    替換為圖像文件: random_input_data = np.array(r\"image.png\").astype(np.float16) 遇到錯誤: ValueError: 無法將字符串轉換為浮點數
    發表于 03-06 07:31

    Lua語法基礎教程(下篇)

    今天我們繼續學習Lua語法基礎教程,下篇。 九、函數 9.1 初識函數 函數是指一段在一起的、可以做某一件事兒的程序,也叫做子程序。 在前面的內容中,我們已經接觸過了函數的調用,這個函數就是前面用到
    的頭像 發表于 10-26 11:41 ?609次閱讀
    Lua<b class='flag-5'>語法</b>基礎教程(下篇)

    Lua語法基礎教程(中篇)

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

    Verilog語法中運算符的用法

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

    Lua語法基礎教程(上篇)

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

    編譯例程partition_mmap,報錯no such vaddr range怎么解決?

    內存映射問題:編譯例程partition_mmap,報錯no such vaddr range怎么解決?
    發表于 09-26 07:03

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

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

    HarmonyOS Next 原生應用開發-ArkTS語法適配背景說明

    ArkTS在保持TypeScript(簡稱TS)基本語法風格的基礎上,進一步通過規范強化靜態檢查和分析,使得在程序開發期能檢測更多錯誤,提升程序穩定性,并實現更好的運行性能。本文將進一步解釋為
    發表于 07-01 16:49

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

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

    為什么nvs_partition_gen.py無法對csv文件轉換成bin文件?

    對應的 NVS 分區: $IDF_PATH/components/nvs_flash/nvs_partition_generator/nvs_partition_gen.py --input
    發表于 06-25 06:25

    配置ble mesh保存節點信息時初始化partition失敗了怎么處理?

    Flash Size : 4MB I (54) boot: Enabling RNG early entropy source... I (60) boot: Partition Table: I
    發表于 06-24 07:39

    FPGA學習筆記---基本語法

    Verilog語法是指硬件能夠實現的語法。它的子集很小。常用的RTL語法結構如下: 1、模塊聲明:module ... end module 2、端口聲明:input, output, inout
    發表于 06-23 14:58

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

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

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

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