标准相关与常见命名

变量定义相关

常见命名

  • mux,mmultiplexer:多路选择器
  • sel:多路选择器的那个选择
  • idle:状态机的一种状态,初始态、空闲态
  • MCDF:多通道数据整合器(一种设计),可以将上行(uplink)多个通道数据经过内部FIFO最终以数据包的形式送出
  • Arbiter:仲裁
  • Formater:整形器
  • port/module_function_i/o/s(s是指内部信号)

其他命名

  • verifier

注意事项

  • 每个always只能有一个@(event-expression)
  • always @(敏感信号) always赋值的右值必须出现在敏感列表里,如果没有则会生成一个则会在综合时生成一个隐形锁存器
  • 一定要避免生成锁存器,如果提示产生锁存器则代码一定在哪里有bug
  • reg和integer的赋值只能在always语句里,且不能在多个always语句中对同一个reg赋值
  • 如果某个信号赋值为”‘bx”综合器会把其接生成无关状态,因而综合器为其生成的硬件电路最简洁
  • 所有块的(非beginend,forkend语句)的声明语句右面要有;,如class Transaction;,不过如果后面跟着个冒号取名字就不用写冒号了
  • 同理也存在endfunction:随便起个名字的命名块