博客
关于我
VHDL代码风格
阅读量:371 次
发布时间:2019-03-05

本文共 490 字,大约阅读时间需要 1 分钟。

现在越来越少人用VHDL了,不过偶尔会碰到,还是要写一下。

跟《》一样,这里也给出VHDL的代码风格。

因为VHDL是不区分大小写的,所以这里的端口、信号等,统一使用传统命名。

有的人会把关键词写成大写,其它用小写。我这里全部使用小写,避免打字麻烦。

1、端口。

输入、输出和双向端口前面加i_、o_、io_前缀,以便区分。

2、信号、变量、常量、类属。

也是分别加上g_、s_、c_、v_以便区分。

3、不依赖默认的优先级,都加上括号。

4、process不要过于复杂。

一个输出就写一个process,除非是关联性很大的几个输出,可以写在一起。

5、元件例化不要加逻辑。

不使用隐式元件例化,在端口映射中,不加其它逻辑,如:AND、OR等。

元件例化只完成接线的功能,加了其它逻辑,会影响分析代码。

6、提高元件例化的可读性。

如果用到元件例化,要用AsciiArtStudio,画好连接图,转成Ascii码,放在对应的地方。

如果有状态机,也要画状态转换图。

7、顶层文件加_top后缀,testbench文件加_tb后缀。

8、做好缩进。

9、命名不使用拼音,要简单易懂。

 

转载地址:http://adiwz.baihongyu.com/

你可能感兴趣的文章
IDEA出现问题:Received fatal alert: protocol_version 解决方案
查看>>
Airtest自动化测试 Docs airtest.core.android package
查看>>
SVN Unable to connect to a repository at URL 的解决方案
查看>>
Android基本知识
查看>>
在Java中,return null 是否安全, 为什么?
查看>>
命令模式【Command Pattern】
查看>>
OSI 7 层网络模型
查看>>
JDK 内置的多线程协作工具类的使用场景
查看>>
Java 中哪些对象可以获取类对象
查看>>
linux 的 cp 命令如何复制不提示覆盖
查看>>
linux 的 sleep 命令
查看>>
js 的 let var const 区别
查看>>
vue计算属性和监听器区别
查看>>
11.2.6 时间值的小数秒
查看>>
11.2.7 日期和时间类型之间的转换
查看>>
redis 内存溢出_从数据存储的角度告诉你Redis为什么这么快!
查看>>
实例分析Facebook激励视频广告接入
查看>>
实例:使用OKGO下载网络压缩包资源,然后解压缩放在本地使用
查看>>
解决mybatis嵌套查询使用PageHelper分页不准确
查看>>
Redis源码分析(七)--- zipmap压缩图
查看>>