IEEE Standard for Verilog Hardware Description Language

英语说明阅读,首先看导读、目录、摘要等内容。

摘要:

1 Abstract: The Verilog hardware description language (HDL) is defined in this standard. Verilog
2 HDL is a formal notation intended for use in all phases of the creation of electronic systems. Be-
3 cause it is both machine-readable and human-readable, it supports the development, verification,
4 synthesis, and testing of hardware designs; the communication of hardware design data; and the
5 maintenance, modification, and procurement of hardware. The primary audiences for this standard
6 are the implementors of tools supporting the language and advanced users of the language.
7 Keywords: computer, computer languages, digital systems, electronic systems, hardware, hard-
8 ware description languages, hardware design, HDL, PLI, programming language interface, Verilog,
9 Verilog HDL, Verilog PLI

这个格式是不是类似一篇论文,可能就是某个论文或者论文期刊发布的。首先介绍了这个文档的作用是定义verilog,然后说明了verilog的作用是完成电子系统的每个阶段设计。其优点在于可以机读和认读,减少了机器到人之间的距离。支持的有开发、验证、 维护、修改和采购硬件。主要面对的对象是支持该语言的工具使用者及高级用户。

关键词一大堆,可能用于索引。

Introduction
The Verilog hardware description language (HDL) became an IEEE standard in 1995 as IEEE Std 1364-
1995. It was designed to be simple, intuitive, and effective at multiple levels of abstraction in a standard
textual format for a variety of design tools, including verification simulation, timing analysis, test analysis,
and synthesis. It is because of these rich features that Verilog has been accepted to be the language of choice
by an overwhelming number of integrated circuit (IC) designers.
Verilog contains a rich set of built-in primitives, including logic gates, user-definable primitives, switches,
and wired logic. It also has device pin-to-pin delays and timing checks. The mixing of abstract levels is
essentially provided by the semantics of two data types: nets and variables. Continuous assignments, in
which expressions of both variables and nets can continuously drive values onto nets, provide the basic
structural construct. Procedural assignments, in which the results of calculations involving variable and net
values can be stored into variables, provide the basic behavioral construct. A design consists of a set of mod-
ules, each of which has an input/output (I/O) interface, and a description of its function, which can be struc-
tural, behavioral, or a mix. These modules are formed into a hierarchy and are interconnected with nets.
The Verilog language is extensible via the programming language interface (PLI) and the Verilog proce-
dural interface (VPI) routines. The PLI/VPI is a collection of routines that allows foreign functions to access
information contained in a Verilog HDL description of the design and facilitates dynamic interaction with
simulation. Applications of PLI/VPI include connecting to a Verilog HDL simulator with other simulation
and computer-assisted design (CAD) systems, customized debugging tasks, delay calculators, and
annotators.
The language that influenced Verilog HDL the most was HILO-2, which was developed at Brunel Univer-
sity in England under a contract to produce a test generation system for the British Ministry of Defense.
HILO-2 successfully combined the gate and register transfer levels of abstraction and supported verification
simulation, timing analysis, fault simulation, and test generation.
In 1990, Cadence Design Systems placed the Verilog HDL into the public domain and the independent
Open Verilog International (OVI) was formed to manage and promote Verilog HDL. In 1992, the Board of
Directors of OVI began an effort to establish Verilog HDL as an IEEE standard. In 1993, the first IEEE
working group was formed; and after 18 months of focused efforts, Verilog became an IEEE standard as
IEEE Std 1364-1995.
After the standardization process was complete, the IEEE P1364 Working Group started looking for feed-
back from IEEE 1364 users worldwide so the standard could be enhanced and modified accordingly. This
led to a five-year effort to get a much better Verilog standard in IEEE Std 1364-2001.
With the completion of IEEE Std 1364-2001, work continued in the larger Verilog community to identify
outstanding issues with the language as well as ideas for possible enhancements. As Accellera began work-
ing on standardizing SystemVerilog in 2001, additional issues were identified that could possibly have led to
incompatibilities between Verilog 1364 and SystemVerilog. The IEEE P1364 Working Group was estab-
lished as a subcomittee of the SystemVerilog P1800 Working Group to help ensure consistent resolution of
such issues. The result of this collaborative work is this standard, IEEE Std 1364-2005.

这部分是简介部分。在原文中还有注释,这个不是文档内容,可能是后加的。

大致意思:

1995年,verilog成为标准。由于简单、直观、有效,可以在多个设计层次使用,成为IC工作者的重要语言。

verilog结构丰富,有逻辑门、用户定义体、开关、线逻辑。提供门级延时和时序检查。两种形式的数据:net和variable,也就是wire和reg声明的对象类型。在行为综合时的net和variable报错也是这两种数据类型。然后就是module的结构。

verilog可以通过PLI和VPI拓展,可以增加其他函数。modelsim在激励源支持的函数就是这里而来。

verilog的前身是HILO-2,是Brunel大学创建的。

后面则是介绍verilog的发展历史,就不做说明,感兴趣可以看一下。

