一、项目架构设计

项目架构设计.png

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

二、接口时序设计规范

接口时序设计规范.png

模块和模块之间的通过模块的接口实现关联,因此规范的时序设计,对于程序设计的过程,以及程序的维护,

团队之间的沟通都是非常必要的。

三、命名规则

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、程序注释说明

程序注释说明.png

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_sync_i

16、 使能信号

功能+en

比如:wr_en、rd_en

对象+功能+en

比如:fifo_wr_en、mcb_wr_en

摘抄于米联客

基于XILINX 7系列FPGA基础入门.pdf