欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

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

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

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

簡述HLS中的數(shù)組初始化遇到的那些個問題

OpenFPGA ? 來源:TeacherGaoFPGAHub ? 作者:TeacherGaoFPGAHub ? 2021-07-21 09:36 ? 次閱讀

在HLS中使用數(shù)組時,尤其是對數(shù)組初始化時,盡可能加上關鍵字static,這樣C++中數(shù)組的行為才能與RTL中存儲單元的行為保持一致。例如:將FIR濾波器系數(shù)存儲在數(shù)組coeff中,由于系數(shù)固定不變,可以斷定該數(shù)組最終映射為RTL中的ROM。

添加static之后,每次函數(shù)在被執(zhí)行時,數(shù)組coeff都會記住其前一次被調用時的值。這就要理解static在C++中的含義,即static規(guī)定其指定的變量存儲方式為靜態(tài)存儲方式,每次調用的初始值為上一次調用的值,調用結束后存儲空間不釋放。對于指定static關鍵字的變量,VitisHLS在生成RTL代碼時會對其先進行初始化。

7bb53a22-e428-11eb-a97a-12bb97331649.png

如果數(shù)組在整個函數(shù)執(zhí)行過程中只發(fā)生讀操作而沒有寫操作,那么建議添加關鍵字const,以保證VitisHLS能正確推斷出ROM。

如果在ROM的初始化過程中出現(xiàn)復雜的運算,例如使用了math.h中的函數(shù)等,建議將初始化過程單獨封裝為一個函數(shù)。我們來看一個案例。在下面的代碼中,函數(shù)init_sin_table用于初始化數(shù)組sin_table。在其初始化過程中會調用math.h中的函數(shù)sin。

sin要求其形參為float或double。函數(shù)lookup_math中聲明了數(shù)組sin_table,并添加關鍵字static。在代碼第17行調用了函數(shù)init_sin_table完成數(shù)組初始化。第18行則是從sin_table中獲取相應地址上的數(shù)據(jù)完成最終的乘法運算。

7be282b6-e428-11eb-a97a-12bb97331649.png

從HLS綜合后的報告來看,最終sin_table的存儲形式(報告中的Storage列)為rom_1p,實現(xiàn)方式為auto,Latency為1。在資源評估報告中可以看到消耗了1個BRAM。

7c1a0862-e428-11eb-a97a-12bb97331649.png

7c46f2dc-e428-11eb-a97a-12bb97331649.png

編輯:jq

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

    關注

    1

    文章

    130

    瀏覽量

    24219

原文標題:HLS中的數(shù)組初始化問題

