1 / 14
文档名称:

Verilog HDL编码规范.pptx

格式:pptx   大小:2,483KB   页数:14页
下载后只包含 1 个 PPTX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

Verilog HDL编码规范.pptx

上传人:q1188830 2020/1/13 文件大小:2.42 MB

下载得到文件列表

Verilog HDL编码规范.pptx

文档介绍

文档介绍:FPGA/CPLD应用技术深圳职业技术学院温国忠、余菲、曾启明、赵杰、刘俐、王毅峰项目化实施课程电子信息工程技术专业教学资源库Electronicinformationteachingresource电子信息工程技术专业课程规范的意义和内容编码规范的具体要求VerilogHDL编码规范CodeStandardsoftheVerilogHDL规范的重要性规范的意义和内容复杂项目需要多人协作,统一的编程规范决定了后续维护和重用性等问题;即使是自己的代码,时间久了也会难以理解;良好的编程规范,有益于个人良好工作习惯和代码思路的养成。规范的意义和内容XXX项目目录 |--doc |--ip |--rtl |--sim |--flowdoc:项目相关的文档,包括该项目用到的datasheet,芯片规格书等; ip:商业上购买的成熟IP以及项目中一些成熟的可复用的代码; rtl:项目的rtl代码。这是项目的核心,文件名与module名称应当一致;sim:项目的仿真代码和相关生成文件;flow:后端DC综合、STA时序分析文档编码的主要方面和项目组织形式规范的Verilog HDL语言编码主要采用顺序结构,包括文件声明,IO声明,宏定义, wire&reg定义,parameter定义,module主体等方面组织形式编码规范的具体要求// ************************ ***************************************   // Copyright (C)     xx Coporation // File name:                        // Author:           xxxxxxxxxx           // Date:             2017-01-01           // Version:                     // Abstract:         xxxxxxx    //*****************************************************************建议: 如果代码经过修改,应在文件声明中增加修改的作者、日期和修改内容的信息文件声明的规范每一个Verilog文件的开头,都必须有一段声明的文字。包括文件的版权,作者,创建日期以及内容介绍等编码规范的具体要求输入输出定义包括module名字、输入输出、信号名字、输出类型、注释。module divider7_fsm ( sys_clk,sys_rst_n,clk_divide_7);//input  input       sys_clk;     // system clock input       sys_rst_n;// system reset, low is active  //outputoutput reg  clk_divide_7     // output divide 7 clk规范 ① 一行只定义一个信号; ② 信号需要对齐; ③ 同一组的的信号放一起输入输出定义的规范编码规范的具体要求// Prameter  parameter S0 = 7'b0000000; parameter S1 = 7'b0000001; parameter S2 = 7'b0000010; parameter S3 = 7'b0000100; parameter S4 = 7'b0001000; parameter S5 = 7'b0010000; parameter S6 = 7'b0100000;Parameter定义的规范一个module中的Prameter声明,不能随处乱放 规范: ① Prameter定义紧跟module的输入输出定义之后 ② Prameter等常量命名全部使用大写 ③ 一行只定义一个信号编码规范的具体要求① 数据类型定义紧跟prameter之后; ② 建议具有相同功能的信号集中放在一起; ③ 信号需要对齐,reg和位宽需要空2格,位宽和信号名字至少空四格; ④ 位宽使用降序描述,如[6:0];⑤ 时钟使用前缀clk,复位使用后缀rst; ⑥ 不能使用Verilog保留字作为信号名字;⑦ 一行只定义一个信号;//reg define  reg  [6:0]      curr_st          // FSM current state reg  [6:0]      next_st         // FSM next    state reg     clk_divide_7     // generated clock,divide by 7  //wir