Vivado HLS C/C++代码仿真 (0)

cpp 复制代码
#include "ap_fixed.h"
typedef ap_fixed<10,8> DTYPE;
typedef ap_fixed<16,2> CTYPE;
void multiAdd(CTYPE c0,CTYPE c1,CTYPE c2,CTYPE c3,DTYPE x0,DTYPE x1,DTYPE x2,DTYPE x3,DTYPE *y);
cpp 复制代码
#include "multiadd.h"
void multiAdd(CTYPE c0,CTYPE c1,CTYPE c2,CTYPE c3,DTYPE x0,DTYPE x1,DTYPE x2,DTYPE x3,DTYPE *y)
{
	*y = c0*x0+c1*x1+c2*x2+c3*x3;
}
cpp 复制代码
#include "multiadd.h"
#include "stdio.h"
#include "stdlib.h"
int main()
{
	CTYPE c0=0.1,c1=0.2,c2=0.3,c3=0.4;
	DTYPE x0=100,x1=100,x2=100,x3=100;
	DTYPE y;
	int yy,i,fail = 0;
	for(i = 0;i<10;i++)
	{
		multiAdd(c0,c1,c2,c3,x0,x1,x2,x3,&y);
		yy = y;
		printf("%d\n",yy);
		if(abs(yy-(100+i))>1)
				{
					fail = 1;
				}
			x0++;x1++;x2++;x3++;
	}

	return fail;
}

其中,multiadd.h是数据类型重定义的头文件,可以自己确定数据精度;

multiadd.cpp是顶层函数实现的cpp文件;

multiadd_tb.cpp是testbench文件.

相关推荐
stm 学习ing14 小时前
HDLBits训练3
c语言·经验分享·笔记·算法·fpga·eda·verilog hdl
tiger11915 小时前
制造研发企业与IPD管理体系
项目管理·制造·fpga·芯片·半导体·ipd
超级大咸鱼1 天前
CW信号的正交解调
matlab·verilog·fpga·数字信号·解调·正交解调·cw
十三啊嘞3 天前
Vivado安装System Generator不支持新版Matlab解决方法
fpga·vivado
北城笑笑9 天前
FPGA 17 ,FPGA 与 SR-IOV虚拟化技术,高性能计算与虚拟化技术的结合(FPGA 与 SR-IOV 和 PCI,高性能计算与虚拟化的完美融合)
fpga开发·fpga
北城笑笑9 天前
FPGA 16 ,Verilog中的位宽:深入理解与应用
fpga开发·fpga
热爱学习地派大星9 天前
FPGA在线升级 -- Multiboot
fpga开发·verilog·fpga·远程升级·升级程序
杨德杰10 天前
Verilog实现图像处理的行缓存Line Buffer
图像处理·verilog·fpga·isp·行缓存linebuffer
玄奕子13 天前
通过Zynq FPGA对雷龙SD NAND进行测试
嵌入式·fpga·flash·sd nand·嵌入式驱动·雷龙
杨德杰14 天前
开源ISP介绍(2)————嵌入式Vitis搭建
图像处理·fpga·isp·视频处理·嵌入式vitis