文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    AFE031初始化的過程應該是什么?

    我現(xiàn)在工程需要使用AFE031,在工作遇到以下問題,請高手可以指點一二: 1:如果在不燒入任何軟件的時候,參考電壓RFE1和REF2 是否就已經(jīng)存在?還是需要軟件對其進行正確的初始化
    發(fā)表于 01-15 06:54

    EE-88:使用21xx編譯器在C初始化變量

    電子發(fā)燒友網(wǎng)站提供《EE-88:使用21xx編譯器在C初始化變量.pdf》資料免費下載
    發(fā)表于 01-13 15:54 ?0次下載
    EE-88:使用21xx編譯器在C<b class='flag-5'>中</b><b class='flag-5'>初始化</b>變量

    STM32F407 MCU使用SD NAND?不斷電初始化失效解決方案

    STM32F407微控制器單元(MCU)與SD NAND的結合提供了強大的存儲解決方案。然而,不斷電初始化失效問題可能會導致系統(tǒng)穩(wěn)定性和數(shù)據(jù)完整性受損。我們將STM32F407與SD NAND集成時可能遇到初始化問題,并提供專
    的頭像 發(fā)表于 12-11 10:51 ?466次閱讀
    STM32F407 MCU使用SD NAND?不斷電<b class='flag-5'>初始化</b>失效解決方案

    基于旋轉平移解耦框架的視覺慣性初始化方法

    精確和魯棒的初始化對于視覺慣性里程計(VIO)至關重要,因為不良的初始化會嚴重降低姿態(tài)精度。
    的頭像 發(fā)表于 11-01 10:16 ?451次閱讀
    基于旋轉平移解耦框架的視覺慣性<b class='flag-5'>初始化</b>方法

    TMS320C6000 McBSP初始化

    電子發(fā)燒友網(wǎng)站提供《TMS320C6000 McBSP初始化.pdf》資料免費下載
    發(fā)表于 10-26 10:10 ?0次下載
    TMS320C6000 McBSP<b class='flag-5'>初始化</b>

    Keil變量不被初始化方法

    有些時候在我們的應用過程要求變量有連續(xù)性,或者現(xiàn)場保留,例如Bootloader跳轉,某種原因的復位過程我們有些關鍵變量不能被初始化,在不同的編譯環(huán)境下有不同的設置,本文就這個操作做總結,分別
    的頭像 發(fā)表于 08-30 11:47 ?834次閱讀
    Keil<b class='flag-5'>中</b>變量不被<b class='flag-5'>初始化</b>方法

    瀚海微SD NAND應用之SD協(xié)議存儲功能描述2 初始化命令

    初始化和識別過程: 總線激活后,主機啟動卡初始化和識別過程。 初始化過程從SD SEND OP COND (ACMD41)開始,通過設置其操作條件和OCR的HCS位。HCS (Ho
    的頭像 發(fā)表于 07-22 10:54 ?438次閱讀
    瀚海微SD NAND應用之SD協(xié)議存儲功能描述2 <b class='flag-5'>初始化</b>命令

    初始化IO口為外部中斷線的時候,最先初始化的會被后初始化的覆蓋掉為什么?

    初始化IO口為外部中斷線的時候,比如GPIOA6與GPIOB6先后初始化為外部中斷,最先初始化的會被后初始化的覆蓋掉,不知道是為什么?
    發(fā)表于 05-14 08:26

    在一個.c文件定義一個數(shù)組遇到的疑問求解

    的時候沒有指定數(shù)組的大小,只是做了初始化,而且這個初始化可以看到,而且自己可以定義初始化的值,并且初始化不同元素個數(shù)也可以,那么在其他文件求
    發(fā)表于 05-14 07:03

    在一個while的循環(huán)里面,怎么樣可以通過控件去讓其中的數(shù)組值全部初始化?

    這種方式是讓所有的數(shù)據(jù)都初始化了,我只需要部分數(shù)據(jù)初始化,就是所有的數(shù)組,大佬們求幫助!
    發(fā)表于 04-18 21:19

    深入探索KUKA KRL數(shù)組應用

    如果 CHAR 類型數(shù)組的所有數(shù)組元素都擁有相同的字符串,則不必單獨初始化每個數(shù)組元素。忽略右側的數(shù)組下標。(對于一維
    的頭像 發(fā)表于 04-18 10:37 ?1354次閱讀
    深入探索KUKA KRL<b class='flag-5'>中</b>的<b class='flag-5'>數(shù)組</b>應用

    STM32F103RC變量初始化問題求解

    Test0變量的值一直是0x03,并且無法被初始化其他值。 例如:ArryTest[7]的地址為0x20000200,Test0 的地址為0x2000020e,則Test0 的值無法被修改,一直為0x03. 有哪位朋友遇到過這樣的問題沒有?
    發(fā)表于 04-10 07:35

    字符型、指針型等變量等該如何初始化

     對于數(shù)值類型的變量往往初始化為0,但對于其他類型的變量,如字符型、指針型等變量等該如何初始化呢?
    的頭像 發(fā)表于 03-18 11:02 ?1642次閱讀

    TC397 SPI的初始化需要修改那些配置嗎?

    我想使用TC397芯片的SPI通訊功能,由于PCB設計原理圖使用的SPI通道所有自帶片選都被占用,因此需要使用GPIO功能模擬SPI的片選,遇到的問題是通訊偶爾出現(xiàn)接收數(shù)據(jù)全為F,我在使用SPI 的硬件片選時,SPI的初始化需要修改那些
    發(fā)表于 03-06 06:02

    MCU單片機GPIO初始化該按什么順序配置?為什么初始化時有電平跳變?

    GPIO初始化時有時鐘配置、模式配置、輸出配置、復用配置,那么在編寫初始化代碼時,到底該按什么順序執(zhí)行呢?如果順序不當那初始化過程可能會出現(xiàn)短暫的電平跳變。
    的頭像 發(fā)表于 02-22 11:07 ?1688次閱讀
    MCU單片機GPIO<b class='flag-5'>初始化</b>該按什么順序配置?為什么<b class='flag-5'>初始化</b>時有電平跳變?