ANNOUNCE: Perl/Python/Tcl Interfaces for Verilog PLI 
Author Message
 ANNOUNCE: Perl/Python/Tcl Interfaces for Verilog PLI

           ----- scriptVlog ------
     Perl/Python/Tcl interfaces to Verilog VPI routines

1. Introduction

This package is used to link the Verilog VPI interface with
Perl/Python/Tcl. You can create your own system tasks/functions,
and use the scripting language to do all the customization.
All you have to do is just compiling the executable once
and use it forever.

All of the VPI functions can be used in the scripting languages,
and you could name your own system task/function name.
ScriptVlog will link the C level function and embed a scripting
language interpreter into the verilog executable.

It can be used to
-- Writing hardware models in the scripting language
-- Dumping/Processing netlist data from Verilog database
-- Dumping/Processing simulation data
-- Feeding dynamic simulation stimuli
-- Backannotating delay information
-- Building distributed simulation (with the help of (XML-)RPC call
   in the scripting languages)

2. Example (in Python)

This is a simple application to monitor scalar nets.

####
from vlog import *

net={}
def my_monitor_cb(s0):
   s=s_cb_data(s0)

                         s.value.value_str)
def setup_my_monitor(user_data):
   argv=get_args()
   for item in argv:
      name=vpi_get_str(vpiFullName,item)
      if vpi_get(vpiType, item) in [vpiNet,vpiReg]:
         print "Monitor signal ",name
         vpi_register_cb(cbValueChange,my_monitor_cb,item,
             vpiScaledRealTime,1,0,name)
         net[name]=item
      else:
         print("Not a net or reg type in $my_monitor!")
   return 1

# Main program to set up system tasks/functions
vpi_printf("Register for $my_monitor!\n")
vpi_register_systf(vpiSysTask,0,'$my_monitor',setup_my_monitor,
       0,0,"USER_DATA")

####

3. Availability

I'll post it on http://www.*-*-*.com/ ~pinhong/scriptEDA
or you can send me an email to say so.

Pinhong Chen

 -----  Posted via NewsOne.Net: Free (anonymous) Usenet News via the Web  -----
  http://www.*-*-*.com/ ,000+ groups
   NewsOne.Net prohibits users from posting spam.  If this or other posts



Sun, 10 Aug 2003 11:23:42 GMT  
 ANNOUNCE: Perl/Python/Tcl Interfaces for Verilog PLI
Quote:

>----- scriptVlog ------
>     Perl/Python/Tcl interfaces to Verilog VPI routines

>1. Introduction

>This package is used to link the Verilog VPI interface with
>Perl/Python/Tcl. You can create your own system tasks/functions,
>and use the scripting language to do all the customization.
>All you have to do is just compiling the executable once
>and use it forever.

>All of the VPI functions can be used in the scripting languages,
>and you could name your own system task/function name.
>ScriptVlog will link the C level function and embed a scripting
>language interpreter into the verilog executable.

>It can be used to
>-- Writing hardware models in the scripting language
>-- Dumping/Processing netlist data from Verilog database
>-- Dumping/Processing simulation data
>-- Feeding dynamic simulation stimuli
>-- Backannotating delay information
>-- Building distributed simulation (with the help of (XML-)RPC call
>   in the scripting languages)

>2. Example (in Python)

>This is a simple application to monitor scalar nets.

>####
>from vlog import *

>net={}
>def my_monitor_cb(s0):
>   s=s_cb_data(s0)

>                         s.value.value_str)
>def setup_my_monitor(user_data):
>   argv=get_args()
>   for item in argv:
>      name=vpi_get_str(vpiFullName,item)
>      if vpi_get(vpiType, item) in [vpiNet,vpiReg]:
>         print "Monitor signal ",name
>         vpi_register_cb(cbValueChange,my_monitor_cb,item,
>             vpiScaledRealTime,1,0,name)
>         net[name]=item
>      else:
>         print("Not a net or reg type in $my_monitor!")
>   return 1

># Main program to set up system tasks/functions
>vpi_printf("Register for $my_monitor!\n")
>vpi_register_systf(vpiSysTask,0,'$my_monitor',setup_my_monitor,
>       0,0,"USER_DATA")

>####

>3. Availability

>I'll post it on http://www-cad.eecs.berkeley.edu/~pinhong/scriptEDA
>or you can send me an email to say so.

>Pinhong Chen

> -----  Posted via NewsOne.Net: Free (anonymous) Usenet News via the Web  -----
>  http://newsone.net/ -- Free reading and anonymous posting to 60,000+ groups
>   NewsOne.Net prohibits users from posting spam.  If this or other posts




Mon, 11 Aug 2003 14:05:39 GMT  
 
 [ 2 post ] 

 Relevant Pages 

1. Building NC Verilog Exe using Perl-PLI

2. Writing Verilog PLI calls in Perl

3. Synopsys .lib parser interface(Perl/Python/Tcl)

4. verilog interface with perl?

5. Verilog PLI to Python Tool - Be a beta test site

6. ANNOUNCE: Yet another Perl<->SWI-Prolog interface

7. Announcing PLI Python/Tk tool

8. Python and Perl (was: converting perl to python)

9. Python Binding [Was: Re: PYTHON VS. PERL VS. TCL ]

10. Perl/C/TCL interface question

11. Interfacing Tcl & Perl

 

 
Powered by phpBB® Forum Software