那曲檬骨新材料有限公司

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

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

3天內不再提示

一篇文章看懂HLS中的數據類型

電子工程師 ? 來源:lq ? 2018-12-12 14:18 ? 次閱讀

Vivado HLS的輸入可以是C、C++或者System C,從而繼承了這些語言本身就具有的數據類型,例如char、short int、int等整型或float、double等浮點數據類型。不難發現,對于整型,其表示的字長是以8為邊界的,這實際上和真實的硬件模型不完全匹配。這一點也不難理解,例如HDL中會根據設計需求設定位寬,而這些位寬很多情形下并不是8-bit、16-bit或者32-bit。因此,HLS引入了任意精度(ArbitraryPrecision)的數據類型(對于SystemC,可查看Table 1-7, ug902)。以C++為例說明。

整數

1

對于任意精度整型數據類型,可通過ap_int聲明位寬為W的有符號整數,或通過ap_uint聲明位寬為W的無符號整數。需要添加頭文件ap_int.h。

定點數

2

對于任意精度的定點小數,可通過ap_fixed聲明位寬為W,其中整數部分字長為I的有符號定點小數;或通過ap_ufixed聲明位寬為W,其中整數部分字長為I的無符號定點小數。需要添加頭文件ap_fixed.h。

浮點數

3

對于浮點數據類型,除了float和double之外,Vivado HLS還引入了半精度浮點數half,需要添加頭文件hls_half.h。該浮點數據類型為16-bit。

技巧

多種數據類型給用戶提供了更多的選擇,用戶可根據實際需求選擇可最佳匹配于硬件的數據類型。一個小的技巧是,把數據類型通過typedef定義在用戶的頭文件中。此外,在仿真時可采用float或double類型,以防止數據溢出,盡快完成算法功能的驗證;之后再將設定為整型,觀察是否有溢出,完成C綜合。

結論

任意精度的數據類型可以完美地匹配硬件需求,同時還繼承了原有數據類型所允許的操作。例如,對于兩個13-bit的有符號整數相乘,不必把其定義為int類型,而是直接定義為ap_int<13>,且可直接使用乘法運算符。這樣做的最大好處就是更準確地獲取資源利用率信息。注意在使用任意精度數據類型時要添加相應的頭文件。

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

    關注

    22

    文章

    2114

    瀏覽量

    73856
  • 數據類型
    +關注

    關注

    0

    文章

    236

    瀏覽量

    13662
  • HLS
    HLS
    +關注

    關注

    1

    文章

    130

    瀏覽量

    24208

原文標題:一篇文章看懂HLS中的數據類型

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

