Project

General

Profile

如何写RTL硬件代码?

Added by 范 益波 over 11 years ago

代码风格

代码风格和示例Verilog模板 RTL_Coding_Style.rar

设计原则

  1. 模块的start, done信号采用单周期的脉冲信号
  2. 模块输入数据有两种:
    1. 并行信号输入(信号仅在start周期有效,如果模块希望继续使用这些信号,则模块需要自行存储)
    2. 串行信号输入(需要需有<valid, data>控制+数据信号组合,仅当valid高电平数据才有效)
    3. 存储器输入(模块需自行产生地址线、读有效等信号)
  3. 模块输出有两种:
    1. 并行寄存器输出(输出都是寄存器,在done脉冲来临后有效,在start脉冲来临后失效)
    2. 串行寄存器输出 (输出采用<valid, data>控制+数据信号组合,仅当valid高电平数据才有效)
    3. 存储器输出(由后继模块产生地址线、读有效等信号)
    4. 不允许组合电路输出!!
  4. 在上述输入/输出方案之外的数据传输模式,需仔细讨论决定方案

硬件仿真环境设置

  1. Cygwin : Linux Shell界面
  2. Modelsim : 硬件仿真器
  3. Debussy : 看波形工具

其他资料

  1. [[h264enc:RTL Coding Style and Design Tricks]]