Verilog语言缩写规范
1. 缩写目的
信号(或变量或者常量,以下统一为信号)缩写有利于减少代码长度,减少书写错误,使代码更简洁美观,但是不规范的缩写则会导致易读性降低,因此需要对Verilog语言中缩写进行规范,以提高代码的质量。本文主要针对Verilog中的信号缩写进行规范化,讲述了一些主要的缩写方法和特殊用例,其它语言比如C/C++/Java等亦可以参考本文的缩写方式。
2. 缩写方法
不同的缩写需要遵循一定的缩写方法与规范,以下为常用的几种缩写方法:
2.1 约定法
约定法即使用大家约定俗成的缩写方法,在代码中使用非常频繁,比如read缩写为rd,address缩写为addr等。
2.2 辅音法
辅音法使用单词中主要的辅音字母(以发音为准)进行缩写,比如delay缩写为dly,clear缩写为clr等。
注意:一些辅音法中对r以及元音(a/e/i/o/u)有着特殊处理。比如clear中保持r,clock缩写为clk而省略了第二个c(该c不影响辅音的发音),对于以元音开始的单词,一般将第一个元音保留,比如average缩写为avg。
2.3 词首法
词首法则使用单词的首部,比如address缩写为addr,acknowledge缩写为ack。
2.4 词组法
词组法针对多个单词的缩写,取每个单词的首字母组合而成,比如Start Of Packet缩写为SOP, Cyclic Redundancy Check缩写为CRC等。
2.5 混合法
混合法则组合其它各种缩写方式来形成新的缩写,比如使用词首的元音和主要辅音,或者采用一个词的单个字母+另一个单词的全写或者缩写,比如Address Bus缩写为ABUS Read Request缩写为rreq,write data缩写为wrdata等。
2.6 自定义
对于一些经常使用但是没有通行缩写方法的信号,可以使用自定义法参考以上各种方法进行缩写,比如Address Width缩写为AW, Data Width缩写为DW。自定义法必须通过注释添加说明,否则其他读者很难理解该缩写方式,采用该方式需要保持在各个代码中保持一致。
3. 特殊缩写
一般情况下不建议将信号缩写为一个字母。但是针对Verilog的特点,对于输入输出端口,wire和reg类型等常用信号,可以缩写为一个或者两个字母,对于缩写为单个或者一些2字母的情况,如下特殊说明
i_* for input // 定义输入端口
o_* for output // 定义输出端口
w_* for wire // 定义wire变量
r_ for register // 定义register变量
t_ for trisate // 定义三态信号
io_ for inout // 定义双向端口
_p for postive // 定义正极性,或者高有效
_n for negtive // 定义负极性,或者低有效
_r for red // 定义红色,视频处理中经常使用
_g for green // 定义绿色,视频处理中经常使用
_b for blue // 定义蓝色,视频处理中经常使用
_d# for delay // 定义寄存器延时
_h for high // 定义高,比如一个word的高字节
_l for low // 定义低,比如一个word的低字节
4. 缩写列表
信号全写 |
首选缩写 |
备选缩写 |
方式 |
备注 |
acknowledge |
ack |
词首法/约定法 | ||
addition |
add |
词首法/约定法 |
和sub相对 | |
address |
addr |
adr |
词首法/约定法 |
不可缩写为add |
almost empty |
aept |
aempty |
混合法 |
用于FIFO |
almost full |
aful |
afull |
混合法 |
用于FIFO |
answer |
ans |
词首法/约定法 | ||
argument |
arg |
词首法/约定法 | ||
array |
arr |
词首法/约定法 | ||
asynchrounus |
async |
asyn |
词首法/约定法 | |
audio |
aud |
词首法 | ||
average |
avg |
混合法/约定法 | ||
back |
bck |
bk |
辅音法 |
和front相对 |
block |
blk |
辅音法 | ||
blue |
blu |
b |
词首法/自定义 |
special for R/G/B |
bottom |
bot |
词首法 |
和top相对 | |
buffer |
buf |
buff |
词首法/约定法 | |
calculate |
calc |
cal |
词首法/约定法 | |
capture |
cap |
capt |
词首法 |
和display相对 |
change |
chg |
约定法 | ||
channel |
ch |
词首法/约定法 | ||
character |
char |
词首法/约定法 | ||
check |
chk |
辅音法/约定法 | ||
chip select |
cs |
首字母/约定法 | ||
clock |
clk |
辅音法/约定法 | ||
clr |
clear |
辅音法/约定法 | ||
column |
col |
词首法/约定法 |
和row相对 | |
combine |
cmb |
辅音法 | ||
command |
cmd |
com |
辅音法/约定法 | |
compare |
cmp |
辅音法/约定法 | ||
configure |
cfg |
config |
辅音法/词首法 | |
control |
ctrl |
ctl |
辅音法/约定法 | |
count |
cnt |
辅音法/约定法 | ||
current |
cur |
curr |
词首法 |
和next相对 |
data |
dat |
词首法 |
参考.dat文件 | |
debug |
dbg |
辅音法/约定法 | ||
decode/decoder |
dec |
词首法/约定法 |
和encode相对 | |
define |
def |
词首法/约定法 | ||
delay |
dly |
辅音法/约定法 |
和previous相对 | |
delay # cycle |
_d# |
自定义 |
special for #=1,2,3 | |
delete |
del |
词首法/约定法 |
和insert相对 | |
destination |
dst |
dest |
词首法/约定法 |
和source相对 |
detect |
det |
词首法/约定法 | ||
device |
dev |
词首法/约定法 | ||
different |
diff |
dif |
词首法/约定法 | |
directory |
dir |
词首法/约定法 | ||
display |
disp |
词首法 |
和capture相对 | |
division/divide |
div |
词首法/约定法 |
和multiply相对 | |
document |
doc |
词首法/约定法 | ||
double |
dbl |
辅音法 |
double buffer | |
drop |
drp |
辅音法 |
和copy相对 | |
dynamic |
dyna |
词首法/约定法 |
和static相对 | |
empty |
ept |
混合法 |
和full相对 | |
enable |
ena |
en |
词首法/约定法 |
和disable相对 |
encode/eoncoder |
enc |
词首法/约定法 |
和decode相对 | |
environment |
env |
词首法/约定法 | ||
error |
err |
词首法/约定法 |
和right相对 | |
ethernet |
eth |
词首法/约定法 | ||
execute |
exec |
词首法/约定法 | ||
extend |
ext |
词首法 |
常用于跨时钟域 | |
feed back |
fb |
词组法 | ||
filter |
flt |
辅音法 | ||
Finite State Machine |
fsm |
首字母/约定法 | ||
first |
1st |
约定法 |
first, second, third | |
flag |
flg |
辅音法 | ||
frame |
frm |
辅音法 |
和field相对 | |
frame per second |
fps |
词组法/约定法 | ||
frequency |
freq |
frq |
词首法 | |
full |
ful |
词首法 |
和empty相对 | |
function |
fun |
fn |
词首法 | |
generate |
gen |
词首法 | ||
global |
glb |
辅音法 |
全局时钟/复位等 | |
green |
gre |
g |
词首法/自定义 |
special for R/G/B |
ground |
gnd |
约定法 | ||
group |
grp |
辅音法 |
建组,退组等 | |
header |
hdr |
辅音法 |
和tail相对 | |
heartbeat |
htbt |
自定义 |
心跳,网络处理 | |
height |
ht |
约定法 |
和width相对 | |
high |
_h |
自定义 |
和low相对 | |
identification |
id |
词首法/约定法 | ||
image |
img |
词首法/约定法 | ||
implement |
impl |
词首法 | ||
increment |
inc |
incr |
词首法 | |
index |
idx |
辅音法/约定法 | ||
information |
info |
词首法 | ||
initalize |
init |
词首法 | ||
inout |
io_ |
自定义 |
双向端口前缀 | |
input |
i_ |
自定义 |
输入端口前缀 | |
input & output |
io |
自定义 | ||
insert |
ins |
词首法 | ||
interface |
if |
I/F |
约定法 | |
interrupt |
int |
intr |
词首法 | |
iteration |
itr |
自定义 | ||
layer |
lay |
词首法 | ||
length |
len |
词首法 | ||
level |
lvl |
lev |
辅音法 | |
library |
lib |
词首法 | ||
line |
ln |
辅音法 | ||
link |
lnk |
辅音法 | ||
list |
lst |
辅音法 | ||
local |
loc |
词首法 | ||
logical |
log |
词首法 |
和physical相对 | |
low |
_l |
自定义 |
和high相对 | |
make |
mk |
辅音法 | ||
manager |
mgr |
自定义 | ||
master |
mst |
辅音法 |
和slave相对 | |
match |
mat |
词首法 | ||
maximum |
max |
词首法 | ||
memory |
mem |
词首法 | ||
message |
msg |
约定法 | ||
micro block |
mb |
约定法 | ||
middle |
mid |
词首法 | ||
minimum |
min |
词首法 | ||
mouse & keyboard |
mk |
词组法 | ||
multiplication |
mul |
词首法 |
和divide相对 | |
negedge/falling |
neg |
词首法 |
和posedge相对 | |
negitivt |
_n |
自定义 |
和positive相对 | |
next |
nxt |
辅音法 |
和previous相对 | |
number |
num |
词首法 |
和count相对 | |
object |
obj |
词首法/约定法 | ||
operand |
op |
词首法/约定法 | ||
operator |
optr |
自定义 | ||
optimization |
opt |
词首法 | ||
origin/original |
org |
orig |
词首法 | |
output |
o_ |
自定义 |
输出端口前缀 | |
over flow |
of |
词组法 |
和under flow相对 | |
package |
pkg |
辅音法 | ||
packet |
pkt |
辅音法 | ||
padding |
pad |
词首法 | ||
parameter |
para |
param |
词首法 | |
password |
psw |
辅音法 | ||
payload type |
pt |
词首法 | ||
physical |
phy |
词首法 |
和logical相对 | |
picture |
pic |
词首法 | ||
point |
pnt |
辅音法 |
和line相对 | |
pointer |
ptr |
约定法 | ||
posedge/raising |
pos |
词首法 | ||
position |
pos |
词首法 | ||
positive |
_p |
自定义 |
和negtive相对 | |
power |
pwr |
辅音法 |
和ground相对 | |
previous |
pre |
prev |
词首法 |
和next相对 |
process/procedure |
proc |
词首法 | ||
public |
pub |
词首法 | ||
read |
rd |
辅音法 |
和write相对 | |
read only |
ro |
词组法 | ||
read write |
rw |
词组法 | ||
ready |
rdy |
辅音法 | ||
receive |
rx |
recv |
约定法 |
和transmitter相对 |
record |
rcd |
辅音法 | ||
red |
red |
r |
自定义 |
special for R/G/B |
region |
rgn |
辅音法 | ||
register |
r_ |
reg |
词首法 |
r_* for register |
request |
req |
词首法 | ||
reset |
rst |
首字母 | ||
result |
res |
词首法 | ||
return |
ret |
词首法 | ||
screen |
srcn |
scr |
词首法 | |
second |
2nd |
sec |
词首法 | |
segment |
seg |
词首法 | ||
select |
sel |
词首法 | ||
server |
svr |
约定法 | ||
signaling |
sig |
词首法 | ||
slave |
slv |
辅音法 |
和master相对 | |
slice |
slc |
辅音法 | ||
source |
src |
辅音法 |
和destination相对 | |
stack |
stk |
辅音法 | ||
standard |
std |
约定法 | ||
state |
S_ |
自定义 |
for FSM | |
status |
stat |
词首法 |
和configure相对 | |
stream |
strm |
stm |
辅音法 | |
string |
str |
词首法 | ||
subtraction |
sub |
词首法 |
和add相对 | |
summation |
sum |
词首法 | ||
synchronization |
sync |
syn |
词首法 | |
system |
sys |
词首法 | ||
table |
tab |
tbl |
词首法 | |
temporary |
temp |
tmp |
词首法 | |
test |
tst |
辅音法 | ||
text |
txt |
辅音法 | ||
third |
3rd |
约定法 | ||
threshold |
th |
词首法 | ||
time stamp |
ts |
词首法/自定义 | ||
total |
tot |
词首法 |
和active相对 | |
transmitter |
tx |
约定法 |
和receive相对 | |
triple |
tri |
|
约定法 |
|
tristate |
t_ |
自定义 |
t_ for tristate | |
update |
upd |
词首法 |
和hold相对 | |
upgrade |
upg |
词首法 | ||
user interface |
ui |
词组法 | ||
utility |
util |
词首法 | ||
valid |
vld |
辅音法 | ||
value |
val |
词首法 | ||
variable |
var |
词首法 | ||
variable length code |
vlc |
词组法 | ||
version |
ver |
词首法 | ||
vertical synchronous |
vsync |
组合法 |
和hsync相对 | |
video |
vid |
词首法 | ||
wide/width |
wd |
辅音法 |
和height相对 | |
window |
win |
wnd |
词首法 | |
wire |
w_ |
自定义 |
w_ for wire | |
write |
wr |
词首法/约定法 |
和read相对 | |
Cyclic Redundancy Check |
crc |
词组法 | ||
y | ||||
u | ||||
v |