0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

FPGA的Verilog代码编写规范

CHANBAEK 来源:文礼轩 作者:文礼轩 2023-08-15 16:23 次阅读

注:以R起头的是对编写Verilog代码的IP设计者所做的强制性规定,以G起头的条款是建议采用的规范。每个设计者遵守本规范可锻炼命名规范性。

4 注释(Comments)

注释可用于描述 Verilog HDL代码的功能,特别需要提醒设计者注意的是,只依靠读代码很难理解的设计意图必须在代码中添加注释加以说明。

4.1 文件头(File Headers)

每一个可综合的Verilog RTL级电路模块、虚拟器件和测试模块文件必须具有下面格式的文件头。设计规范规定:文件头的格式必须与下面的格式一致,以便于将来可用软件对模块代码进行分析处理。文件头中大写的关键词可以用来检索。下面的这个模板可以保证文件头的一致性。下面所示的文件头只是最小要求。在“REUSE ISSUE”段之后,还可以再添加其他的文件头.另外,有关版权的文件头也应该包括在文件头中。

// +FHEADER-----------------------------------------------------------------

// Optional Copyright (c)

// Optional Company Confidential

// ----------------------------------------------------------------------

// FILE NAME :

// DEPARTMENT :

// AUTHOR:

// AUTHOR’S EMAIL :

// --------------------------------------------------------------------

// RELEASE HISTORY

// VERSION DATE AUTHORDESCRIPTION

// 1.0 YYYY-MM-DD name

// ---------------------------------------------------------------------

// KEYWORDS : General file searchinGkeywords, leave blank if none.

//-----------------------------------------------------------------------

// PURPOSE : Short description of functionality

// ----------------------------------------------------------------------

// PARAMETERS

// PARAM NAME  RANGE : DESCRIPTION : DEFAULT : UNITS

// e.g.DATA_WIDTH [32,16] : width of the data : 32 :

// ----------------------------------------------------------------------

// REUSE ISSUES

// Reset Strategy :

// Clock Domains :

// Critical TiminG:

// Test Features :

// Asynchronous I/F :

// Scan Methodology :

// Instantiations :

// Synthesizable (y/n) :

// OtheR:

// -FHEADER-------------------------------------------------------------

R 4.1 每个文件必须有文件头(header)

每一个文件必须包括如上面代码段所示的文件头。其中,所有的区域都必须包括在内,甚至空的数据段。

原因:按照规范编写的标准文件头便于建立公司内部的设计信息查询系统。

R 4.2 使用文件头界定标记 [+FHEADER & -FHEADER]

标签+FHEADER& -FHEADER一定要用来定义头信息的界限。(the boundary of the 文件头
information)

原因:这是识别文件头的简单方法,标明该头是文件头,便于用文本工具自动地查询存档的资料

R 4.3 文件头内必须包含文件名

文件头中必须包含文件名

原因:这样做提供了一种简单的方法以便用文本处理工具自动地查询相关的设计文件。

R 4.4 文件头中必须包含联系方式

文件头中必须包含有关本代码的多种信息,其中包括开发小组的名称、作者名、版本历史、作者电话、电子邮件和邮寄地址。

原因:必要时可以找到原作者询问只从设计文档无法理解的问题。

R 4.5 文件头包含发布历史

文件头必须要包含进入虚拟器件(VC)库的修改历史,最近的修改列于最后。日期格式必须采用YYYY-MM-DD。这个信息对于集成器是有用的。本地的修改历史不应该包含其中。

原因:要求去记录设计的修改历史。

R 4.6 文件头包含一个关键字段

文件头必须包含便于搜索的关键字段。该字段应该包含有关本模块功能的简要说明,或是能与本模块配合运行的总线和系统的名称。

原因:关键字可提供快速的搜索机制,便于自动文本处理工具在庞大的虚拟器件 (VC)库中搜索合适的器件。如果没有关键字,该条目应该空着。

例子:sdram, address decoder, coldfire, sbus, amba,usb2.0

R 4.7 文件头必须包含一段描述模块功能的说明

文件头必须包含一段描述本模块功能的说明,而不是如何操作或运行方式的说明。

原因:有助于对模块功能的理解。

R 4.8 文件头必须包含参数描述文件的名和路径

文件头必须包含描述本模块代码所使用的参数文件的名和路径。缺省值必须都在参数文件中列出。有效值域也必须标出。

原因:有助于对Verilog HDL代码的理解

R 4.9 复位策略必须在头文件中说明

在头文件中必须详细说明复位策略。包括说明是同步复位还是异步复位,是内部复位还是外部上电复位,是硬复位还是软复位,以及该模块是否能用单个复位来调试。

原因:改善代码的可读性,突出重点和必需的综合步骤。

R 4.10 对时钟域(clock domain)的说明

在头文件中必须详细说明所有的时钟和时钟策略。

原因:说明内部生成的时钟或是分频的时钟,便于对代码和时钟策略的理解。

R 4.11 对关键布线路径的说明

包括外部时机关系的决定性的时机必须记录。文件头的位置可以包含含有决定性的时机的文件名(如creation guide)

