当前位置: 首页 > news >正文

HLS入门之点灯大师

本文所提供的信息和内容仅供参考。作者对本文内容的准确性、完整性、及时性或适用性不作任何明示或暗示的保证。在任何情况下,作者不对因使用本文内容而导致的任何直接或间接损失承担责任,包括但不限于数据丢失、业务中断或其他经济损失。

读者在使用本文信息时,应自行验证其准确性和适用性,并对其使用结果负责。本文内容不构成专业技术咨询或建议,具体的技术实现和应用应根据实际情况和需要进行详细分析和验证。

本文所涉及的任何商标、版权或其他知识产权均属于其各自的所有者。若本文中引用了第三方的资料或信息,引用仅为学术交流目的,不构成对第三方内容的认可或保证。

若有任何疑问或需进一步信息,请联系本文作者或相关专业人士。


前言

小编打算跟着 《正点原子》 入门HLS,有兴趣的朋友可以跟一下;第一课是LED闪烁。


1.更换主题

默认是黑色的,小编实在是看不习惯,因此就换了。

 在window中找到Preference,在Appearance中可以找到Theme

2.新建工程

注意:工程以及路径都不能带中文

Top Function 设置设计的顶层函数为 LED_m

不添加测试文件,跳过

Period为时钟周期(ns),Uncertainty为时钟不确定性,更改并选择FPGA型号

3.新建文件

在工程文件中新建一个src文件夹,方便文件管理

创建源文件,后缀名为.cpp

4.植入源代码

#include<ap_int.h>
#define DELAY 100000000//100M

void main(ap_uint<2> *led){
	int i = 0;
	for(i = 0; i < DELAY; i++){
		  if(i < DELAY/2)
		       *led = 1;
		  else
			   *led = 2;

	}

}

ap_uint<2>:2位无符号整数。 

为什么不用char、int、float等? 位宽大了浪费资源。

    main实现了两个LED间隔0.5s交替闪烁

5.综合

Uncertainty默认为目标时钟的27%

综合报错,由于小编没注意直接把main当成了顶层函数,而真正的顶层函数是之前定义的LED_m,替换后即可正常综合。

6.综合报告

重点关注时序:Timing Estimate

Estimated:预估最坏路径下的时钟周期

Estimated  < Target - Uncertainty  才不会出现时序违例

7.端口协议修改

led信号就2bit,无需要其他的控制信号,因此选择ap_none协议合适,模块级端口可选择ap_ctrl_none

void LED_m(ap_uint<2> *led){
#pragma HLS INTERFACE mode=ap_none port=led
#pragma HLS INTERFACE mode=ap_ctrl_none port=return
	int i = 0;
	for(i = 0; i < DELAY; i++){
		  if(i < DELAY/2)
		       *led = 1;
		  else
			   *led = 2;

	}

}

8.导出RTL

填写输出路径即可

9.导入工程验证

解压

源码在HDL中

在vivado中添加IP


http://www.dtcms.com/a/109032.html

相关文章:

  • IPIP.NET-IP地理位置数据
  • 1. 购物车
  • Sentinel[超详细讲解]-7 -之 -熔断降级[异常比例阈值]
  • 万字重谈C++——类和对象篇
  • JAVA并发编程高级--深入解析 Java ReentrantLock:非公平锁与公平锁的实现原理
  • 【零基础入门unity游戏开发——2D篇】2D 游戏场景地形编辑器——TileMap的使用介绍
  • 虚拟电商-话费充值业务(六)话费充值业务回调补偿
  • MINIQMT学习课程Day3
  • Enovia许可配置和优化
  • seaweedfs分布式文件系统
  • RAC磁盘头损坏问题处理
  • 特征金字塔网络(FPN)详解
  • 【易订货-注册/登录安全分析报告】
  • Oracle触发器使用(二):伪记录和系统触发器
  • 构建个人专属知识库文件的RAG的大模型应用
  • BUUCTF-web刷题篇(9)
  • idea插件(自用)
  • video标签播放mp4格式视频只有声音没有图像的问题
  • NVIDIA显卡
  • 2.3 路径问题专题:剑指 Offer 47. 礼物的最大价值
  • Apollo配置中心登陆页面添加验证码
  • OpenCV销毁窗口
  • 浅谈软件成分分析 (SCA) 在企业开发安全建设中的落地思路
  • 数据库--SQL
  • Pytorch深度学习框架60天进阶学习计划 - 第34天:自动化模型调优
  • 维拉工时自定义字段:赋能项目数据的深度洞察 | 上新预告
  • React-router v7 第一章(安装)
  • JDBC常用的接口
  • coding ability 展开第八幕(位运算——基础篇)超详细!!!!
  • Spring Boot 集成 Redis 对哈希数据的详细操作示例,涵盖不同结构类型(基础类型、对象、嵌套结构)的完整代码及注释