vivado hls设计总结(二十)

一、硬件高效型C语言代码之C++类和模板
1.vivado hls支持C++ class类的综合
2.vivado hls只是支持对顶层函数进行综合
3.vivado hls不支持对顶层的class类进行综合
4.如果要对类成员函数进行综合,需要将类本身例化为函数
5.不支持对位于顶层的类进行综合
6.不支持对位于顶层的类成员函数进行综合

二、顶层函数

三、类的实现

#include <fstream>
#include <iostream>
#include <iomanip>
#include <cstdlib>
using namespace std;
#define N 85
typedef int coef_t;
typedef int data_t;
typedef int acc_t;
// Class CFir definition
template<class coef_T, class data_T, class acc_T>
class CFir {
protected:
static const coef_T c[N];
data_T shift_reg[N-1];
private:
public:
data_T operator()(data_T x);
template<class coef_TT, class data_TT, class acc_TT>
friend ostream&
operator<<(ostream& o, const CFir<coef_TT, data_TT, acc_TT> &f);
};
// Load FIR coefficients
template<class coef_T, class data_T, class acc_T>
const coef_T CFir<coef_T, data_T, acc_T>::c[N] = {
#include "cpp_FIR.h"
};
// FIR main algorithm
template<class coef_T, class data_T, class acc_T>
data_T CFir<coef_T, data_T, acc_T>::operator()(data_T x) {
int i;
acc_t acc = 0;
data_t m;
loop: for (i = N-1; i >= 0; i--) {
if (i == 0) {
m = x;
shift_reg[0] = x;
} else {
m = shift_reg[i-1];
if (i != (N-1))
shift_reg[i] = shift_reg[i - 1];
}
acc += m * c[i];
}
return acc;
}
// Operator for displaying results
template<class coef_T, class data_T, class acc_T>
ostream& operator<<(ostream& o, const CFir<coef_T, data_T, acc_T> &f) {
for (int i = 0; i < (sizeof(f.shift_reg)/sizeof(data_T)); i++) {
o << shift_reg[ << i << ]= << f.shift_reg[i] << endl;
}

o << ______________ << endl;
return o;
}
data_t cpp_FIR(data_t x);

四、测试激励的编写

五、可以使用类模板来实现递归算法

