码迷,mamicode.com
首页 > 其他好文 > 详细

MiS603开发板 2.1 Verilog HDL 代码规范

时间:2015-09-13 10:30:24      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:

作者:MiS603开发团队

日期:20150911

公司:南京米联电子科技有限公司

论坛:www.osrc.cn

网址:www.milinker.com

网店:http://osrc.taobao.com

EAT博客:http://blog.chinaaet.com/whilebreak

博客园:http://www.cnblogs.com/milinker/

技术分享

2.1 Verilog HDL 代码规范

规范的代码风格,可以让程序更容易阅读和维护。

u 文档管理

合理的文档管理也是程序代码规范的重要组成部分

技术分享

以上图片中可以看出RGMII_UDP_TEST是我们的工程文件夹,在这个工程文件夹下有三个文件夹分别为:DOC文件夹、RGMII_UDP_TEST文件夹、SRC文件夹。

DOC文件夹:用来放一些我们开发过程中用到的数据手册,参考资料,开发笔记等、

RGMII_UDP_TEST文件夹:放ISE工程文件,ISE工程文件比较乱,单独放在一个文件夹有利于管理起来更加方便。

SRC文件夹:放源代码

技术分享

打开SRC文件夹,可以看到里面还有几个文件夹,这些文件夹是用来管理源程序的,读者可以增加或者减少相关文件夹。

IPCORE文件夹:保存ISE自带的IPCORE

RGMII_CHIPSCOPE文件夹:chipscope IP

RGMII_DRIVER文件夹:接口驱动程序源码

RGMII_UDP_TEST文件夹:本工程程序。

u 项目构架设计

技术分享

项目的构架用于团队的沟通,以及项目设计的全局把控

u 接口时序设计规范

模块和模块之间的通过模块的接口实现关联,因此规范的时序设计,对于程序设计的过程,以及程序的维护,团队之间的沟通都是非常必要的。

技术分享

u 命名规则

1、顶层文件

对象+功能+top

比如:video_oneline_top

2、逻辑控制文件

介于顶层和驱动层文件之间

对象+ctr

比如:ddr_ctr.v 

3、驱动程序命名

对象+功能+dri

比如:lcd_dri.v、uart_rxd_dri.v

4、参数文件命名

对象+para

比如:lcd_para.v

5、模块接口命名:文件名+u

比如lcd_dir  lcd_dir_u(........)

6、模块接口命名:特征名+文件名+u

比如 mcb_read  c3_mcb_read_u

7、程序注释说明

//////////////////////////////////////////////////////////////////////////////////

// Company: milinker corperation

// Engineer:jinry tang

// WEB:www.milinker.com

// BBS:www.osrc.cn

// Create Date:    07:28:50 07/31/2015

// Design Name:   FPGA STREAM

// Module Name:    FPGA_USB

// Project Name:   FPGA STREAM

// Target Devices: XC6SLX16-FTG256/XC6SLX25-FTG256 Mis603

// Tool versions:  ISE14.7

// Description:   CY7C68013A SLAVE FIFO comunication with fpga

// Revision:   V1.0

// Additional Comments:

//1) _i input

//2) _o output

//3) _n activ loe

//4) _dg debug signal

//5) _r delay or register

//6) _s state mechine

//////////////////////////////////////////////////////////////////////////////////

8、端口注释

input Video_vs_i,//输入场同步入

9、信号命名

命名总体规则:对象+功能(+极性)+特性

10、时钟信号

对象+功能+特性

比如:phy_txclk_i、sys_50mhz_i

11、复位信号

对象+功能+极性+特性

比如:phy_rst_n_i、sys_rst_n_i

12、延迟信号

对象+功能+特性1+特征2

比如:fram_sync_i_r0、fram_sync_i_r1

13、特定功能计数器

对象+cnt

比如:line_cnt、div_cnt0、div_cnt1

功能+cnt

比如:wr_cnt、rd_cnt

对象+功能+cnt

比如:fifo_wr_cnt、mcb_wr_cnt、mem_wr_cnt

对象+对象+cnt

比如:video_line_cnt、video_fram_cnt

14、一般计数器

cnt+序号

用于不容易混淆的计数

比如:cnt0、cnt1、cnt2

15、 时序同步信号

对象+功能+特性

比如:line_sync_i、fram_sysc_i

16、 使能信号

功能+en

比如:wr_en、rd_en

对象+功能+en

比如:fifo_wr_en、mcb_wr_en

MiS603开发板 2.1 Verilog HDL 代码规范

标签:

原文地址:http://www.cnblogs.com/milinker/p/4804110.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!