verilog 学习 第13章完稿

verilog 学习 第13章完稿

ID:3140657

大小:177.50 KB

页数:21页

时间:2017-11-19

verilog 学习 第13章完稿_第1页
verilog 学习 第13章完稿_第2页
verilog 学习 第13章完稿_第3页
verilog 学习 第13章完稿_第4页
verilog 学习 第13章完稿_第5页
资源描述:

《verilog 学习 第13章完稿》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、第十三章编程语言接口------------------------------------------------------Verilog语言提供了一组标准的系统任务和函数,参见附录C——关键字、系统任务和编译器指令。在设计时,经常会遇到一些特殊的情况,需要通过定义自己的系统任务和函数才能实现设计目标。为了做到这一点,设计者需要与表示设计的内部数据结构以及Verilog仿真器的仿真环境进行交互。编程语言接口(PLI)提供了一组接口子程序,用于访问(读/写)内部的数据表示,并可提取仿真环境信息。用户自定义的系统任务和函数可以通过这组预定义的PLI接

2、口子程序来创建。Verilog编程语言接口是一个范围相当广阔的研究领域。限于篇幅,本章只能涉及VerilogPLI的基础内容。若需要了解PLI完整的细节,设计者应该参考IEEE标准Verilog硬件描述语言文档。VerilogPLI的发展经历了三代。1.任务/函数(Task/Functiontf_)子程序(也称实用子程序)组成了第一代PLI。这些子程序主要用于以下几类操作:用户自定义的任务和函数、实用函数、回调使用技巧和把数据写到输出设备。2.存取(Accessacc_)子程序组成了第二代PLI。这些子程序可直接在VerilogHDL内部数据结构中进

3、行面向对象的数据存取。这些子程序能用于访问和修改VerilogHDL描述的多种对象。3.Verilog过程接口(VerilogProceduralInterfacevpi_)子程序组成了第三代PLI。这些子程序是acc_和tf_子程序功能扩展的集合。为了简化,我们在本章仅讨论acc_和tf_子程序。学习目标l解释在Verilog仿真中如何使用PLI子程序。l描述PLI的用途。l定义用户自定义系统任务和函数以及用户自定义C子程序。l理解用户自定义系统任务的连接和调用。l从概念上解释在Verilog仿真器内部如何表示PLI。l区别并描述怎样使用两类PLI

4、库子程序:access子程序和utility子程序。l学习如何创建用户自定义系统任务和函数,并且学习如何在仿真中使用它们。第一步是理解PLI任务怎么应用到Verilog仿真中。一个使用PLI子程序的规范仿真流程如图13-1所示。Verilog编译设计的内部表述(数据结构)仿真仿真输出用户自定义的系统任务No.1用户自定义的系统任务No.2用户自定义的系统任务No.3用户自定义的C子程序No.1用户自定义的C子程序No.2用户自定义的C子程序No.3做各种操作的PLI库子程序PLI库子程序PLL库子程序用户的设计描述+激励(Verilog结构+用户定义

5、的系统任务)启动用户自定义的系统任务传送数据存取内部结构启动用户定义的C子程序图13-1PLI接口设计者使用标准Verilog结构和系统任务来描述设计和激励。此外,也可以在设计和激励中调用用户自定义系统任务。设计和激励文件经过编译被转换成表示设计的内部格式。这种内部数据结构通常采用Verilog仿真器特定的专利格式,对设计者是不公开的,因此他们无法理解。接着这一内部数据结构被用于运行实际的仿真并产生输出。用户自定义的系统任务都被连接到一个用户自定义的C子程序。该C子程序以PLI接口子程序标准库的方式实现,它可以存取表示设计的内部数据结构。标准C子程序

6、可以用C编译器编译。标准PLI库由Verilog仿真器提供。附录B(PLI子程序)是一个PLI库子程序的清单。PLI接口允许用户进行如下操作:l读取内部数据结构;l修改内部数据结构;l存取仿真环境。如果没有PLI接口,那么设计者就不得不设法理解表示设计的内部数据结构才能访问它。PLI提供了一个抽象层,它允许通过一个对所有仿真器都统一的接口来存取内部数据结构,因此即使Verilog仿真器内部用于表示设计的数据结构发生了变化或者使用了新的Verilog仿真器,用户自定义系统任务依然可以使用。13.1PLI的使用由于PLI允许用户自己定义实用工具来存取(读

7、、写或修改)表示设计的内部数据结构,因此它具有强大的能力,可以对Verilog语言的功能进行扩展。PLI具有很多种用途。lPLI可用于定义其它系统任务和函数。典型的例子有监控任务,激励任务,调试任务和复杂操作等,这些任务和操作难以用标准的Verilog结构实现。l一些应用软件,比如翻译器(translator)和延迟计算工具(delaycalculators),可以用PLI编写。lPLI可用于提取设计信息,比如层次,互连,扇出以及特定类型逻辑元件的数目等。lPLI可用于编写专用或者定制的输出显示子程序。波形观察器可用它生成波形,逻辑互连,源代码浏览器

8、和层次信息。l为仿真提供激励的子程序也可以用PLI编写。激励可以自动生成或者从其它形式的激励转换而来。l普通

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。