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狂飙3 天前
FPGA 常用 I/O 电平标准有哪些?
信号处理·verilog·fpga·vivado·xilinx
wow-iot3 天前
Quartus+Nios II for eclipse问题合集
fpga·quartus·nios ii
stm 学习ing5 天前
FPGA 第8讲 简单组合逻辑--半加器
c语言·开发语言·stm32·算法·fpga开发·fpga
apple_ttt6 天前
SystemVerilog学习——构造函数new
fpga开发·fpga·systemverilog·uvm
stm 学习ing7 天前
FPGA 第7讲 简单组合逻辑译码器
stm32·嵌入式硬件·学习·fpga开发·c#·学习方法·fpga
apple_ttt8 天前
SystemVerilog学习——虚拟接口(Virtual Interface)
fpga开发·fpga·systemverilog·uvm
inputA12 天前
【SoC设计指南 基于Arm Cortex-M】学习笔记1——AMBA
笔记·stm32·单片机·嵌入式硬件·fpga
stm 学习ing12 天前
FPGA 第5讲 点亮你的LED灯
c语言·开发语言·单片机·嵌入式硬件·fpga开发·fpga
tiger11912 天前
理解 FPGA 的关键知识点整理
学习·fpga开发·fpga
stm 学习ing13 天前
FPGA 第4讲 初识Verilog HDL
c语言·单片机·嵌入式硬件·学习·fpga开发·集成测试·fpga