原因:建立时机和输出时机关系突出了必需的综合和测试。

R 4.12 记录测试的特点

任何具体的代码中的用于提高测试速度的测试特色必须记录。

原因:一旦可视化部件被集成,这点可用来改善对代码的理解和测试。

例子:parallel clocking, BIST

R 4.13 需要详细的异步接口

异步接口必须包括时间关系和相关频率

原因:有助于对设计的理解,并且有助于决定是否需要额外的同步的stages用于一个不同目标的应用。

R 4.14 标明扫描方法的风格

有关于扫描风格的标注必不可缺

原因:有助于设计的集成

例子:Mux-D oRLSSD

R 4.15 文档实例化

文件头必须包括有关于文档内每一个单元、模块、函数调用、任务是如何实例化的部分。(参考R 4.30, R 7.4, G 10.23)

原因:标明必须用于重定义技术的区域,并且帮助理解设计层次。

例子:实例化 mux2s cell, decode task

原因:绝大部分由实例组成的模块。

R4.16 标明可综合能力

综合结构的能力必须以指定的YES或NO标明

原因:直接标明模块的使用路径(如:是否该模块可被用于仿真)

G 4.17 其他头文档(OtheRheadeRdocumentation)

建议文件头包含额外的相关信息——这些信息用于集成器或可以使代码更易理解。这一部分信息有助于设计者的判断,并可保持附加信息点的位置连续性。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1627

    文章

    21685

    浏览量

    602326
  • Verilog
    +关注

    关注

    28

    文章

    1345

    浏览量

    110009
  • RTL
    RTL
    +关注

    关注

    1

    文章

    385

    浏览量

    59720
  • 代码
    +关注

    关注

    30

    文章

    4762

    浏览量

    68408
  • IP设计
    +关注

    关注

    0

    文章

    10

    浏览量

    10508
收藏 人收藏

    评论

    相关推荐

    怎么样提高verilog代码编写水平?

    ,共同进步。 欢迎加入FPGA技术微信交流群14群! 交流问题(一) Q:怎么样提高verilog代码编写水平?Cpu 从事DFT工作。目前仅限于写一些简单模块。自学的话如何提高
    发表于 09-25 20:05

    【分享】verilog代码书写规范

    FPGA verilog代码书写规范,很好的借鉴
    发表于 05-21 11:36

    Verilog HDL代码书写规范

    Verilog HDL代码书写规范
    发表于 09-30 08:55

    Verilog HDL代码书写规范

    1. 目的本规范的目的是提高书写代码的可读性、可修改性、可重用性,优化代码综合和仿真的结果,指导设计工程师使用VerilogHDL规范代码
    发表于 12-08 14:36

    FPGA代码书写规范

    代码书写规范本文节选自特权同学的图书《FPGA设计实战演练(逻辑篇)》配套例程下载链接:http://pan.baidu.com/s/1pJ5bCtt 虽然没有“国际标准”级别的Verilog
    发表于 04-16 04:08

    如何在verilog编写代码

    是5位模式。我决定编写一个代码来生成值,而不是在LCD上看到它我会创建一个文本文件并将结果写入该文件。任何人都可以告诉我如何在verilog编写
    发表于 10-29 09:40

    Verilog代码书写规范

    Verilog代码书写规范规范的目的是提高书写代码的可读性、可修改性、可重用性,优化代码
    发表于 04-15 09:47 106次下载

    fpga实现jpeg Verilog代码

    本站提供的fpga实现jpeg Verilog代码资料,希望能够帮你的学习。
    发表于 05-27 15:09 200次下载

    verilog代码规范

    verilog代码规范,学会写代码还不行,我们需要更加的规范
    发表于 03-25 14:43 24次下载

    华为_VERILOG语言编写规范

    verilog代码规范,学会写代码还不行,我们需要更加的规范
    发表于 03-25 14:36 34次下载

    Verilog编写的信道估计

    Xilinx FPGA工程例子源码:Verilog编写的信道估计
    发表于 06-07 14:54 38次下载

    Verilog程序编写规范

    在实际工作中,许多公司对Verilog程序编写规范都有要求。在公司内部统一Verilog程序编写规范
    的头像 发表于 09-15 09:35 3918次阅读

    verilog语言编写规范

    规范的目的是提高书写代码的可读性 可修改性 可重用性 优化代码综合和仿真的结 果 指导设计工程师使用VerilogHDL规范代码和优化电路
    的头像 发表于 11-23 17:28 1170次阅读

    如何使用参数化编写可重用的verilog代码

    我们将介绍如何使用verilog参数和generate语句来编写可重用的verilog 代码。 与大多数编程语言一样,我们应该尝试使尽可能多的
    的头像 发表于 05-11 15:59 1098次阅读

    IC设计之Verilog代码规范

    Verilog规范对于一个好的IC设计至关重要。
    的头像 发表于 08-17 10:14 1411次阅读
    IC设计之<b class='flag-5'>Verilog</b><b class='flag-5'>代码</b><b class='flag-5'>规范</b>