使用Verdi理解RTL design
使用Verdi理解RTL design
接触到一些RTL代码,在阅读与深入理解的过程中的一些思考记录
协议与设计框图
认真反复阅读理解相关协议与设计框图,一个design的设计文档中,设计框图展示了这个设计的核心框架,包括协议的整体框架、作者的设计思路和design的组成结构等。
- 1.根据协议理解设计框图
- 2.根据设计框图理解module
- 3.根据设计框图初步追踪输入输出关键信号
理解Schematic及module间的关系
结合设计框图,使用Verdi的Schematic功能,整体理清各个module间的连接关系,各个module的数据交互关系。
擅用Trace功能
1.Driver
2.Load
3.Connectivity4.Show Previous
5.Show Next6.Show Previous in Hierarchy
7.Show Next in Hierarchy
8.Forward History
9.Backward History
细节请参考verdi的Verdi3.pdf手册
理解module划分
依据对RTL的分析与琢磨,信号的顺藤摸瓜与端口/module间的数据流动,深入体会这个module划分的深意。
代码风格与RTL基础模块
1.基本的Verilog语句块(assign/if-else/always/case)
2.组合逻辑
3.时序逻辑
4.FSM有限状态机阅读
边猜边仿真
1.可以依据端口输入输出及协议猜测RTL的大致意图。
2.根据设计文档的寄存器描述,使用Verdi追踪(trace)RTL。
2.结合仿真结果,追踪理解信号。
参考资料
[1]. verdi3.pdf(Verdi安装目录doc下)
使用Verdi理解RTL design的更多相关文章
- how to forget about delta cycles for RTL design
A delta cycle is a VHDL construct used to makeVHDL, a concurrent language, executable on asequential ...
- Verdi如何编译design并打开
HDL Source文件的编译 针对Verilog文件的编译: 使用vericom工具,将verilog source文件写入一个run.f中,如: system.v pram.v TopModule ...
- RTL 与 technology schematic的区别,包含概念与实例
2013-06-25 16:40:45 下面是xilinx官网上的问答贴: http://china.xilinx.com/support/answers/41500.htm#solution The ...
- Android Design Support Library使用详解
Android Design Support Library使用详解 Google在2015的IO大会上,给我们带来了更加详细的Material Design设计规范,同时,也给我们带来了全新的And ...
- scan design flow(二)
在scan stitch之后,scan synthesis就已经完成, Scan extraction主要用来从scan design中extracing所有的instance,来保证scan cha ...
- scan design flow(一)
一个典型的scan实现的flow: clock mux和一些rst,在Scan中都被bypass掉,是不能测到的.所以DFT的test coverage一般就在97%或98%. scan design ...
- 怎么知道RTL Schematic中的instance与哪段代码对应呢
2013-06-23 20:15:47 ISE综合后可以看到RTL Schematic,但我们知道在RTL编码时,要经常问自己一个问题“我写的这段代码会综合成什么样的电路呢”.对于一个简单的设计,比如 ...
- ant design pro 当中改变ant design 组件的样式和 数据管理
ant design pro 简介 官网简介 链接 https://pro.ant.design/docs/getting-started-cn 项目结构 https://github.com/ant ...
- [转]关于几本模拟IC设计书
1.P.R.Gray的书 这本书被业界誉为模拟IC的Bible,盛名之下,必无虚士.现在已经出到第四版,作者无一例外是业界大牛,该书论述严谨,思路清晰,对电路分析透彻,定义严格明确,无愧Bible之名 ...
随机推荐
- 在Google Drive上建立免费静态站点
现今建立一个属于自己的站点已经是一件非常普遍和简单的事情了. 你能够选择买空间,买域名.你也能够使用免费空间.免费域名.你能够选择动态的php wordpress,joomla或者是静态的站点(如使用 ...
- Python - 字典(dict)删除元素
字典(dict)删除元素, 能够选择两种方式, dict.pop(key)和del dict[key]. 代码 # -*- coding: utf-8 -*- def remove_key(d, ke ...
- 关于我遇到的“LNK 2019无法解析的外部符号”的链接错误
昨天在调试程序的时候出现了"LNK 2019无法解析的外部符号"的问题(VS2008),依照网上说的方法都没有解决这个问题,最后在项目文件里发现有两个同名的可是不在同一个目录下的c ...
- BZOJ2243: [SDOI2011]染色(树链剖分/LCT)
Description 给定一棵有n个节点的无根树和m个操作,操作有2类: 1.将节点a到节点b路径上所有点都染成颜色c: 2.询问节点a到节点b路径上的颜色段数量(连续相同颜色被认为是同一段), 如 ...
- 六、Docker+Gitlab
原文:六.Docker+Gitlab (1)下载镜像: docker pull gitlab/gitlab-ce (2)运行镜像: GITLAB_HOME=`pwd`/data/gitlab dock ...
- listctrl调整表头高度
CListCtrl派生类下CMyListCtrl.h class CMyListCtrl :public CListCtrl { public: // 设置表头高度 void SetHeadHeigh ...
- [Javascirpt AST] Babel Plugin -- create new CallExpression
The code we want to trasform: 2 ** 3; a ** b; a **b * c; a ** b ** c; (a+1) ** (b+1); transform to: ...
- Log4j中为什么设计isDebugEnabled()方法
转自:https://www.jianshu.com/p/e1eb7ebfb21e 先看下面的代码,在真正执行logger.debug()之前,进行了logger.isDebugEnabled()的判 ...
- Android Multiple dex files define BuildConfig
dexOptions { preDexLibraries = false }
- Python 极简教程(十二)逻辑控制语句 if else
计算机软件之所以能够对不同的情况进行不同的处理,就是我们在编码的时候,通过逻辑控制语句,告诉软件在不同的情况下应该做什么处理. 比如我们在登录的时候,那么当你输入正确的账号密码和错误的账号密码,完全是 ...




