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

相关推荐
FPGA小迷弟2 天前
FPGA 与卫星:从星载硬件到在轨智能的完整技术解析
fpga开发·架构·fpga·1024程序员节·无线电
LabVIEW开发3 天前
FlexRIO 在轨图像取舍:判决要跑在数据进内存之前
labview·fpga·labview功能·labview程序·flexrio
FPGA小迷弟3 天前
FPGA 与无线电:从软件定义无线电到 5G 基带的硬件实现之路
5g·fpga开发·架构·dsp开发·fpga·无线电
yingheceping3 天前
2026 国产 FPGA 核心板怎么选?工控/视觉/通信/科研,四场景对板指南
fpga开发·fpga
FPGA小徐4 天前
FPGA离散数列信源熵:原理、计算与硬件实现全解
fpga
FPGA小徐5 天前
【FPGA数字信号处理】离散信源香农熵计算:原理详解 + 纯Verilog可综合实现 + 全套仿真代码
fpga
FPGA小迷弟7 天前
FPGA开发Vivado Block Design/Vitis/SDK/xlinx/开发教程,保姆级别,一看就会!
网络协议·tcp/ip·fpga开发·verilog·fpga
FPGA小迷弟7 天前
基于FPGA实现智能网卡的概念,什么是智能网卡
网络协议·tcp/ip·fpga开发·verilog·fpga
hi冻鱼8 天前
PCIe + DDR架构(一):实测——块长从4 KiB 换 1 MiB,带宽从133 MB/s 涨到 3179 MB/s
性能测试·fpga·pcie·mig·xdma·1024程序员节·ddr3
FPGA小迷弟8 天前
用 Claude Code 重构遗留系统:从评估到落地的完整指南
fpga开发·dsp开发·fpga·1024程序员节·sdr·无线电