【VivadoHLS】笔记(一)初探HLS开发全流程

本文详细介绍了使用Vivado HLS工具进行硬件描述语言开发的全流程,包括C源文件编写、C仿真验证、C综合生成VHDL代码、C/RTL联合仿真及波形查看等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

VivadoHLS开发流程

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


HLS工程构建全流程

①分别书写C源文件test bench
在这里插入图片描述
代码:

//calculator.c
//a和b数组每一位元素相加赋予c数组。必须保证数组元素个数N给定且保持一致。
#define N 5
void PlusCalc(int a[N], int b[N], int c[N])
{
	unsigned int i;
	myloop:
	for(i=0; i<=N-1; i++)
	{
		c[i] = a[i] + b[i];
	}
}

//calculator_tb.c
#include<stdio.h>

int main(void)
{
	int data1[5]={1,2,3,4,5};
	int data2[5]={6,7,8,9,10};
	int output[5]={0};
	int output_test[5]={7,9,11,13,15};
	int n=5;

	PlusCalc(data1,data2,output);

	//检查是否存在错误
	unsigned int i;
	unsigned int errcnt=0;
	for(i=0; i<=4; i++)
	{
		if(output[i]==output_test[i])
		{
			printf("\n");
		}
		else
		{
			printf("Error\n");
			errcnt++;
		}
	}
	if(errcnt > 0)
	{
		printf("TestFail\n");
		return 1;
	}
	else
	{
		printf("TestSuccess\n");
		return 0;
	}

}


②进行C仿真(C Simulation)
在这里插入图片描述
在仿真日志simulation log中查看仿真情况:
在这里插入图片描述
【如果仿真结果没有达到预期,说明C source的算法出现问题,回去修改。】

③在C仿真通过后,进行C综合(C Synthesis),生成vhdl代码
在这里插入图片描述
出现这个页面说明综合syn成功了:
在这里插入图片描述
在这里我们能看到生成的vhdl代码
在这里插入图片描述
【生成的vhdl代码可读性较差。所以一般来说,我们在C的层面进行算法的开发,不在vhdl的层面进行开发。】

④进行C和RTL的联合仿真(C/RTL Cosimulation)
在这里插入图片描述
在这里插入图片描述
联合仿真的结果:
在这里插入图片描述

⑤查看仿真波形
在这里插入图片描述
点击这个按钮后,会自动跳转到Vivado中,可以查看仿真的波形:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值