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文件.

相关推荐
迎风打盹儿7 天前
VIVADO FIFO (同步和异步) IP 核详细使用配置步骤
ip·verilog·fpga·vivado·fifo
Ruoyo1768 天前
关于编写测试用例的细枝末节
测试用例·fpga
北城笑笑8 天前
FPGA 21 ,深入理解 Verilog 中的基数,以及二进制数与十进制数之间的关系( Verilog中的基数 )
fpga开发·fpga
贝塔实验室13 天前
宇航用VIRTEX5系列FPGA的动态刷新方法及实现
考研·fpga开发·硬件架构·硬件工程·学习方法·业界资讯·fpga
贝塔实验室13 天前
FPGA的 基本结构(Xilinx 公司Virtex-II 系列FPGA )
fpga开发·重构·硬件架构·硬件工程·创业创新·fpga·程序员创富
32码奴17 天前
FPGA基本语法与使用
fpga开发·fpga
贝塔实验室19 天前
FPGA可重构技术
fpga开发·重构·硬件架构·硬件工程·射频工程·fpga·精益工程
贝塔实验室20 天前
一种基于动态部分重构的FPGA自修复控制器
fpga开发·重构·系统架构·硬件架构·硬件工程·fpga·安全架构
贝塔实验室20 天前
FPGA三模冗余TMR工具(二)
安全·fpga开发·重构·硬件架构·硬件工程·软件构建·fpga
YHPsophie22 天前
XQR5VFX130-1CN1752V,,具有高度的可编程性和灵活性的FPGA中文技术资料
数据库·fpga开发·信息与通信·fpga