怎么快速看懂别人写的module和ipcore
2016-05-30 20:38
169 查看
纯粹是经验之谈,当然了,我依然是菜鸟一枚。之前看别人写的module,或者是别人封装好的ipcore(没有写使用文档)时,有点盲人摸象的感觉,特别是当工程很大时。现在记录一下最近关于看别人写的工程代码的一些经验:
(1) 首先把握整个工程的层次结构,当工程包含多个.v文件时,一般都会采用分层设计的思想,这时就要分析好整个工程的层次结构。先从最上层模块分析,看在最上层module上例化了哪些module,当然了ISE或者Vivado的Source目录都会帮我们弄好,接下来就是看各个module之间的联系,这个时候如果比较复杂,建议自己写文档,把各部分的框图画下来,像RTL视图那样。
(2)分析自己关注的模块,当然也是从顶层到底层依次分析。有时可以把自己关注的module拿出来单独建一个工程,然后分析,这里补充一个对自己关心的module的分析特别有用的方法:
通过功能仿真来分析module的功能,一开始我们肯定不可能完全知道整个module的实现过程,我们可以先只添加时钟信号、复位信号,进行不完整性功能仿真,通过结合代码对照仿真结果,然后又补充功能仿真的输入信号,直至看懂整个module为止。
(1) 首先把握整个工程的层次结构,当工程包含多个.v文件时,一般都会采用分层设计的思想,这时就要分析好整个工程的层次结构。先从最上层模块分析,看在最上层module上例化了哪些module,当然了ISE或者Vivado的Source目录都会帮我们弄好,接下来就是看各个module之间的联系,这个时候如果比较复杂,建议自己写文档,把各部分的框图画下来,像RTL视图那样。
(2)分析自己关注的模块,当然也是从顶层到底层依次分析。有时可以把自己关注的module拿出来单独建一个工程,然后分析,这里补充一个对自己关心的module的分析特别有用的方法:
通过功能仿真来分析module的功能,一开始我们肯定不可能完全知道整个module的实现过程,我们可以先只添加时钟信号、复位信号,进行不完整性功能仿真,通过结合代码对照仿真结果,然后又补充功能仿真的输入信号,直至看懂整个module为止。
相关文章推荐
- 视图
- Java性能提高小常识
- Easy-题目45:58. Length of Last Word
- 什么是一阶逻辑(First-order Logic)
- GCC编译和GDB调试
- memched1.0源码阅读(3)——运行流程
- TS流打包总结
- 二叉搜索树的查找、插入、删除操作
- tushare金融数据
- 夜间模式的实现
- Logistic & softmax
- poj2777 Count Color
- stack的功能
- Warp : Haskell 的高性能 Web 服务器(译文)
- mysql特殊处理
- 第一篇博文--自我介绍
- .net mvc web api上传图片/文件并重命名
- 友善之臂最新版mini2440学习笔记——u-boot 1.1.6移植(一)
- 第一章 JAVA初步
- [poj 1201]Intervals 差分约束