read IEEE Standard for verilog(1)的更多相关文章

  1. IEEE Standard 754 for Binary Floating-Point Arithmetic

    IEEE 754-2008 - IEEE Standard for Floating-Point Arithmetic https://standards.ieee.org/standard/754- ...

  2. 【转载】Verilog中的parameter

    1. 概述 在Verilog中我们常常会遇到要将一个常量(算法中的某个参数)赋给很多个变量的情况,如: x = 10;y = 10;z = 10;如果此时10要改为9,就需要在代码中修改3个地方,非常 ...

  3. 对比 Verilog 和 SystemVerilog 中的基本数据类型

    作为引子,首先来看一段描述,该段介绍了SystemVerilog对比Verilog在RTL设计和建模时的新特性之一(logic数据类型),然后下文我再展开对比介绍Verilog和SystemVeril ...

  4. VCS使用学习笔记(0)——写在前面的话

    由于毕业设计做的是数字IC相关,虽然不是纯设计,但是也有设计相关.有设计就要有仿真验证,我就趁此机会来学习一下VCS的使用吧.当然,这里只是学习其简单的逻辑仿真功能,从波形仿真到覆盖率等,基本上不涉其 ...

  5. 【verilog】fdisplay中如何保存有符号形式

    2014-01-02 10:10:29 参考:http://xilinx.eetop.cn/viewthread-275584 使用系统任务$signed,如 $fdisplay(fp, " ...

  6. 自己动手写处理器之第二阶段(2)——Verilog HDL简单介绍

    将陆续上传本人写的新书<自己动手写处理器>(尚未出版),今天是第六篇.我尽量每周四篇 2.3 Verilog HDL简单介绍 本书实现的OpenMIPS处理器是使用Verilog HDL编 ...

  7. 组织:IEEE

    电气和电子工程师协会(IEEE,全称是Institute of Electrical and Electronics Engineers)是一个美国的电子技术与信息科学工程师的协会,是世界上最大的非营 ...

  8. IEEE 754标准

    IEEE 754-1985 was an industry standard for representing floating-point numbers in computers, officia ...

  9. 深入理解计算机系统(2.7)------二进制小数和IEEE浮点标准

    整数的表示和运算我们已经讲完了,在实际应用中,整数能够解决我们大部分问题.但是某些需要精确表示的数,比如某件商品的价格,某两地之间的距离等等,我们如果用整数表示将会有很大的出入,这时候浮点数就产生了. ...

  10. 二进制小数及 IEEE 浮点表示

    1.二进制小数 前面这篇博客 进制间的转换  我们已经讲过了各个进制数的表示.现在我们复习一下: 进位计数制的要素: ①.数码:用来表示进制数的元素.比如二进制数的数码为:0,1.十进制数的数码为:0 ...

随机推荐

  1. Swoole从入门到入土(10)——HTTP服务器[初步接触]

    讨论完了TCP服务器,接下来的话题就是HTTP服务器.HTTP这个协议"一般"是搭载在TCP协议上实现的. 注意,这里用"一般"是以前多数是这样做的,在&quo ...

  2. 使用xampp安装部署mantis

    快速教程请参考: 点击打开链接   http://download.csdn.net/detail/indexman/6830003 --------------------------- Dylan ...

  3. 如何保证消息顺序执行(Rabbitmq/kafka)

    转载: https://www.cnblogs.com/-wenli/p/13047059.html https://www.jianshu.com/p/02fdcb9e8784

  4. 【webserver 前置知识 03】Linux网络编程入门其二,I/O多路复用

    I/O多路复用 I/O多路复用使得程序能够同时监听多个文件描述符 LInux下实现I/O多路复用的系统调用主要由select.poll以及epoll(常问,要会自己写出来) 例子 阻塞等待 阻塞等待可 ...

  5. iOS的Runtime知识点繁杂难啃,真的理解它的思想,你就豁然开朗了

    一.Runtime 1.概念: 概念:Runtime是Objective-c语言动态的核心,即运行时.在面向对象的基础上增加了动态运行,达到很多在编译时确定方法推迟到了运行时,从而达到动态修改.确定. ...

  6. 精贴总结 - Serverless 的承诺都兑现了吗

    原文 - Serverless 的承诺都兑现了吗? 一.个人看法 serverless根本目的是降低成本,所以baas是核心 冷启动是关键的技术难点,也限制了faas的作用域 供应商锁定是个坑,标准化 ...

  7. Spring多线程事务处理

    一.背景 本文主要介绍了spring多线程事务的解决方案,心急的可以跳过上面的理论介绍分析部分直接看最终解决方案. 在我们日常的业务活动中,经常会出现大规模的修改插入操作,比如在3.0的活动赛事创建, ...

  8. Python-使用openpyxl读取excel内容

    1. 本篇文章目标 将下面的excel中的寄存器表单读入并构建一个字典 2. openpyxl的各种基本使用方法 2.1 打开工作簿 wb = openpyxl.load_workbook('test ...

  9. vscode 点左下角 切换分支 不显示远程分支 git

    查看当前分支 git branch -vv 查看所有分支 包含远程分支 git branch -a 放弃merge // 这个很重要 git merge --abort 暂存 git stash 拉取 ...

  10. python数组概念和实例解析

    一 概念 如果我们需要一个只包含数字的列表,那么array.array比list更高效.数组支持所有跟可变序列有关的操作,包括.pop,.insert和.extend. 另外,数组还提供从文件读取和存 ...