专栏首页Lauren的FPGA第3讲 HLS设计流程之基本概念介绍

第3讲 HLS设计流程之基本概念介绍

传统的RTL设计流程包括设计输入、功能仿真、设计综合、布局布线和系统调试这样的几个步骤,而且这个过程往往需要反复迭代,毕竟通常很难保证功能仿真一次通过或者系统调试没有任何bug。HLS设计流程是基于C的设计流程,因此要在C这个层面完成设计输入和功能验证,同时还要保证生成的RTL代码的功能与对应的C代码的功能完全一致,这就多了一个C/RTL协同仿真(C/RTL Co-simulation)。这样,整个设计流程就包括采用C描述的设计输入、算法功能验证、C综合(生成RTL代码)、C/RTL协同仿真,后续就可以将生成的RTL代码融入的设计中完成RTL的综合与布局布线了。从这个流程中可以看到,HLS设计流程有两个显著特征:在C层面描述算法;在C层面验证算法。这是其相比于RTL更为快捷的一个重要原因。

更为深入的介绍可以阅读以下文档:

ug902(v2018.1) High-Level Synthesis page 22 - page 63

ug871(v2018.1) High-level Synthesis Tutorial Ch3: C Validation Lab 1, Lab 2, Lab 3

ug871(v2018.1) High-level Synthesis Tutorial Ch8: RTL Verification Lab 1, Lab 2, Lab3

视频内容

本文分享自微信公众号 - Lauren的FPGA(Lauren_FPGA)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-05-09

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 分享30段Python代码,拿起来就能在工作中用!

    原标题 | 30 Helpful Python Snippets That You Can Learn in 30 Seconds or Less 作 者 | ...

    统计学家
  • 这道高频面试题你掌握了吗?

    这是在 Daily-Interview-Question 项目看到一个比较有意思的题目。

    石燕平
  • 17个Python骚操作,你都Ok吗?

    很多读者都知道 Python 是一种高级编程语言,其设计的核心理念是代码的易读性,以及允许编程者通过若干行代码轻松表达想法创意。

    统计学家
  • 设计模式都没用过,好意思出去面试?

    因为我们的项目的需求是永远在变的,为了应对这种变化,使得我们的代码能够轻易的实现解耦和拓展。如果能够保证代码一次写好以后都不会再改变了,那可以想怎么写怎么写了。

    Java技术栈
  • Redis 内存满了怎么办……

    通过在Redis安装目录下面的redis.conf配置文件中添加以下配置设置内存大小。

    Java技术栈
  • 推荐收藏 | Dropout、梯度消失/爆炸、Adam优化算法,神经网络优化算法看这一篇就够了

    对于机器学习模型在训练数据集和测试数据集上的表现。如果你改变过实验中的模型结构或者超参数,你也许发现了:当模型在训练数据集上更准确时,它在测试数据集上却不⼀定更...

    统计学家
  • Objective-C源文件编译过程

    Objective-C文件的编译过程主要包括clang前端的预处理、编译、后端优化中间表示、生成汇编指令、链接、生成机器码这几个步骤。我们可以借助clang -...

    VV木公子
  • 如何优雅的导出 Excel

    来源:juejin.im/post/5c6b6b126fb9a04a0c2f024f

    Java团长
  • Newtonsoft.Json.Linq 常用方法总结

    Newtonsoft.Json.Linq 不支持直接获取数组,但是可以获取 List,然后再转化为数组。

    丹枫无迹
  • 什么是优先队列?【转】

    比如有一个最大优先队列,它的最大元素是8,那么虽然元素8并不是队首元素,但出队的时候仍然让元素8首先出队:

    233333

扫码关注云+社区

领取腾讯云代金券