Verilog PLI教程:第一部分 介绍
2007-09-24 来源:数字集成电路设计者 作者:5life
Verilog PLI(可编程语言接口)是在Verilog代码中运行C或者C++的一种机制。用C/C++写函数编译代码并产生共享库(windows下是*.dll文件,Unix下是*.so文件)。VCS这样的仿真工具也允许静态链接。在verilog代码中调用这些函数…
Verilog PLI(可编程语言接口)是在Verilog代码中运行C或者C++的一种机制。
系统调用是指在verilog代码中调用的函数。一个例子:内置系统任务$display,$stop,$random。 PLI允许用户创建自己的系统调用,实现Verilog语法不能实现的功能。如:
功耗分析
代码覆盖率工具
能修改verilog仿真数据结构,得到更精确的延时信息
用户定制的输出显示
联合仿真
设计调试工具
仿真分析
创建C模型接口,加快仿真
Testbench建模
为了实现上述PLI的一些应用,C代码必须能access verilog仿真器的内部数据结构。于是,Verilog PLI提供了一些acc程序或者简单的access程序。第二种程序系列叫做tf程序,或者简单的任务和函数。 tf 和acc都是PLI1.0 的程序,是既大又老的程序。另一种程序在最新的verilog 2001版本引入,叫做vpi程序。这是一种小而清晰的PLI程序,称作PLI2.0。
通过Verilog 2001 LRM 和PLI1.0 IEEE文档,你可以查阅PLI提供的每个函数的详细资料。Verilog IEEE LRM 是为有硬件背景的人都可以读懂而写的。如果你拿不到以上的IEEE文档,你可以购买在书籍章节里列出的PLI书籍。
PLI

本文是一篇关于Verilog PLI的教程,介绍了如何在Verilog代码中使用C或C++编写函数,创建自定义系统调用,实现功能扩展,如功耗分析、代码覆盖率工具等。PLI包括了acc、tf和vpi程序,其中vpi是最新且简洁的PLI2.0。通过编译C/C++代码生成共享库,然后在Verilog测试 bench中调用这些函数,仿真器在执行时遇到自定义任务会运行相应的PLI程序。示例展示了一个简单的“Hello World”程序,演示了PLI的基本用法。
最低0.47元/天 解锁文章
2167

被折叠的 条评论
为什么被折叠?



