Text::EP3::Verilog 1.00
Sponsored Links
Text::EP3::Verilog 1.00 Ranking & Summary
File size:
0.006 MB
Platform:
Any Platform
License:
Perl Artistic License
Price:
Downloads:
838
Date added:
2007-07-13
Publisher:
Gary Spivey
Text::EP3::Verilog 1.00 description
Text::EP3::Verilog Perl module contains a verilog extension for the EP3 preprocessor.
SYNOPSIS
use Text::EP3;
use Text::EP3::Verilog;
This module is an EP3 extension for the Verilog Hardware Description Language.
The signal directive
@signal key definition Take a list of signals and generate signal lists in the differing formats that Verilog uses. This is accomplished by formatting a list of new defines and then calling the EP3 define method For example, the following command:
@signal KEY a[3:0], b, c[width:0], etc.
will cause the following to be done:
Define KEY with the list as it appears (can be used in further signal defs)
Define KEY{SIG} with the signal list (can be used in port lists)
e.g. replace KEY{SIG} with a[3:0], b, c[width:0]
Define KEY{EVENT} with the reg list (To be used in event lists)
e.g. replace KEY{EVENT} with a or b or c
Define KEY{IN} with the input list (you supply the first input and the trailing ;
e.g. replace KEY{INPUT} with [3:0] a;ninput b;ninput[width:0] c
or ... make the line
input KEY{INPUT}; become ..
input [3:0] a;
input b;
input [width:0] c;
Define KEY{OUT} with the output list (output [] sig).
e.g. like KEY{IN}
Define KEY{INOUT} with the inout list (inout [] sig).
e.g. like KEY{IN}
Define KEY{WIRE} with the wire list (wire [] sig).
e.g. like KEY{IN}
Define KEY{REG} with the reg list (reg [] sig).
e.g. like KEY{IN}
Define KEY{DSP} with the printf list (sig=%0[b|x] depending on width).
e.g. replace KEY{DSP} with a=%0x, b=%0b, c=%0x
This can be used in the $display task
$display("KEY{DSP}",KEY{SIG});
If the module and the test bench default is set up properly, the user needs only enter the signals in one place in the module file. This section can be included conditionally (e.g. @include "file" PORT) in the test bench and the signals can be automatically generated in the correct format in whichever header they are used. This means that a user can produce a module and its test bench by simply filling in the port list, the behavioral code, and the stimulus (which is of course, the real work). All of the signal header crud can be taken care of automagically.
The step directive
@step number [command] The step directive is useful to save verbage in test benches. @step 5 command; generates the following code:
repeat 5 @ (posedge tclk); command;
The posdege can be changed to or negedge (or whatever) using the edgetype directive. The tclk can be changed using the edgename directive.
The edgename directive
@edgename name The edgename directive allows the user to change the name used in the step directive. The default is tclk.
The edgetype directive
@edgetype type The edgetype directive allows the user to change the type used in the step directive. The default is posedge.
The denum directive
@denum key, key, [value], key, ... denum works like the ep3 enum, except that it generates verilog define statements. It also replaces KEY anywhere in the text with `KEY so that the verilog defines will work. (e.g. @denum orange, blue, green will generate:
`define orange 0
`define blue 0
`define green 0
@define orange `orange
@define blue `blue
@define green `green
SYNOPSIS
use Text::EP3;
use Text::EP3::Verilog;
This module is an EP3 extension for the Verilog Hardware Description Language.
The signal directive
@signal key definition Take a list of signals and generate signal lists in the differing formats that Verilog uses. This is accomplished by formatting a list of new defines and then calling the EP3 define method For example, the following command:
@signal KEY a[3:0], b, c[width:0], etc.
will cause the following to be done:
Define KEY with the list as it appears (can be used in further signal defs)
Define KEY{SIG} with the signal list (can be used in port lists)
e.g. replace KEY{SIG} with a[3:0], b, c[width:0]
Define KEY{EVENT} with the reg list (To be used in event lists)
e.g. replace KEY{EVENT} with a or b or c
Define KEY{IN} with the input list (you supply the first input and the trailing ;
e.g. replace KEY{INPUT} with [3:0] a;ninput b;ninput[width:0] c
or ... make the line
input KEY{INPUT}; become ..
input [3:0] a;
input b;
input [width:0] c;
Define KEY{OUT} with the output list (output [] sig).
e.g. like KEY{IN}
Define KEY{INOUT} with the inout list (inout [] sig).
e.g. like KEY{IN}
Define KEY{WIRE} with the wire list (wire [] sig).
e.g. like KEY{IN}
Define KEY{REG} with the reg list (reg [] sig).
e.g. like KEY{IN}
Define KEY{DSP} with the printf list (sig=%0[b|x] depending on width).
e.g. replace KEY{DSP} with a=%0x, b=%0b, c=%0x
This can be used in the $display task
$display("KEY{DSP}",KEY{SIG});
If the module and the test bench default is set up properly, the user needs only enter the signals in one place in the module file. This section can be included conditionally (e.g. @include "file" PORT) in the test bench and the signals can be automatically generated in the correct format in whichever header they are used. This means that a user can produce a module and its test bench by simply filling in the port list, the behavioral code, and the stimulus (which is of course, the real work). All of the signal header crud can be taken care of automagically.
The step directive
@step number [command] The step directive is useful to save verbage in test benches. @step 5 command; generates the following code:
repeat 5 @ (posedge tclk); command;
The posdege can be changed to or negedge (or whatever) using the edgetype directive. The tclk can be changed using the edgename directive.
The edgename directive
@edgename name The edgename directive allows the user to change the name used in the step directive. The default is tclk.
The edgetype directive
@edgetype type The edgetype directive allows the user to change the type used in the step directive. The default is posedge.
The denum directive
@denum key, key, [value], key, ... denum works like the ep3 enum, except that it generates verilog define statements. It also replaces KEY anywhere in the text with `KEY so that the verilog defines will work. (e.g. @denum orange, blue, green will generate:
`define orange 0
`define blue 0
`define green 0
@define orange `orange
@define blue `blue
@define green `green
Text::EP3::Verilog 1.00 Screenshot
Text::EP3::Verilog 1.00 Keywords
KEY
EP3
Define KEY
Verilog 1.00
Verilog Perl
DSP
can be used
can be
replace key
Perl module
be used
define
directive
list
E.G
module
Bookmark Text::EP3::Verilog 1.00
Text::EP3::Verilog 1.00 Copyright
WareSeeker periodically updates pricing and software information of Text::EP3::Verilog 1.00 full version from the publisher, so some information may be slightly out-of-date. You should confirm all information before relying on it. Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future development of Text::EP3::Verilog 1.00 Edition. Download links are directly from our publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed
Featured Software
Want to place your software product here?
Please contact us for consideration.
Contact WareSeeker.com
Related Information
define keyboard
define keystone species
define keystone
define keynote speech
can be used to heat large amounts of liquid
define keynesian
define keyword
define key signature
define keys
define keywords
define keylogger
define keynote
define key operating principles
define key competencies
define key performance indicators
what can block grants be used for
define key concepts
define renaissance
Related Software
EP3 Perl module is the Extensible Perl PreProcessor. Free Download
text-vimcolor is a command-line program to syntax color a file in HTML, XML or PDF. Free Download
Verilog::Pli::Net is a Verilog PLI tied net access hash. Free Download
Text::Starfish.pm and starfish is a Perl-based System for Text-Embedded Programming and Preprocessing. Free Download
MyCMS perl module provides the MN::CMS Perl module used by the MyCMS. Free Download
List::Intersperse Perl module can intersperse / unsort / disperse a list. Free Download
Embperl::TOC is a Perl module for Embperl Documenation: Table of Contents. Free Download
Apache::Storage is Perl module containing simple functions to store and retrieve information from within the Apache process. Free Download
Latest Software
Popular Software
Favourite Software