收藏 人收藏

    評論

    相關推薦

    GaussDB 數據類型介紹

    進行數據類型轉換,以滿足不同的需求。本文將以示例的形式羅列并介紹些常見的數據類型轉換方法等。? 數據類型概念及特點 數據類型
    的頭像 發表于 06-05 16:40 ?1742次閱讀
    GaussDB <b class='flag-5'>數據類型</b>介紹

    如何利用Vivado HLS處理許多位準確或任意精度數據類型

    我們在設計硬件時,它往往是要求更精確的位寬。例如,個filter的輸入是12位和個累加器的結果只需要個最大范圍為27位。然而對于硬件設計來說,使用標準的C數據類型會造成硬件成本的
    發表于 11-10 14:49 ?2854次閱讀
    如何利用Vivado <b class='flag-5'>HLS</b>處理許多位準確或任意精度<b class='flag-5'>數據類型</b>

    HLS系列– HLS數據類型1

    供的數據類型,直接用HLS翻譯成硬件的話,可能會造成硬件效率的下降。 舉個常見的例子。在xilinx FPGA普遍含有DSP48,它可以提供18x18bit的乘法器,假如你的設計只
    發表于 02-08 02:50 ?1048次閱讀
    <b class='flag-5'>HLS</b>系列– <b class='flag-5'>HLS</b><b class='flag-5'>中</b>的<b class='flag-5'>數據類型</b>1

    51單片機數據類型解析

    數據類型數據結構的定義是個值的集合以及定義在這個值集上的組操作。數據類型包括原始
    發表于 11-16 08:45 ?2.5w次閱讀
    51單片機<b class='flag-5'>中</b>的<b class='flag-5'>數據類型</b>解析

    vhdl數據類型

    VHDL的標識符可以是常數、變量、信號、端口、子程序或參數的名字。VHDL數據類型可以分成四大類: 標量型(SCALAR TYPE):屬單元素的最基本的數據類型,通常用于描述
    發表于 03-30 15:59 ?11次下載

    KEIL-MDK和STM32的數據類型-之入門pdf資料下載

    數據類型-之入門
    發表于 04-14 10:50 ?7次下載
    KEIL-MDK和STM32的<b class='flag-5'>數據類型</b>-之入門<b class='flag-5'>篇</b>pdf資料下載

    重視變量的數據類型

    不管在什么語言中,定義個變量時必然要在內存開辟個相應大小的空間來存儲該變量。不同的數據類型在內存所占的空間大小不同,其所能表示的數據
    發表于 01-13 15:05 ?1次下載
    重視變量的<b class='flag-5'>數據類型</b>

    Struct結構數據類型

    Struct類型種由多個不同數據類型元素組成的數據結構,其元素可以是基本數據類型,也可以是Struct、數組等復雜
    的頭像 發表于 07-25 17:02 ?3088次閱讀

    結構數據類型(Struct)及應用案例

    Struct數據類型使用非常靈活,隨時可以使用,但是相對于PLC數據類型 (UDT) 有以下缺點,所以建議需要使用Struct類型時,可以使用PLC數據類型(UDT)代替。
    的頭像 發表于 07-27 16:10 ?1891次閱讀

    什么是數據類型轉換

    常用的3種數據類型:1、Python數據類型種:字符串(str)。 2、Python數據類型第二種:整數(int)。 3、Python數據類
    的頭像 發表于 02-23 15:21 ?1821次閱讀

    定義數據類型

    在運算之前我們必須首先定義出數據類型,定義出腳本支持的數據類型,這是運算的基礎。 這小節我們將定義出數據類型,在這里我們暫時定義四個數據類型
    的頭像 發表于 03-03 10:10 ?1007次閱讀

    ARRAY 數據類型的變量

    要求 全局數據塊已打開。 操作步驟 要聲明個 ARRAY 數據類型的變量,請按以下步驟操作: 在“名稱”(Name) 列,輸入變量的名稱。 在“
    的頭像 發表于 07-06 11:08 ?1185次閱讀

    F型PLC數據類型與標準PLC數據類型(UDT)之間的差別在哪?

    可以像使用標準 PLC 數據類型 (UDT) 那樣,聲明和使用 F 型 PLC 數據類型 (UDT) 。可以在安全程序以及標準用戶程序中使用 F 型 PLC 數據類型 (U
    的頭像 發表于 08-27 09:54 ?1225次閱讀
    F型PLC<b class='flag-5'>數據類型</b>與標準PLC<b class='flag-5'>數據類型</b>(UDT)之間的差別在哪?

    Redis的數據類型有哪些

    用的一種數據類型,普通的key- value 存儲都可以歸為此類。其中Value既可以是數字也可以是字符串。使用場景:常規key-value緩存應用。常規計數: 微博數, 粉絲數。 2、Hash:Hash 是個鍵值(
    的頭像 發表于 10-09 10:51 ?848次閱讀

    plc數據類型怎么理解和應用

    PLC(可編程邏輯控制器)是種工業自動化設備,用于控制機械和工業過程。在PLC編程,數據類型是非常重要的概念,因為它決定了程序數據的存
    的頭像 發表于 12-19 11:39 ?4542次閱讀
    大发888娱乐场and| 巴登娱乐城| 百家乐官网视频金币| 百家乐官网微笑投注| 克拉克百家乐官网的玩法技巧和规则 | 百家乐官网高| 百家乐衬衣| 澳门娱乐| 百家乐官网园36bol在线| 百家乐视频游365| 大发888 娱乐场| 网上百家乐官网分析软件| 打百家乐的技巧| 大发888官网注册| 娱乐城百家乐官网可以代理吗 | 百家乐必胜法hk| 大发888送体验金| 历史百家乐官网路单图| 百家乐龙虎台布作弊技巧| 金堂县| 网上百家乐官网指| 大发888网页版下载| 澳门百家乐官网娱乐开户| 网络百家乐免费试玩| 利博| 百家乐官网输惨了| 大发888怎么玩不了| 水晶百家乐官网筹码| 中国百家乐的玩法技巧和规则 | 缅甸百家乐官网视频| 大发888的促销代码| 打百家乐官网纯打庄的方法| 百家乐社区| 真钱百家乐官网公司哪个好| 百家乐暗红色桌布| 百家乐官网如何写路| 百家乐时时彩网站| 浦北县| 百家乐投注科学公式| 金贊娱乐城| 网上百家乐信誉|