当你完成了一个设计之后,查看原理图,可以了解工具如何将你的代码转换成了电路。方便你铆足了劲死磕一个小小的加法器来优化 200ps 的关键路径。

当你要查看一个开源设计,查看原理图,可以快速掌握项目设计的架构图。方便你用轮子或者,恩,造个更好的。

那么如何在 Vivado 中查看原理图?

答案是通过 Vivado 左侧的 Flow 栏。

在 Flow 栏中可以查看综合或者布局布线后的原理图。

也可以在完成 RTL 编码后查看 RTL 分析(RTL ANALYSIS)的原理图。

在综合后的原理图中电路已经被映射到器件的 LUT 和 FF 中,并且经过了综合器的优化。相比原先的代码,可以说"面目全非”了。

这种情况下,不适合想要看看自己的跑马灯有几个模块组成的愉悦心情。适合那些想要对着加法器,逻辑门拼命优化的朋友,他们总觉得综合器没能很好领会自己的代码精神,要视察下工作 -,- ``。

而 RTL 分析的原理图用逻辑门,选择器以及触发器来表示电路,并尽量使用代码中的变量名表示,可以更清晰地和代码对应。

这样一来,就知道自己的代码会变成怎样的电路器件,与门,非门,选择器,加法器等等。尽管我保证他们哪个在 FPGA 上都不存在。

不过,我们可以将他们映射到 LUT 上实现—— 一种 FPGA 上有的是的东西。

举个例子

一个计数器的电路就跃然纸上了,其实计数器和 CPU 都是一样的(真的)。

右键某个元件,在菜单中选择 Go to Source, 可以跳转到你代码中的相应部分。

比如这个加法器,就跳转到了代码中的那个加号。

我向你保证,在你综合之后“面目全非”的代码里,跳转到代码可不是那么容易的。

Happy Design in Vivado!

关于 Vivado 你有什么想了解的?我会的话,就会写成下一期文章。

我不会的话,可以学,可以摸索下。

实在不行的话,我就只能去翻 UG xxx 了。Vivado User Reference 之类的东东吧。

在vivado里用rtl描述_Vivado中两种RTL原理图的查看方法和区别相关推荐

  1. Vivado中两种RTL原理图的查看方法和区别

    当你完成了一个设计之后,查看原理图,可以了解工具如何将你的代码转换成了电路.方便你铆足了劲死磕一个小小的加法器来优化 200ps 的关键路径. 当你要查看一个开源设计,查看原理图,可以快速掌握项目设计 ...

  2. Android基础教程之-------Android中两种设置全屏的方法!!!

    在开发中我们经常需要把我们的应用设置为全屏,这里我所知道的有俩中方法,一中是在代码中设置,另一种方法是在配置文件里改! 一.在代码中设置: view plaincopy to clipboardpri ...

  3. js中两种定时器,setTimeout和setInterval的区别

    2019独角兽企业重金招聘Python工程师标准>>> setTimeout只在指定时间后执行一次,代码如下: <script> //定时器 异步运行 function ...

  4. matlab 遍历每个像素点,Mat中两种像素遍历方法比较

    小白,入门中,不足其指正.刚刚接触opencv,从一个Matlab风格的编程环境突然跳转到C++,实在有些不适.单就pixels scanning花了好长时间研究.opencv-tutorials给出 ...

  5. 函数指针--Nginx和Redis中两种回调函数写法

    1.Nginx和Redis中两种回调函数写法 #include <stdio.h>//仿Nginx风格 //结构外声明函数指针类型 typedef void (*ngx_connectio ...

  6. unity3d软阴影和硬阴影的原理_Unity3D中两种默认阴影的实现

    Unity3D中两种阴影的实现 传统的ShadowMap ShadowMap说起来十分简单,把摄像机和光源的位置重叠,那么场景中该光源的阴影区域就是那些摄像机看不到的地方,主要应用在前向渲染路径中. ...

  7. JS/JavaScript中两个等号 == 和 三个等号 === 的区别

    JavaScript中两个等号 == 和 三个等号 === 的区别 一.概念 == 和 ===  (1)  "=="叫做相等运算符,"==="叫做严格运算符. ...

  8. Unity3D动作类游戏中两种相机抖动

    Unity3D动作类游戏中两种相机抖动 在动作类RPG游戏中,为了体现角色的技能和增加动作打击感,我们常常会给相机添加抖动效果来配合特效做一些技能效果. 我在网上搜了一下,然后结合自己的项目总结一下, ...

  9. js两个等号和三个等号_js中两个等号(==)和三个等号(===)的区别

    js中两个等号(==)和三个等号(===)的区别: 1. "=="表示:equality -> 等同 的意思,"=="使用两个等号时,如果两边值的类型不同 ...

最新文章

  1. Xcode+OpenCV3.4.0 折腾(2)
  2. php网页跳转无法获取session值
  3. underscore 系列之防冲突与 Utility Functions
  4. CF-778 C.Peterson Polyglot (Trie合并)
  5. oracle进程结构中完成更新,Oracle 进程结构
  6. 【Bringing Old Photos Back to Life】How to train?如何训练
  7. WiFi的STA和AP模式指什么?
  8. Android.DebugTools.Traceview dmtracedump
  9. 弹出打开蓝牙_iOS13隐藏特性 双蓝牙音频共享功能详解
  10. 离散数学1 命题逻辑-基本的概念
  11. 语音合成软件-完全免费版本
  12. 数据结构 实验三 算术表达式求值 栈的基本操作
  13. 【机器学习】谱聚类(Spectral Clustering)
  14. WinForm 随手记
  15. 如何使用Nmap扫描所有TCP和UDP端口?
  16. 区块链改变18大行业,BAT等巨头早已布局
  17. c语言“递归系列”:递归实现x的n次方
  18. 云运维给企业带来的价值
  19. 你知道CAD看图软件浩辰CAD看图王中的批注如何删除/保存吗?
  20. 等价关系运算c语言大作业,离散数学C语言上机题.doc

热门文章

  1. Found several packages [runtime, main] in ‘/usr/local/Cellar/go/1.18/libexec/src/runtime;
  2. py218-基于Python+django的化妆品美妆销售商城网站#毕业设计
  3. 中国移动网上商城有多坑?
  4. 详解设计模式:桥接模式
  5. android5.1 安全模式,手机安全模式是干嘛的
  6. 汽车以太网技术及测试介绍
  7. 把数据库中的数据写出到excel表格中
  8. 快速、准确判断三极管的工作状态
  9. ClickHouse使用实践与规范
  10. 2020年你最需要掌握的11种编程语言