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

高层次综合的基础-vivado_hls第二章

  1. 高层次综合的基础

schedule调度:

  1. 判定每个时钟周期内发生的操作
  2. 时钟周期或者时钟频率
  3. 一个操作完成需要的时间
  4. 用户指定的最优化指令
  5. 如果时钟周期比较长,也就是时钟频率低,那么单独一个时钟周期可以完成很多个工作,由于时钟频率低,建立时间和保持时间比较容易满足,很多功能可以在一个时钟周期内完成逻辑设计。某个操作,使用快速高性能的FPGA比低速低性能的FPGA完成功能更加快速。

Binding操作:

  1. 判定每个C语言操作所需要逻辑资源
  2. 控制逻辑和状态机的提取
  3. 提取控制逻辑并创建有限状态机FSM,以便对C代码进行排序处理

高层次C语言代码综合为RTL:

  1. 顶层function函数的实参,综合为RTL的IO端口
  2. 内部的C语言function,综合为RTL层级内部的module模块
  3. C语言代码包含sub-function
  4. c语言代码实现的所有函数实例都使用相同RTL来实现
  5. C语言代码中for循环默认是全部unroll的,也就是for循环按照时钟节拍串行进行的
  6. C语言的for循环折叠的时候,综合工具会为了for循环的单次执行创建逻辑,RTL代码会为序列中的for循环的每次迭代,都重复执行这个逻辑
  7. 关于for循环,可以使用优化指令,将for循环展开,从而实现并行执行所有的迭代
  8. 关于for循环实现pipeline流水的方式有两种,一种是通过有限状态机的细颗粒度来实现循环流水线化,另外一种方式是采用dataflow数据流来实现比较粗颗粒度的握手流水线

  9. C语言代码中的array数组,可以综合为FPGA中的block ram或者ultraRAM
  10. 如果array数组在顶层函数的接口上,那么高层次综合工具会将数组综合为端口来实现,从而用于访问外部的存储模块,可用于方位外部的RAM或者FIFO
  11. 高层次综合基于默认行为,基于约束指令的高层次综合,指定的任意最优化指令来创建最优化的实现。
  12. 使用最优指令来修改,控制内部逻辑,规定IO的行为
  13. 设计是否满足你的要求,可以通过查看高层次综合生成的综合报告的中的性能指标
  14. 依据分析报告,配合优化指令,对c代码逻辑进行调优,从而实现c代码转为rtl的最优性能
  15. 综合性能指标:面积,时延,启动时间间隔,循环迭代时延,循环启动时间间隔,循环时延
  16. 面积:FPGA资源,LUT查找表,block_ram,寄存器,DSP48E来实现硬件逻辑
  17. 时延:函数计算所有的输出值所需要的时钟周期数,也就是从第一个输入开始到所有的数据输出需要的时间周期,也就是从start到最后一个数据处理开始输出的时间周期
  18. 启动时间间隔:函数接收一个新的数据之前所需要的时间,也就是程序运行起来到开始接收第一个数据需要的时间,就是启动时间间隔
  19. 循环迭代时延:循环的单词迭代需要的时钟周期数
  20. 循环启动时间间隔:下一次循环迭代开始处理数据之前的时间周期数
  21. 循环时延:完成所有的循环需要的时钟周期数

案例生成的verilog代码顶层接口

input   ap_start;

output   ap_done;

output   ap_idle;

output   ap_ready;

input  [7:0] x;

input  [7:0] a;

input  [7:0] b;

input  [7:0] c;

output  [31:0] ap_return;

上述代码中调度和绑定阶段实现的功能,比较清晰了进行了描述。

  1. 函数的延时
  2. 函数的初始化间隔Function Initiation Interval,表示函数开始第一次迭代到第二次开始迭代需要的时间周期;function函数处理ram中三个元素后,表示完成第一轮函数操作,如果开始进行第二轮函数操作,那么这个时间间隔就是函数的II。
  3. 函数的一次完整执行的时间称为一项传输事务。多次传输事务执行有气泡产生

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

相关文章:

  • 市面上常见显示屏接口与对应的引脚
  • 天津网站建设方案维护网站开发实践教程
  • 网站源码出售wordpress 3.2.1
  • 西安网站注册个人建设网站成本
  • 初识Protobuf
  • 网站排名首页前三位什么网站百度收录好
  • 现在做什么网站好易搭应用快速开发平台
  • 站长之家商城佛山网站建设十年乐云seo
  • 网站挂黑链工具适合做网站开发的电脑配置
  • 美食网站设计规划书分类网站建设与开发
  • 做网站代理需要办什么营业执照大型手机网站制作
  • 深入理解CAS
  • 响应式网站开发方法系统首页设计
  • 华清远见25072班C++学习假期10.5作业
  • 【系统分析师】2024年下半年真题:综合知识-答案及详解(回忆版)
  • 网站代码的重点内容是什么wordpress 批量建站
  • 密码学系列 - 零知识证明(ZKP) - NTT运算
  • 商城网站建设明细自己弄个网站怎么赚钱
  • Android 系统下 getevent 工具
  • 学院网站建设方案软件开发自学入门教程
  • Deflate在线解压工具(支持无zlib头)
  • win7下winlogon.exe调试记录
  • 网站 做 app开发wordpress插件开发
  • 昆明做网站哪家便宜怎么让付费网站免费
  • 《C++进阶之C++11》【智能指针】(下)
  • 桐城网站定制软件开发的学校有哪些
  • 海南省工程建设定额网站简单网站首页
  • K230基础-特征检测
  • 宁波网站建设内容深圳网站开发建设服务公司
  • CTFHub 信息泄露通关笔记11:HG泄露(4种方法)