verilog 实际开发时应该注意的问题
2015-11-21 11:01
507 查看
1.命名规范,特别是注意时钟的大小写,形成固定的命名习惯
2.时钟脉冲宽度,在使用使能和数据结合的方式传输数据时注意使能的时间最好有一定的冗余
3.归纳FIFO RAM ROM的读写时序
4.在时序逻辑中存在比较复杂的组合逻辑的时候,可以考虑使用状态机,应该使状态机的每个状态尽可能简化,这样才能避免错误
5.仿真时一定要考虑各种情况,这样才能发现自己设计的时序和当初设想的是否一样
6.case语句中注意default的状态
7.顶层模块中的用于连接两个模块的变量需要定义,否则会默认当做位宽为1,这样当连接的端口位宽超过1时就会出现问题
8.一个模块不宜写得太过复杂,这样不利于进行仿真,即使需要写得很复杂,也可以将其分成多个部分进行仿真
9.当整个模块因为牵涉到具体硬件而无法仿真时,可以把与硬件相关的部分删掉,或者模拟硬件的部分进行仿真
10.在写状态机时,每个状态尽可能简单,尽量将复杂的状态拆分成比较简单的状态,这样可以避免因布局布线的错误导致实际的运行情况跟设计的不符的情况。
2.时钟脉冲宽度,在使用使能和数据结合的方式传输数据时注意使能的时间最好有一定的冗余
3.归纳FIFO RAM ROM的读写时序
4.在时序逻辑中存在比较复杂的组合逻辑的时候,可以考虑使用状态机,应该使状态机的每个状态尽可能简化,这样才能避免错误
5.仿真时一定要考虑各种情况,这样才能发现自己设计的时序和当初设想的是否一样
6.case语句中注意default的状态
7.顶层模块中的用于连接两个模块的变量需要定义,否则会默认当做位宽为1,这样当连接的端口位宽超过1时就会出现问题
8.一个模块不宜写得太过复杂,这样不利于进行仿真,即使需要写得很复杂,也可以将其分成多个部分进行仿真
9.当整个模块因为牵涉到具体硬件而无法仿真时,可以把与硬件相关的部分删掉,或者模拟硬件的部分进行仿真
10.在写状态机时,每个状态尽可能简单,尽量将复杂的状态拆分成比较简单的状态,这样可以避免因布局布线的错误导致实际的运行情况跟设计的不符的情况。
相关文章推荐
- 网卡安装常见问题精解
- css网页布局中注意的几个问题小结
- 使用mysql中遇到的几个问题
- 装完linux以后需要注意的问题
- .net中前台javascript与后台c#函数相互调用问题
- SQLite字符串比较时的大小写问题解决方法
- PHP动态规划解决0-1背包问题实例分析
- jquery1.8版本使用ajax实现微信调用出现的问题分析及解决办法
- 搭建SSH时的思考和遇到的几个问题的解决方法
- 我认为JSP有问题(下)
- php猴子选大王问题解决方法
- JSP应用的安全问题
- 令PHP初学者头疼十四条问题大总结
- 数据库相关问题
- php 面试碰到过的问题 在此做下记录
- 我认为JSP有问题(上)
- php上传文件问题汇总
- PHP中preg_match函数正则匹配的字符串长度问题
- 几个Android编程时需要注意的 web 问题
- PHP session文件独占锁引起阻塞问题解决方法