您的位置:技术中心首页 > 逻辑验证 >> Verilog PLI教程 --- 第一部分 介绍

Verilog PLI教程 --- 第一部分 介绍

作者:5life   时间:2006-02-18 05:40:54  来自:本站原创  浏览次数:1380  文字大小:【】【】【
简   介: 本Verilog PLI教程翻译自asic-world网站的Verilog PLI教程,由于译者水平有限,难免会有一些错误,请与译者5life站内联系。 原文地址为:http://www.asic-world.com/verilog/pli1.html#Introduction

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是如何工作的

  •   用C/C++写函数
  •   编译代码并产生共享库(windows下是*.dll文件,Unix下是*.so文件)。VCS这样的仿真工具也允许静态链接。
  •   在verilog代码中调用这些函数(大多数是在verilog的testbench)
  •   在verilog代码的编译过程中,把C/C++函数详细信息传给仿真器。 一旦链接成功,就可以像任何verilog仿真一样运行仿真器

   在仿真器执行verilog代码时,当仿真器遇到用户自定义的任务(以$开头),PLI程序(C/C++函数)得到运行控制。

例子 - Hello World
我们将定义一个hello函数,当它被调用时,将打印出“Hello Deepak”。这个例子将不使用任何的PLI标准函数(ACC,TF和VPI)。对于详细的链接信息,请参考仿真器的手册。每个仿真器都有它自己的方式把C/C++函数链接到仿真器。

C 代码

1 #include <stdio.h>
2
3 void hello () {
4   printf ( "nHello Deepakn" );
5 }

verilog代码

1 module hello_pli ();
2
3 initial begin
4   $hello;
5   #10 $finish;
6 end
7
8 endmodule

开始仿真
一旦链接完成,仿真就如以前我们见过的普通仿真一样,只是在命令行的选项上有些许改变。就是我们必须要告诉仿真器,我们要使用PLI(Modelsim 需要在命令行上指定加载哪个共享对象)。

责任编辑:5life

更多相关 Veirlog Pli 教程 的文章

全定制电路简易教程 -- LVS检查 [2006-10-19]
全定制电路简易教程 -- DRC检查 [2006-10-19]
全定制电路简易教程 -- 使用Vituoso画版图 [2006-10-19]
全定制电路简易教程 -- 电路仿真 [2006-10-19]
全定制电路简易教程 -- 产生电路符号 [2006-10-19]
全定制电路简易教程 -- 使用Composer画逻辑电路图 [2006-10-19]
Modelsim 教程 [2006-03-26]
PrimePower 教程 [2006-03-26]
Debussy 教程 [2006-03-26]
Verilog PLI教程 --- 第七部分 VPI 函数 [2006-02-19]
Verilog PLI教程 --- 第三部分 PLI 程序 [2006-02-19]
本文共有0条评论,现在显示最新的5条。

栏目导航

电路基础
硬件语言
逻辑验证
电路综合
后端设计
可测设计
基本逻辑
制造工艺
书籍精选
说文解字
工具学习
数字滤波
趣闻逸事
数字锁相
设计杂项
低耗设计

站点最新

更多相关链接

  仿真工作流程(Verilog/M...
  Modelsim 教程
  Debussy 教程
  Verilog PLI教程 --- 第...
  Verilog PLI教程 --- 第...
  Verilog PLI教程 --- 第...
  Verilog PLI教程 --- 第...
  Verilog PLI教程 --- 第...
  PLI步步为营 -- 二、PLI...
  PLI步步为营 -- 一、PLI概述

栏目最新

更多相关链接

  仿真工作流程(Verilog/M...
  Modelsim 教程
  Debussy 教程
  Verilog PLI教程 --- 第...
  Verilog PLI教程 --- 第...
  Verilog PLI教程 --- 第...
  Verilog PLI教程 --- 第...
  Verilog PLI教程 --- 第...
  PLI步步为营 -- 二、PLI...
  PLI步步为营 -- 一、PLI概述

热点文章

更多相关链接