第一部分:说明 1.准则的重要程度分三个层次:
好的经验 -- 表明这条规则是一般情况下比较好的经验,在大多数的情况下
要遵循,在特殊情况下可以突破这一规则。
推荐 -- 推荐这一规则,在遵循这一规则的条件下,一般不会出现问题;
强烈推荐 -- 表示严格规定,除非出现特别特殊的情况,否则要严格遵守。
2.斜体部分一般表明不按照规则执行,会出现的问题和现象,或一些相关注释。
3.版本及修订工作
姓名 徐欣,孙广富
修订 规范的最初发布
日期 2002-6-30
联系方式 Dr.xuxin@163.net
第二部分:HDL编码风格
1. 文件头和修订列表
作为好的源代码,其中必须包含所有需要的信息。因此源代码中要
包含文件头和修订列表(以获得修改情况)。
1.1 文件头包含以下内容: ·模块名
·文件名
·需要的库
·模块描述
·使用的仿真器--其运行平台和版本
·使用的综合工具,其运行平台和版本
·作者名字和e-mail
1.2 修订列表包含以下内容: ·修订版本号
·改动的数据
·修订者名字和e-mail
·改动的详细描述
下面是一个例子:
Example Header
-- Module : MAC (Multiply Accumulate Unit)
-- File : mac.vhd
-- Library : ieee,.......
-- Description : It is a general Purpose Multiply Accumulate Unit capable of
-- Simulator : Modelsim 5.2 / Windows 95
-- Synthesizer : Synplify / Windows95
-- Author / Designer : Harish Y S (harish@opencores.org)
----------------------------------------------------------------------------
Example Revision List
----------------------------------------------------------------------------
-- Revision Number : 1
-- Date of Change : 20th March 2000
-- Modifier : Harish Y S (harish@opencores.org)
-- Description : Initial Design
----------------------------------------------------------------------------
-- Revision Number : 2
-- Date of Change : dd mm yyyy
-- Modifier : XYZ (email)
-- Description : Modified the ????.to improve ????..
----------------------------------------------------------------------------
文件头的标准模式:
-----------------------------------------------------------------------------
-- Title :
-- Project :
------------------------------------------------------------------------
-- File :
-- Author : name <email>
-- Organization:
-- Created :
-- Last update :
-- Platform :
-- Simulators :
-- Synthesizers:
-- Targets :
-- Dependency :
--------------------------------------------------------------------------
-- Description:
--------------------------------------------------------------------------
-- Copyright (c) notice
--------------------------------------------------------------------------
-- Revisions :
-- Revision Number :
-- Version :
-- Date :
-- Modifier : name <email>
-- Desccription :
------------------------------------------------------------------------------
2.联机注释 每一个重要的操作和定义后都要加上注释,描述操作和声明的使用。