//Tail recursive call
template<data_t N> struct fibon_s {
template<typename T>
static T fibon_f(T a, T b) {
return fibon_s<N-1>::fibon_f(b, (a+b));
}
};
// Termination condition
template<> struct fibon_s<1> {
template<typename T>
static T fibon_f(T a, T b) {
return b;
}
};
void cpp_template(data_t a, data_t b, data_t &dout){
dout = fibon_s<FIB_N>::fibon_f(a,b);
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1150417.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OBS面部追踪插件终极指南:从入门到精通

OBS面部追踪插件终极指南&#xff1a;从入门到精通 【免费下载链接】obs-face-tracker Face tracking plugin for OBS Studio 项目地址: https://gitcode.com/gh_mirrors/ob/obs-face-tracker 想要让直播画面更加专业动人&#xff1f;OBS面部追踪插件正是您需要的利器&a…

大学生Kali学习高频命令合集 12个实操案例 覆盖渗透测试基础场景

对于刚接触Kali Linux的大学生来说&#xff0c;最核心的学习痛点莫过于“命令多且杂、记不住、不会用”。在网络安全课程实践、渗透测试入门练习中&#xff0c;很多人往往对着教程照猫画虎&#xff0c;却不理解命令背后的逻辑&#xff0c;遇到参数变化或场景调整就束手无策&…

深度学习计算机毕设之基于python-CNN卷积神经网络的宠物行为训练识别

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

学长亲荐!继续教育必备TOP8 AI论文软件深度测评

学长亲荐&#xff01;继续教育必备TOP8 AI论文软件深度测评 2026年继续教育AI论文工具测评维度解析 在当前学术研究日益数字化的背景下&#xff0c;继续教育群体对高效、专业的写作辅助工具需求愈发迫切。从文献检索到内容生成&#xff0c;从格式排版到查重检测&#xff0c;每一…

Golang map取不存在的key时返回零值

现象由于python的字典取不存在的key时会报错&#xff0c;误以为golang也是一样的。其实不然。原因golang的map取不存在的key时&#xff0c;并不会报错&#xff0c;而是会返回对应数据类型的零值&#xff0c;例子如下&#xff1a;package mainimport "fmt"func main()…

【计算机大数据毕业设计选题推荐】基于Spark+Django的健康饮食营养数据分析系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习 数据挖掘

✍✍计算机毕设指导师** ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡有什么问题可以…

Scarab空洞骑士模组管理器:零基础快速上手完全指南

Scarab空洞骑士模组管理器&#xff1a;零基础快速上手完全指南 【免费下载链接】Scarab An installer for Hollow Knight mods written in Avalonia. 项目地址: https://gitcode.com/gh_mirrors/sc/Scarab 还在为《空洞骑士》模组安装的复杂流程而头疼吗&#xff1f;Sca…

Infinigen完全攻略:5步开启无限程序化世界之旅

Infinigen完全攻略&#xff1a;5步开启无限程序化世界之旅 【免费下载链接】infinigen Infinite Photorealistic Worlds using Procedural Generation 项目地址: https://gitcode.com/gh_mirrors/in/infinigen 想要探索程序化生成技术的无限可能吗&#xff1f;Infinigen…

深度学习毕设项目:基于python-CNN卷积神经网络的宠物行为训练识别

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

【计算机毕设选题推荐】基于Hadoop+Spark的健康风险预测系统:Python毕设完整实现方案 毕业设计 选题推荐 毕设选题 数据分析

✍✍计算机毕设指导师** ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡有什么问题可以…

如何用FramePack快速制作专业AI动画:新手指南

如何用FramePack快速制作专业AI动画&#xff1a;新手指南 【免费下载链接】FramePack 高效压缩打包视频帧的工具&#xff0c;优化存储与传输效率 项目地址: https://gitcode.com/gh_mirrors/fr/FramePack 想象一下&#xff0c;只需一张静态图片和几行文字描述&#xff0…

【图像加密】基于逻辑映射序列和线性反馈移位寄存器的状态序列生成的混沌密钥序列进行图像加密和解密附Matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。 &#x1f34e; 往期回顾关注个人主页&#xff1a;Matlab科研工作室 &#x1f447; 关注我领取海量matlab电子书和数学建模资料 &#x1…

Infinigen程序化世界生成:5步打造你的无限创意空间

Infinigen程序化世界生成&#xff1a;5步打造你的无限创意空间 【免费下载链接】infinigen Infinite Photorealistic Worlds using Procedural Generation 项目地址: https://gitcode.com/gh_mirrors/in/infinigen 还在为3D建模的复杂流程而头疼吗&#xff1f;Infinigen…

基于深度学习神经网络YOLOv5目标检测的安全帽识别系统

第一步&#xff1a;YOLOv5介绍 YOLOv5是一种目标检测算法&#xff0c;它是YOLO&#xff08;You Only Look Once&#xff09;系列的最新版本。YOLOv5在YOLOv4的基础上进行了改进和优化&#xff0c;以提高检测的准确性和速度。 YOLOv5采用了一些新的技术和方法来改进目标检测的…

dy bd-ticket-guard-client-data 逆向分析

声明 本文章中所有内容仅供学习交流使用&#xff0c;不用于其他任何目的&#xff0c;抓包内容、敏感网址、数据接口等均已做脱敏处理&#xff0c;严禁用于商业用途和非法用途&#xff0c;否则由 此产生的一切后果均与作者无关&#xff01; 部分python代码 cp execjs.compil…

计算机毕设 java 基于 Java 的心理咨询系统的设计与实现 线上心理咨询服务平台 心理疏导预约管理系统

计算机毕设 java 基于 Java 的心理咨询系统 sb3kn9&#xff08;配套有源码 程序 mysql 数据库 论文&#xff09;本套源码可以先看具体功能演示视频领取&#xff0c;文末有联 xi 可分享随着心理健康意识的提升&#xff0c;人们对心理咨询的需求逐渐增加&#xff0c;传统线下咨询…

2026必备!9个一键生成论文工具,助本科生轻松搞定毕业论文!

2026必备&#xff01;9个一键生成论文工具&#xff0c;助本科生轻松搞定毕业论文&#xff01; AI 工具如何改变论文写作的未来 随着人工智能技术的飞速发展&#xff0c;越来越多的本科生开始借助 AI 工具来提升论文写作效率。尤其是在当前 AIGC&#xff08;人工智能生成内容&am…

5分钟搞定!Win11Debloat让你的Windows系统飞起来 [特殊字符]

5分钟搞定&#xff01;Win11Debloat让你的Windows系统飞起来 &#x1f680; 【免费下载链接】Win11Debloat 一个简单的PowerShell脚本&#xff0c;用于从Windows中移除预装的无用软件&#xff0c;禁用遥测&#xff0c;从Windows搜索中移除Bing&#xff0c;以及执行各种其他更改…

IF=33.2多比较组差异分析火山图

适用场景 生物信息学/组学研究(转录组、蛋白组等)中专用的差异表达结果可视化: 研究对象包含N个分组(如多组织、多细胞亚群、多处理组),需展示各分组差异分子的整体分布与分组细节; 需筛选 的显著性差异分子,通过火山图呈现差异幅度与统计显著性; 学术论文 / 汇报配…

【计算机毕业设计案例】基于python-CNN卷积神经网络的鱼类识别

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…