【FPGA】 HLS教程之C/RTL Cosimulation

RTL自动验证

  • 背景:c语言通过高层次综合(HLS)综合为相应的硬件RTL语言。再此之前进行了c的仿真,相应的硬件优化,然后下面需要进行c与RTL的协同仿真、RTL仿真及RTL输出
  • 执行C仿真,并且将顶层功能或被测设备(DUT)的输入保存为“输入向量”
  • 使用由Vivado HLS创建的RTL在RTL模拟中使用“输入向量”。 RTL的输出另存为“输出向量”
  • 将RTL仿真中的“输出矢量”应用于综合功能后的C测试台,以验证结果是否正确。 C测试台执行结果验证
    在这里插入图片描述

在C/RTL协同综合条件

要成功使用C / RTL协同仿真功能,需要满足以下条件:

  • 测试台必须进行自我检查,如果测试通过,则返回O值;如果测试失败,则返回非零值
  • 必须选择正确的接口综合选项
  • 任何第三方模拟器必须能在路径中被找到
  • 任何不能被优化指令优化的数组和结构体设计接口都必须在Unsupported Optimizations for Cosimulation中指出

Test Bench的要求

要验证RTL设计产生的结果与原始C代码相同,请使用自检测试台执行验证。下面的代码示例显示了自检测试平台的重要功能:

int main ()
{
   
	int ret=0;
	//Execute (DUT) Function
	//Write the output results to a file 
	//Check the results 
	ret = system("diff --brief -w output.dat output.golden.dat");
	if(ret !=0)
	{
   
		printf("Test failed !!! \n");
		ret = 1;	
	}
	else printf
  • 7
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值