差别
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
硬禾实战营verilog代码规范 [2016/08/03 18:45] zhijun |
硬禾实战营verilog代码规范 [2021/09/15 14:54] (当前版本) gongyu |
||
---|---|---|---|
行 1: | 行 1: | ||
- | ====1.RTL CODE 规范==== | + | [[stepfpga_code_spec]] |
+ | ### 1.RTL CODE 规范 | ||
------ | ------ | ||
+ | |||
===1.1标准的文件头=== | ===1.1标准的文件头=== | ||
+ | |||
------ | ------ | ||
在每一个版块的开头一定要使用统一的文件头,其中包括作者名,模块名,创建日期,概要,更改记录,版权等必要信息。 | 在每一个版块的开头一定要使用统一的文件头,其中包括作者名,模块名,创建日期,概要,更改记录,版权等必要信息。 | ||
统一使用以下的文件头:其中*为必需的项目 | 统一使用以下的文件头:其中*为必需的项目 | ||
+ | |||
<code verilog> | <code verilog> | ||
//******************************************************** | //******************************************************** | ||
行 30: | 行 35: | ||
===1.2标准的module格式=== | ===1.2标准的module格式=== | ||
+ | |||
------ | ------ | ||
+ | |||
对于模块的书写采用统一的格式便于项目内部成员的理解和维护,我们用批处理建立了一个MODULE模块,其内容解释如下: | 对于模块的书写采用统一的格式便于项目内部成员的理解和维护,我们用批处理建立了一个MODULE模块,其内容解释如下: | ||
\\ 端口定义按照输入,输出,双向的顺序: | \\ 端口定义按照输入,输出,双向的顺序: | ||
行 38: | 行 45: | ||
\\ 例化名 :U_XXX (大写) | \\ 例化名 :U_XXX (大写) | ||
\\ IP 内部所有的模块名都要加IP名或者IP名简称作前缀,如USB_CTRL、USB_TX_FIFO。 | \\ IP 内部所有的模块名都要加IP名或者IP名简称作前缀,如USB_CTRL、USB_TX_FIFO。 | ||
+ | |||
<code verilog> | <code verilog> | ||
// ***************************** | // ***************************** | ||
行 103: | 行 111: | ||
===1.3一致的排版=== | ===1.3一致的排版=== | ||
+ | |||
------ | ------ | ||
+ | |||
\\ A. 一致的缩排 | \\ A. 一致的缩排 | ||
+ | |||
<code verilog> | <code verilog> | ||
//统一的缩排取4个空格宽度 | //统一的缩排取4个空格宽度 | ||
行 118: | 行 129: | ||
\\ B.一致的 begin end 书写方式 | \\ B.一致的 begin end 书写方式 | ||
+ | |||
<code verilog> | <code verilog> | ||
//always 中,一定要用begin end 区分,格式和代码风格统一如下: | //always 中,一定要用begin end 区分,格式和代码风格统一如下: | ||
行 148: | 行 160: | ||
else | else | ||
</code> | </code> | ||
+ | |||
===1.4 一致的信号命名风格=== | ===1.4 一致的信号命名风格=== | ||
+ | |||
------ | ------ | ||
+ | |||
简洁,清晰,有效是基本的信号命名规则,详见命名规范。 | 简洁,清晰,有效是基本的信号命名规则,详见命名规范。 | ||
^全称 ^缩写 ^中文含义^ | ^全称 ^缩写 ^中文含义^ | ||
行 204: | 行 219: | ||
====2.模板示例==== | ====2.模板示例==== | ||
+ | |||
------ | ------ | ||
+ | |||
<code verilog> | <code verilog> | ||
//******************************************************** | //******************************************************** |