HLS中的位操作可以这么做.doc
《HLS中的位操作可以这么做.doc》由会员分享,可在线阅读,更多相关《HLS中的位操作可以这么做.doc(2页珍藏版)》请在三一文库上搜索。
1、HLS中的位操作可以这么做标准C+中已经提供了位运算符,包括位求反、左移、右移、位与、位异或以及位或。在此基础上,HLS考虑到硬件的一个特性,那就是获取数据中的某一位或者某几位,同时,可能对数据本身进行位缩减运算,因此,HLS在这方面做了扩展,提供了一些特有的操作和方法(Method)。当然,这些操作只针对定点数。初始化与赋值对于任意进度整型数据的初始化可以采用如下三种方式,如图1所示。三种方式输出的结果均为11,如图2所示。图1图2位选取与位赋值HLS允许选取数据中的某一位,同时还可对指定位重新复制,这些操作均可通过完成,如图3所示代码片段。相应的输出结果如图4所示。图3图4此外,通过()或
2、range()还可选取指定范围的某几位。代码片段如图5所示,相应的输出结果图6所示。相比较,直接使用()操作会更快捷。同时,该操作还可实现位反转。当()中的数据一致时,则获取指定位的内容。图5图6位缩减就位缩减运算而言,HLS提供了6种位缩减方法:and_reduce()、or_reduce()、xor_reduce()、nand_reduce()、nor_reduce()和xnor_reduce()。如图7所示,相应的输出结果如图8所示。图7图8二进制显示有时在调试时,需要把数据以二进制形式打印出来,这时需要用到to_string和c_str(),如图9所示,相应的输出结果如图10所示。图9图10结论HLS对C+的位操作进行了扩展,可快捷地执行获取某一位或某几位的操作,还可方便地完成位缩减运算。对于C语言,HLS也有相应的扩展,具体可参考ug902。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- HLS 中的 操作 可以 这么
链接地址:https://www.31doc.com/p-3252442.html