OpenCores
URL https://opencores.org/ocsvn/scan_based_serial_communication/scan_based_serial_communication/trunk

Subversion Repositories scan_based_serial_communication

[/] [scan_based_serial_communication/] [trunk/] [DEPERLIFY_README.txt] - Blame information for rev 2

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 Quanticles
 
2
FILE
3
        deperlify.pl
4
 
5
AUTHOR
6
        David Fick - dfick@umich.edu
7
 
8
VERSION
9
        1.0 - June 27, 2010
10
 
11
DESCRIPTION
12
        Deperlify generates *.v files from *.perl.v.
13
        Deperlify can also generate *.io from *.perl.io
14
 
15
        *.perl.v files have Perl injected inside of them with the following syntax
16
 
17
        PERL begin /*
18
 
19
             
20
 
21
        */
22
        end
23
 
24
        Deperlify finds these blocks, executes them, and replaces the block with
25
        its output. The output of the Perl code (that is, anything printed to
26
        STDOUT) is what replaces the block.
27
 
28
        This style works well with emacs syntax highlighting and tabs. However, the
29
        Perl code is not syntax highlighted since it appears as a comment. It is
30
        sometimes beneficial to have a scratch Perl file to first the Perl code
31
        in and then copy from there to the Verilog.
32
 
33
        Deperlify also finds all of the defines from a file and inserts them
34
        where Perl code is used. $`define_name must be used instead of `define_name,
35
        however.
36
 
37
        Deperlify can be given multiple files. Variable definitions found in one
38
        file roll over to the subsequent files.
39
 
40
        The order of files is important for variable replacement. *.vh files should
41
        be included before any *.perl.v files that needs those definitions.
42
 
43
        Additional Perl code may be included from other files. This can be
44
        particularly useful for using the same data structure across multiple files.
45
        The scan example takes advantage of this, by reusing a scan signal list
46
        many times. Adding a signal to a scan chain would normally require adding
47
        the signal in nearly a dozen places. Using Deperlify, however, allows that
48
        change to be localized to only one place.
49
 
50
        The syntax to include a Perl file is:
51
        DEPERLIFY_INCLUDE(another_perl_file.pl);
52
 
53
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.