集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 6081|回复: 10

Verilog代码命名六大黄金规则

[复制链接]
d643189658 发表于 2017-8-11 20:03:21 | 显示全部楼层 |阅读模式
Verilog代码命名六大黄金规则
FPGA开发圈

关于Verilog代码中命名的六大黄金规则。

  1. 系统级信号的命名。
  系统级信号指复位信号,置位信号,时钟信号等需要输送到各个模块的全局信号;系统信号以字符串Sys开头。

  2. 低电平有效的信号后一律加下划线和字母n。如:SysRst_n;FifoFull_n;

  3. 经过锁存器锁存后的信号,后加下划线和字母r,与锁存前的信号区别。如CpuRamRd信号,经锁存后应命名为CpuRamRd_r。低电平有效的信号经过锁存器锁存后,其命名应在_n后加r。

  如CpuRamRd_n信号,经锁存后应命名为CpuRamRd_nr多级锁存的信号,可多加r以标明。如CpuRamRd信号,经两级触发器锁存后,应命名为CpuRamRd_rr。

  4. 模块的命名。
  在系统设计阶段应该为每个模块进行命名。命名的方法是,将模块英文名称的各个单词首字母组合起来,形成3到5个字符的缩写。若模块的英文名只有一个单词,可取该单词的前3个字母。各模块的命名以3个字母为宜。例如:Arithmatic Logical Unit模块,命名为ALU。Data Memory Interface模块,命名为DMI。Decoder模块,命名为DEC。

  5. 模块之间的接口信号的命名。
  所有变量命名分为两个部分,第一部分表明数据方向,其中数据发出方在前,数据接收方在后,第二部分为数据名称。两部分之间用下划线隔离开。第一部分全部大写,第二部分所有具有明确意义的英文名全部拼写或缩写的第一个字母大写,其余部分小写。

  举例:CPUMMU_WrReq,下划线左边是第一部分,代表数据方向是从CPU模块发向存储器管理单元模块(MMU)。下划线右边Wr为Write的缩写,Req是Request的缩写。两个缩写的第一个字母都大写,便于理解。整个变量连起来的意思就是CPU发送给MMU的写请求信号。模块上下层次间信号的命名也遵循本规定。若某个信号从一个模块传递到多个模块,其命名应视信号的主要路径而定。

  6. 模块内部信号:
  模块内部的信号由几个单词连接而成,缩写要求能基本表明本单词的含义;单词除常用的缩写方法外(如:Clock-》Clk, Write-》Wr, Read-》Rd等),一律取该单词的前几个字母( 如:Frequency-》Freq, Variable-》Var 等);每个缩写单词的第一个字母大写;若遇两个大写字母相邻,中间添加一个下划线(如DivN_Cntr);

 楼主| d643189658 发表于 2017-8-11 20:46:31 | 显示全部楼层
一个人的星空 发表于 2017-8-12 09:46:15 来自手机 | 显示全部楼层
你要刷屏了
 楼主| d643189658 发表于 2017-8-12 12:53:01 | 显示全部楼层
fpga_feixiang 发表于 2017-8-12 13:59:03 | 显示全部楼层
Verilog代码命名六大黄金规则
hellokity 发表于 2017-8-13 09:43:36 | 显示全部楼层
感觉命名的话,个人有个人的方式吧,嘿嘿!
 楼主| d643189658 发表于 2017-8-13 12:57:16 | 显示全部楼层
hellokity 发表于 2017-8-13 09:43
感觉命名的话,个人有个人的方式吧,嘿嘿!

赞同。仅供参考,
陈飞龙 发表于 2017-8-13 19:01:06 | 显示全部楼层
低电平后面加_n
 楼主| d643189658 发表于 2017-8-16 22:13:48 | 显示全部楼层
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|集成电路技术分享 ( 京ICP备20003123号-1 )

GMT+8, 2024-5-19 17:10 , Processed in 0.079395 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表