verilog 实际开发时应该注意的问题

1.命名规范,特别是注意时钟的大小写,形成固定的命名习惯

2.时钟脉冲宽度,在使用使能和数据结合的方式传输数据时注意使能的时间最好有一定的冗余

3.归纳FIFO RAM ROM的读写时序

4.在时序逻辑中存在比较复杂的组合逻辑的时候,可以考虑使用状态机,应该使状态机的每个状态尽可能简化,这样才能避免错误

5.仿真时一定要考虑各种情况,这样才能发现自己设计的时序和当初设想的是否一样

6.case语句中注意default的状态

7.顶层模块中的用于连接两个模块的变量需要定义,否则会默认当做位宽为1,这样当连接的端口位宽超过1时就会出现问题

8.一个模块不宜写得太过复杂,这样不利于进行仿真,即使需要写得很复杂,也可以将其分成多个部分进行仿真

9.当整个模块因为牵涉到具体硬件而无法仿真时,可以把与硬件相关的部分删掉,或者模拟硬件的部分进行仿真

10.在写状态机时,每个状态尽可能简单,尽量将复杂的状态拆分成比较简单的状态,这样可以避免因布局布线的错误导致实际的运行情况跟设计的不符的情况。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值