verilog
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 21
Verilog::CodeGen 0.9.4
Verilog::CodeGen module is a Verilog code generator. more>>
Verilog::CodeGen module is a Verilog code generator.
SYNOPSIS
use Verilog::CodeGen;
mkdir DeviceLibs/Objects/YourDesign, 0755;
chdir DeviceLibs/Objects/YourDesign;
# if the directory YourDesign exists, the second argument can be omitted
# create YourModule.pl in YourDesign
&create_template_file(YourModule,YourDesign);
# create a device library for testing in DeviceLibs/Objects/DeviceLibs
&make_module(YourModule,YourDesign);
# create the final device library in DeviceLibs (once YourModule code is clean)
&make_module(,YourDesign);
<<lessSYNOPSIS
use Verilog::CodeGen;
mkdir DeviceLibs/Objects/YourDesign, 0755;
chdir DeviceLibs/Objects/YourDesign;
# if the directory YourDesign exists, the second argument can be omitted
# create YourModule.pl in YourDesign
&create_template_file(YourModule,YourDesign);
# create a device library for testing in DeviceLibs/Objects/DeviceLibs
&make_module(YourModule,YourDesign);
# create the final device library in DeviceLibs (once YourModule code is clean)
&make_module(,YourDesign);
Download (0.018MB)
Added: 2007-08-20 License: Perl Artistic License Price:
800 downloads
Verilog::Pli::Net 1.702
Verilog::Pli::Net is a Verilog PLI tied net access hash. more>>
Verilog::Pli::Net is a Verilog PLI tied net access hash.
SYNOPSIS
use Verilog::Pli::Net;
$NET{"hier.signal"} = 1;
print "Signal now is ", $NET{"hier.signal"};
foreach (keys %NET) { print "Found signal $_n"; }
(exists $NET{"bad"}) or die "Net bad doesnt exist.";
tie %PLINET, Verilog::Pli::Net, top.hier.submod.pli;
print "top.hier.submod.pli.something = ", $PLINET{"something"}, "n";
This package creates a tied hash %NET, that fetching from or storing to affects the Verilog signal named the same as the hash key. The hiearchy may be placed in front of the signal names using standard dot notation, or if not found, the scope from when the tie was established, or later scope() calls is prepended to the passed signal name.
Signal names may have a leading %b: %d: %x: or %s: to return or set the value in the binary, decimal, hex, or string format respectively. Values may have a leading 0b or 0x to set the value in binary or hex format respectively.
scope
Read or change the default scope used when a signal is not found with the name passed. Note you need to pass the class, use the tied function to convert from the tied hash to the class name.
<<lessSYNOPSIS
use Verilog::Pli::Net;
$NET{"hier.signal"} = 1;
print "Signal now is ", $NET{"hier.signal"};
foreach (keys %NET) { print "Found signal $_n"; }
(exists $NET{"bad"}) or die "Net bad doesnt exist.";
tie %PLINET, Verilog::Pli::Net, top.hier.submod.pli;
print "top.hier.submod.pli.something = ", $PLINET{"something"}, "n";
This package creates a tied hash %NET, that fetching from or storing to affects the Verilog signal named the same as the hash key. The hiearchy may be placed in front of the signal names using standard dot notation, or if not found, the scope from when the tie was established, or later scope() calls is prepended to the passed signal name.
Signal names may have a leading %b: %d: %x: or %s: to return or set the value in the binary, decimal, hex, or string format respectively. Values may have a leading 0b or 0x to set the value in binary or hex format respectively.
scope
Read or change the default scope used when a signal is not found with the name passed. Note you need to pass the class, use the tied function to convert from the tied hash to the class name.
Download (0.020MB)
Added: 2006-06-27 License: GPL (GNU General Public License) Price:
1218 downloads
Text::EP3::Verilog 1.00
Text::EP3::Verilog Perl module contains a verilog extension for the EP3 preprocessor. more>>
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
<<lessSYNOPSIS
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
Download (0.006MB)
Added: 2007-07-13 License: Perl Artistic License Price:
835 downloads
Verilog::Netlist::Net 3.0.11
Verilog::Netlist::Net is a Net for a Verilog Module. more>>
Verilog::Netlist::Net is a Net for a Verilog Module.
SYNOPSIS
use Verilog::Netlist;
...
my $net = $module->find_net (signalname);
print $net->name;
Verilog::Netlist creates a net for every sc_signal declaration in the current module.
<<lessSYNOPSIS
use Verilog::Netlist;
...
my $net = $module->find_net (signalname);
print $net->name;
Verilog::Netlist creates a net for every sc_signal declaration in the current module.
Download (0.12MB)
Added: 2007-08-14 License: Perl Artistic License Price:
806 downloads
Electric 8.05.1
Electric is a complete EDA system that can handle many forms of circuit design. more>>
Electric VLSI Design System is a complete Electronic Design Automation (EDA) system that can handle many forms of circuit design, including:
* Custom IC layout
* Schematic Capture (digital and analog)
* Textual Languages such as VHDL and Verilog
* Programmable logic (FPGAs)
* ...and much more.
<<less* Custom IC layout
* Schematic Capture (digital and analog)
* Textual Languages such as VHDL and Verilog
* Programmable logic (FPGAs)
* ...and much more.
Download (6.8MB)
Added: 2007-06-24 License: GPL (GNU General Public License) Price:
863 downloads
Hardware::Simulator 0000_0005
Hardware::Simulator is a Perl extension for Perl Hardware Descriptor Language. more>>
Hardware::Simulator is a Perl extension for Perl Hardware Descriptor Language.
SYNOPSIS
use Hardware::Simulator;
# NewSignal( perl_variable [, initial_value]);
# create a signal called $in_clk, give it an initial value of 1
NewSignal(my $in_clk,1);
# Repeater ( time_units , code_ref)
# every time_units, call the code reference, starting at the current time
Repeater ( 5, sub{if ( $in_clk==0) { $in_clk=1;} else { $in_clk=0;}});
# Responder ( [signal_name ... signal_name], code_ref );
# respond to any changes to signals by calling code reference.
# any time out_clk changes, print value of clock and simulation time.
Responder ( $out_clk, sub
{
my $time = SimTime();
print "out_clk = $out_clk. time=$timen";
});
# start processing of events and event scheduling.
EventLoop();
Hardware::Simulator ==> a Perl Hardware Descriptor Language
Hardware::Simulator is a lightweight version of VHDL or Verilog HDL. All of these languages were developed as means to describe hardware.
Hardware::Simulator was created as a means to quickly prototype a basic hardware design and simulate it. VHDL and Verilog are both restrictive in their own ways. Hardware::Simulator was created to quickly put something together as a "proof of concept", to show that a design concept would work or not. and then the design could be translated to VHDL or Verilog.
The problem that started all of this was designing a fifo for a video scaling asic. The chip used a buffer to store incoming video data. The asic read the buffer to generate the outgoing video image. We estimated how large we thought the buffer needed to be, but we wanted to confirm that our numbers were right by running simulations.
The problem was we needed to run hundreds of different simulations, given the permutations of input image formats, output image formats, and input/output clock frequencies. We also had text files containing valid formats and frequencies. A text file as input called for perl to manipulate, split, format, and extract the data properly.
This data then had to be translated onto the a HDL simulation. The problem was that there was no easy way to write a perl script that would simulate hardware, so the only solution was to have perl drive a Verilog simulator and pass all these parameters via command line parameters. so then verilog files had to be created, and the simulator had to be driven, and the end result was a lot of work to simulate a simple fifo.
Time contraints did not allow me to develop a HDL package for perl to solve the original problem, but I took it on in my spare time. and eventually Hardware::Simulator was born.
<<lessSYNOPSIS
use Hardware::Simulator;
# NewSignal( perl_variable [, initial_value]);
# create a signal called $in_clk, give it an initial value of 1
NewSignal(my $in_clk,1);
# Repeater ( time_units , code_ref)
# every time_units, call the code reference, starting at the current time
Repeater ( 5, sub{if ( $in_clk==0) { $in_clk=1;} else { $in_clk=0;}});
# Responder ( [signal_name ... signal_name], code_ref );
# respond to any changes to signals by calling code reference.
# any time out_clk changes, print value of clock and simulation time.
Responder ( $out_clk, sub
{
my $time = SimTime();
print "out_clk = $out_clk. time=$timen";
});
# start processing of events and event scheduling.
EventLoop();
Hardware::Simulator ==> a Perl Hardware Descriptor Language
Hardware::Simulator is a lightweight version of VHDL or Verilog HDL. All of these languages were developed as means to describe hardware.
Hardware::Simulator was created as a means to quickly prototype a basic hardware design and simulate it. VHDL and Verilog are both restrictive in their own ways. Hardware::Simulator was created to quickly put something together as a "proof of concept", to show that a design concept would work or not. and then the design could be translated to VHDL or Verilog.
The problem that started all of this was designing a fifo for a video scaling asic. The chip used a buffer to store incoming video data. The asic read the buffer to generate the outgoing video image. We estimated how large we thought the buffer needed to be, but we wanted to confirm that our numbers were right by running simulations.
The problem was we needed to run hundreds of different simulations, given the permutations of input image formats, output image formats, and input/output clock frequencies. We also had text files containing valid formats and frequencies. A text file as input called for perl to manipulate, split, format, and extract the data properly.
This data then had to be translated onto the a HDL simulation. The problem was that there was no easy way to write a perl script that would simulate hardware, so the only solution was to have perl drive a Verilog simulator and pass all these parameters via command line parameters. so then verilog files had to be created, and the simulator had to be driven, and the end result was a lot of work to simulate a simple fifo.
Time contraints did not allow me to develop a HDL package for perl to solve the original problem, but I took it on in my spare time. and eventually Hardware::Simulator was born.
Download (0.010MB)
Added: 2007-07-20 License: Perl Artistic License Price:
840 downloads
Signs 0.6.3
Signs is a tool for logic synthesis and gate level simulation. more>>
Signs is a tool for logic synthesis and gate level simulation. Signss project main features include synthesis of RTL-style VHDL circuit descriptions and a dynamic graphical netlist viewer.
Supported formats include VHDL, ISCAS, and limited support for BLIF, Verilog, and EDIF netlists. Various true value and fault simulators and a combinational ATPG are included for circuit testing.
Aside from GUI mode, Signs has a pure command line mode and is fully scriptable in JavaScript and Ruby.
Main features:
- Written in Java, therefore platform-independent
- Aims to be VHDL93 compliant, at the moment a VHDL Subset is supported
- (Limited) support for non-synthesizable VHDL code, useful for testbenches
- Synthesis of RTL-style sequential VHDL process descriptions according to IEEE Std 1076.6
- Dynamic graphical netlist viewer supporting annotations (signal/gate names, signal values provided by simulators, faults)
- VHDL netlist output to file
- Input and output of netlists in ISCAS benchmark format
- Gate level true value simulators: event-based (any circuit), bit-parallel (combinational circuits only)
- Fault simulators: PPSFP, simple single faultsim
- Input and output of pattern lists in WGL format
- ATPG for combinational circuits: Implication-Graph based, PODEM
- Limited support for Verilog and EDIF netlists
- Fully scriptable in Rhino: JavaScript for Java and JRuby
- Pure command-line mode available besides GUI mode
- Integrated environment including source code and netlist structure tree views, build system, compilers and editors with syntax highlighting
Enhancements:
- While the release focus is clearly on bugfixes, there are also some feature improvements, such as enhanced test bench support and improved netlist and simulator views.
- The VHDL compiler has support for subprograms now and elaboration of big designs is much faster because of improved context handling.
- Internally, the intermediate representation layer was cleaned up, so intermediate objects form a proper tree now.
<<lessSupported formats include VHDL, ISCAS, and limited support for BLIF, Verilog, and EDIF netlists. Various true value and fault simulators and a combinational ATPG are included for circuit testing.
Aside from GUI mode, Signs has a pure command line mode and is fully scriptable in JavaScript and Ruby.
Main features:
- Written in Java, therefore platform-independent
- Aims to be VHDL93 compliant, at the moment a VHDL Subset is supported
- (Limited) support for non-synthesizable VHDL code, useful for testbenches
- Synthesis of RTL-style sequential VHDL process descriptions according to IEEE Std 1076.6
- Dynamic graphical netlist viewer supporting annotations (signal/gate names, signal values provided by simulators, faults)
- VHDL netlist output to file
- Input and output of netlists in ISCAS benchmark format
- Gate level true value simulators: event-based (any circuit), bit-parallel (combinational circuits only)
- Fault simulators: PPSFP, simple single faultsim
- Input and output of pattern lists in WGL format
- ATPG for combinational circuits: Implication-Graph based, PODEM
- Limited support for Verilog and EDIF netlists
- Fully scriptable in Rhino: JavaScript for Java and JRuby
- Pure command-line mode available besides GUI mode
- Integrated environment including source code and netlist structure tree views, build system, compilers and editors with syntax highlighting
Enhancements:
- While the release focus is clearly on bugfixes, there are also some feature improvements, such as enhanced test bench support and improved netlist and simulator views.
- The VHDL compiler has support for subprograms now and elaboration of big designs is much faster because of improved context handling.
- Internally, the intermediate representation layer was cleaned up, so intermediate objects form a proper tree now.
Download (4.5MB)
Added: 2007-01-10 License: BSD License Price:
600 downloads
Quite Universal Circuit Simulator 0.0.12
Quite Universal Circuit Simulator is a circuit simulator with graphical user interface (GUI). more>>
Quite Universal Circuit Simulator (Qucs) is an integrated circuit simulator which means you are able to setup a circuit with a graphical user interface (GUI) and simulate the large-signal, small-signal and noise behaviour of the circuit. After that simulation has finished you can view the simulation results on a presentation page or window.
The software aims to support all kinds of circuit simulation types, e.g. DC, AC, S-parameter, Harmonic Balance analysis, noise analysis, etc.
Qucsator, the simulation backend, is a command line circuit simulator. It takes a network list in a certain format as input and outputs a Qucs dataset.
Whats New in This Release:
The new release comes with a new translation into Ukrainian, a selectable preprocessor in the SPICE file component and two new components, i.e. an exponential voltage and current source. Libraries
can now contain analogue as well as digital subcircuits. Analogue modelling is substantially strengthened by symbolically defined devices. And last but not least pure digital simulations can be also performed by Verilog-HDL as an alternative to VHDL.
In the simulation backend the equation defined devices (EDD) have been implemented as well as the two new signal sources. Also the list of
available functions in the equation solver has been extended to support vt(), hypot(), limexp(), arcsec(), arccosec(), arsech() and arcosech(). Furthermore logical and rational operators as well as the ternary ?: construct can be used in equations.
<<lessThe software aims to support all kinds of circuit simulation types, e.g. DC, AC, S-parameter, Harmonic Balance analysis, noise analysis, etc.
Qucsator, the simulation backend, is a command line circuit simulator. It takes a network list in a certain format as input and outputs a Qucs dataset.
Whats New in This Release:
The new release comes with a new translation into Ukrainian, a selectable preprocessor in the SPICE file component and two new components, i.e. an exponential voltage and current source. Libraries
can now contain analogue as well as digital subcircuits. Analogue modelling is substantially strengthened by symbolically defined devices. And last but not least pure digital simulations can be also performed by Verilog-HDL as an alternative to VHDL.
In the simulation backend the equation defined devices (EDD) have been implemented as well as the two new signal sources. Also the list of
available functions in the equation solver has been extended to support vt(), hypot(), limexp(), arcsec(), arccosec(), arsech() and arcosech(). Furthermore logical and rational operators as well as the ternary ?: construct can be used in equations.
Download (3.7MB)
Added: 2007-06-17 License: GPL (GNU General Public License) Price:
873 downloads
DParser 1.15
DParser is an simple but powerful tool for parsing. more>>
DParser project is an simple but powerful tool for parsing. You can specify the form of the text to be parsed using a combination of regular expressions and grammar productions.
Because of the parsing technique (technically a scannerless GLR parser based on the Tomita algorithm) there are no restrictions.
The grammar can be ambiguous, right or left recursive, have any number of null productions, and because there is no seperate tokenizer, can include whitespace in terminals and have terminals which are prefixes of other terminals.
DParser handles not just well formed computer languages and data files, but just about any wacky situation that occurs in the real world.
Main features:
- Powerful GLR parsing
- Simple EBNF-style grammars and regular expression terminals
- Priorities and associativities for token and rules
- Built-in error recovery
- Speculative actions (for semantic disambiguation)
- Auto-building of parse tree (optionally)
- Final actions as you go, or on the complete parse tree
- Tree walkers and default actions (multi-pass compilation support)
- Symbol table built for ambiguous parsing
- Partial parses, recursive parsing, parsing starting with any non-terminal
- Whitespace can be specified as a subgrammar
- External (C call interface) tokenizers and external terminal scanners
- Good asymptotically efficiency
- Comes with ANSI-C, Python and Verilog grammars
- Comes with full source
- Portable C for easy compilation and linking
- BSD licence, so you can included it in your application without worrying about licensing
Enhancements:
- Removed call to exec in python interface (Brian Sabbey)
- Fix binary_op_left in python interface (Brian Sabbey)
<<lessBecause of the parsing technique (technically a scannerless GLR parser based on the Tomita algorithm) there are no restrictions.
The grammar can be ambiguous, right or left recursive, have any number of null productions, and because there is no seperate tokenizer, can include whitespace in terminals and have terminals which are prefixes of other terminals.
DParser handles not just well formed computer languages and data files, but just about any wacky situation that occurs in the real world.
Main features:
- Powerful GLR parsing
- Simple EBNF-style grammars and regular expression terminals
- Priorities and associativities for token and rules
- Built-in error recovery
- Speculative actions (for semantic disambiguation)
- Auto-building of parse tree (optionally)
- Final actions as you go, or on the complete parse tree
- Tree walkers and default actions (multi-pass compilation support)
- Symbol table built for ambiguous parsing
- Partial parses, recursive parsing, parsing starting with any non-terminal
- Whitespace can be specified as a subgrammar
- External (C call interface) tokenizers and external terminal scanners
- Good asymptotically efficiency
- Comes with ANSI-C, Python and Verilog grammars
- Comes with full source
- Portable C for easy compilation and linking
- BSD licence, so you can included it in your application without worrying about licensing
Enhancements:
- Removed call to exec in python interface (Brian Sabbey)
- Fix binary_op_left in python interface (Brian Sabbey)
Download (0.26MB)
Added: 2006-10-18 License: BSD License Price:
1103 downloads
HDLmaker 7.4.4
HDLmaker is a Verilog/VHDL code generator and FPGA development system. more>>
HDLmaker is a tool for generating Verilog designs. HDLmaker simplifies the development of complex FPGA designs as well as PC Boards by performing the following tasks:
- Writes hierarchical Verilog code
- Generates retargetable IO pad rings
- Generates all of the necessary scripts and Make files
- Supports mulitlanguage projects
- Converts PCB net lists into VHDL and Verilog
- Generates SCALD and PADS PCB board netlists
- Generates Schematics in Postscript format
- Designs are portable between FPGA families and CAE tools
- Simplifies the reuse of HDL code
- Converts HDLmaker, Verilog and VHDL files into fully hyper linked HTML
Main features:
- Writes Hierarchical Verilog.
- Output can be targeted to either Verilog or VHDL (VHDL support has been deprecated).
- Supports mixed language development.
- Generates PC board netlists in both PADS PCB and SCALD formats.
- Generates Schematics in Postscript format.
- Supports the most popular FPGAs
- Xilinx Virtex4,Virtex2P, Virtex2,VirtexE,Virtex, Spartan3, Spartan2,4000E,4000EX,4000XL,5200,9500, Altera Stratix
- Supports the most popular synthesizers
- Synplify
- Xilinx XST
- Altera
- Synopsys Design Compiler
- Precision
- Supports most simulators
- Fintronics Finsim
- Cadence Verilog XL
- Cadence NC-SIM
- Model Technologies (VHDL and Verilog)
- Synopsys VCS
- HTML Generation
- HDLmaker generates an HTML version of the design with hyper links from all source files to generated files and from all component instances to the components module. Verilog and VHDL HTMLized are also syntax colored.
Enhancements:
- insert_compare, Inserts a module with a compare wrapper around it
- Added HDLMAKER_ALLOW_SUB variable
- Added xst_directive
- Floorplanning support for Multipliers and Block RAMs
- New XST constraints
- Improved DDR IO support including differential DDR
- Improved Xilinx project support
- Virtex4 Support
- Better ModelSim support. Creates three command files, foo_compile_mt.cmd to compile the modules, foo_i_mt.cmd for interactive use, and foo_batch_mt.cmd for batch simulation.
- Initial values of HDLmaker variables can be passed in from the command line or from a file
- Better comment support
- More flexible #clock statement
- Comments in pin files
- Support for Xilinx ISE 6.1
- Support for Virtex2P
- Support for Precision and ModelSim added
- Large Project Support, HDLMaker now operates across multiple directories
- Virtex2, Spartan2 and Spartan2E support added
- Altera Stratix support added
- Multilanguage project support. Can embed VHDL entities into Verilog files and Verilog modules into VHDL files.
<<less- Writes hierarchical Verilog code
- Generates retargetable IO pad rings
- Generates all of the necessary scripts and Make files
- Supports mulitlanguage projects
- Converts PCB net lists into VHDL and Verilog
- Generates SCALD and PADS PCB board netlists
- Generates Schematics in Postscript format
- Designs are portable between FPGA families and CAE tools
- Simplifies the reuse of HDL code
- Converts HDLmaker, Verilog and VHDL files into fully hyper linked HTML
Main features:
- Writes Hierarchical Verilog.
- Output can be targeted to either Verilog or VHDL (VHDL support has been deprecated).
- Supports mixed language development.
- Generates PC board netlists in both PADS PCB and SCALD formats.
- Generates Schematics in Postscript format.
- Supports the most popular FPGAs
- Xilinx Virtex4,Virtex2P, Virtex2,VirtexE,Virtex, Spartan3, Spartan2,4000E,4000EX,4000XL,5200,9500, Altera Stratix
- Supports the most popular synthesizers
- Synplify
- Xilinx XST
- Altera
- Synopsys Design Compiler
- Precision
- Supports most simulators
- Fintronics Finsim
- Cadence Verilog XL
- Cadence NC-SIM
- Model Technologies (VHDL and Verilog)
- Synopsys VCS
- HTML Generation
- HDLmaker generates an HTML version of the design with hyper links from all source files to generated files and from all component instances to the components module. Verilog and VHDL HTMLized are also syntax colored.
Enhancements:
- insert_compare, Inserts a module with a compare wrapper around it
- Added HDLMAKER_ALLOW_SUB variable
- Added xst_directive
- Floorplanning support for Multipliers and Block RAMs
- New XST constraints
- Improved DDR IO support including differential DDR
- Improved Xilinx project support
- Virtex4 Support
- Better ModelSim support. Creates three command files, foo_compile_mt.cmd to compile the modules, foo_i_mt.cmd for interactive use, and foo_batch_mt.cmd for batch simulation.
- Initial values of HDLmaker variables can be passed in from the command line or from a file
- Better comment support
- More flexible #clock statement
- Comments in pin files
- Support for Xilinx ISE 6.1
- Support for Virtex2P
- Support for Precision and ModelSim added
- Large Project Support, HDLMaker now operates across multiple directories
- Virtex2, Spartan2 and Spartan2E support added
- Altera Stratix support added
- Multilanguage project support. Can embed VHDL entities into Verilog files and Verilog modules into VHDL files.
Download (6.1MB)
Added: 2005-04-01 License: BSD License Price:
923 downloads
GTKWave 3.0.29
GTKWave is a wave viewer for Verilog/VHDL simulation. more>>
GTKWave is VCD/EVCD/LXT/Synopsis .out format electronic waveform viewer built using the GTK+ toolkit.
The project was originally developed by Tony Bybell but development has now passed to the APT group and we hope to extend and improve GTKWave to support new formats and features.
Installation
1) Type ./configure
2) make
3) make install (as root)
Make sure you copy the .gtkwaverc file to your home directory or to your VCD project directory. It contains the prefs for a good configuration that most people find ergonomic.
Note that Ver Structural Verilog Compiler AET files are no longer supported. They have been superceded by LXT. Also note that the AMULET group will be taking over maintenance of the viewer effective immediately.
<<lessThe project was originally developed by Tony Bybell but development has now passed to the APT group and we hope to extend and improve GTKWave to support new formats and features.
Installation
1) Type ./configure
2) make
3) make install (as root)
Make sure you copy the .gtkwaverc file to your home directory or to your VCD project directory. It contains the prefs for a good configuration that most people find ergonomic.
Note that Ver Structural Verilog Compiler AET files are no longer supported. They have been superceded by LXT. Also note that the AMULET group will be taking over maintenance of the viewer effective immediately.
Download (2.6MB)
Added: 2007-07-28 License: GPL (GNU General Public License) Price:
835 downloads
SystemC::SystemPerl 1.280
SystemC::SystemPerl is a SystemPerl Language Extension to SystemC. more>>
SystemC::SystemPerl is a SystemPerl Language Extension to SystemC.
SystemPerl is a version of the SystemC language. It is designed to expand text so that needless repetition in the language is minimized. By using sp_preproc, SystemPerl files can be expanded into C++ files at compile time, or expanded in place to make them valid stand-alone SystemC files.
The concept of SystemPerl is based upon the AUTOS in the verilog-mode package for Emacs, by the same author.
LANGUAGE
#sp
#sp directives are recognized by SystemPerl to split up files and control preprocessing. Use of any #sps forces use of SystemPerl preprocessing, and removes full SystemC compatibility.
/*AUTOS*/
AUTOmatics provide a way of expanding interconnections, while potentially retaining fully compatible SystemC code. The preprocessor can edit the source code file directly, resulting in the source code having the expanded automatics.
Code with expanded AUTOs are fully valid SystemC code, and can be sent to anyone who does not even have system perl. Anyone with SystemPerl has the benefit of being able to automatically regenerate them, and saves coding time.
<<lessSystemPerl is a version of the SystemC language. It is designed to expand text so that needless repetition in the language is minimized. By using sp_preproc, SystemPerl files can be expanded into C++ files at compile time, or expanded in place to make them valid stand-alone SystemC files.
The concept of SystemPerl is based upon the AUTOS in the verilog-mode package for Emacs, by the same author.
LANGUAGE
#sp
#sp directives are recognized by SystemPerl to split up files and control preprocessing. Use of any #sps forces use of SystemPerl preprocessing, and removes full SystemC compatibility.
/*AUTOS*/
AUTOmatics provide a way of expanding interconnections, while potentially retaining fully compatible SystemC code. The preprocessor can edit the source code file directly, resulting in the source code having the expanded automatics.
Code with expanded AUTOs are fully valid SystemC code, and can be sent to anyone who does not even have system perl. Anyone with SystemPerl has the benefit of being able to automatically regenerate them, and saves coding time.
Download (0.10MB)
Added: 2007-06-01 License: Perl Artistic License Price:
876 downloads
sp_preproc 1.280
sp_preproc is a SystemPerl Preprocessor. more>>
sp_preproc is a SystemPerl Preprocessor.
SYNOPSIS
sp_preproc
sp_preproc takes a .sp (systemperl) file and creates the SystemC header and C files.
It is generally only executed from the standard build scripts.
ARGUMENTS
--help
Displays this message and program version and exits.
--hier-only
Read only hierarchy information, ignore all signal information. Useful for faster generation of sp_lib files.
--inline
Edit the existing source code "inline". Similar to the Verilog-mode AUTOs. Use --inline --noautos to remove the expanded automatics.
--libfile
Filename to write a list of sp_cells into, for later use as a --libcell to another sp_preproc run.
--libcell
Files listed before --libcell will be preprocessed or inlined as appropriate. Files after noexpand will only be used for resolving references, they will not be linked, linted, or otherwise checked. --nolibcell can be used to re-enable checking of subsequent files.
--ncsc
Create output files compatible with Cadence NC-SystemC.
--nolint
Disable lint style error checks, such as required to run doxygen on the SystemPerl output.
--preproc
Preprocess the code, writing to separate header and cpp files.
--trace-duplicates
Include code to trace submodule signals connected directly to a parent signal, generally for debugging interconnect. Without this switch such signals will be presumed to have the value of their parent modules signal, speeding and compressing traces.
--tree filename
Write a report showing the design hierarchy tree to the specified filename. This format may change, it should not be parsed by tools.
--noautos
With --inline, remove any expanded automatics.
--verbose
Shows which files are being written, or are the same.
--write-verilog filename
Write the SystemC interconnections in Verilog format to the specified filename. Note this does not include logic, it only contains module ports and cells.
-M
Makes the dependency listing (similar to cpp -M).
-Dvar=value
Sets a define to the given value (similar to cpp -D).
-f file
Parse parameters from the given file.
<<lessSYNOPSIS
sp_preproc
sp_preproc takes a .sp (systemperl) file and creates the SystemC header and C files.
It is generally only executed from the standard build scripts.
ARGUMENTS
--help
Displays this message and program version and exits.
--hier-only
Read only hierarchy information, ignore all signal information. Useful for faster generation of sp_lib files.
--inline
Edit the existing source code "inline". Similar to the Verilog-mode AUTOs. Use --inline --noautos to remove the expanded automatics.
--libfile
Filename to write a list of sp_cells into, for later use as a --libcell to another sp_preproc run.
--libcell
Files listed before --libcell will be preprocessed or inlined as appropriate. Files after noexpand will only be used for resolving references, they will not be linked, linted, or otherwise checked. --nolibcell can be used to re-enable checking of subsequent files.
--ncsc
Create output files compatible with Cadence NC-SystemC.
--nolint
Disable lint style error checks, such as required to run doxygen on the SystemPerl output.
--preproc
Preprocess the code, writing to separate header and cpp files.
--trace-duplicates
Include code to trace submodule signals connected directly to a parent signal, generally for debugging interconnect. Without this switch such signals will be presumed to have the value of their parent modules signal, speeding and compressing traces.
--tree filename
Write a report showing the design hierarchy tree to the specified filename. This format may change, it should not be parsed by tools.
--noautos
With --inline, remove any expanded automatics.
--verbose
Shows which files are being written, or are the same.
--write-verilog filename
Write the SystemC interconnections in Verilog format to the specified filename. Note this does not include logic, it only contains module ports and cells.
-M
Makes the dependency listing (similar to cpp -M).
-Dvar=value
Sets a define to the given value (similar to cpp -D).
-f file
Parse parameters from the given file.
Download (0.10MB)
Added: 2007-05-30 License: Perl Artistic License Price:
877 downloads
SystemC::Netlist::Net 1.261
SystemC::Netlist::Net is a Perl module which provides Net for a SystemC Module. more>>
SystemC::Netlist::Net is a Perl module which provides Net for a SystemC Module.
This is a superclass of Verilog::Netlist::Net, derived for a SystemC netlist pin.
Parsing example:
@example
package Trialparser;
@@ISA = qw(SystemC::Parser);
sub module @{
my $self = shift;
my $module = shift;
print $self->filename.":".$self->lineno().": ";
print "Contains the module declaration for $modulen";
@}
package main;
my $sp = Trialparser->new();
$sp->read ("test.sp");
@end example
Netlist example:
@example
use SystemC::Netlist;
my $nl = new SystemC::Netlist ();
foreach my $file (testnetlist.sp) @{
$nl->read_file (filename=>$file,
strip_autos=>1);
@}
$nl->link();
$nl->autos();
$nl->lint();
$nl->exit_if_error();
foreach my $mod ($nl->modules_sorted) @{
show_hier ($mod, " ");
@}
sub show_hier @{
my $mod = shift;
my $indent = shift;
print $indent,"Module ",$mod->name,"n";
foreach my $cell ($mod->cells_sorted) @{
show_hier ($cell->submod, $indent." ".$cell->name." ");
@}
@}
@end example
<<lessThis is a superclass of Verilog::Netlist::Net, derived for a SystemC netlist pin.
Parsing example:
@example
package Trialparser;
@@ISA = qw(SystemC::Parser);
sub module @{
my $self = shift;
my $module = shift;
print $self->filename.":".$self->lineno().": ";
print "Contains the module declaration for $modulen";
@}
package main;
my $sp = Trialparser->new();
$sp->read ("test.sp");
@end example
Netlist example:
@example
use SystemC::Netlist;
my $nl = new SystemC::Netlist ();
foreach my $file (testnetlist.sp) @{
$nl->read_file (filename=>$file,
strip_autos=>1);
@}
$nl->link();
$nl->autos();
$nl->lint();
$nl->exit_if_error();
foreach my $mod ($nl->modules_sorted) @{
show_hier ($mod, " ");
@}
sub show_hier @{
my $mod = shift;
my $indent = shift;
print $indent,"Module ",$mod->name,"n";
foreach my $cell ($mod->cells_sorted) @{
show_hier ($cell->submod, $indent." ".$cell->name." ");
@}
@}
@end example
Download (0.10MB)
Added: 2006-06-27 License: Perl Artistic License Price:
1219 downloads
Text::EP3 1.10
EP3 Perl module is the Extensible Perl PreProcessor. more>>
EP3 Perl module is the Extensible Perl PreProcessor.
SYNOPSIS
# Use options and files from command-line
use Text::EP3;
[use Text::EP3::{Extension}] # Language Specific Modules
# create the PreProcessor object
my $preprocessor = new Text::EP3 file;
# do the preprocessing, using command-line options from @ARGV
$preprocessor->ep3_execute;
# Set options and files from the Perl script
use Text::EP3;
[use Text::EP3::{Extension}] # Language Specific Modules
# create the PreProcessor object
my $preprocessor = new Text::EP3 file;
# configure the PreProcessor object (optional)
$preprocessor->ep3_output_file([$filename]);
$preprocessor->ep3_modules([@modules]);
$preprocessor->ep3_includes([@include_directories]);
$preprocessor->ep3_reset;
$preprocessor->ep3_start_comment([$string]);
$preprocessor->ep3_end_comment([$string]);
$preprocessor->ep3_line_comment([$string]);
$preprocessor->ep3_delimiter([$string]);
$preprocessor->ep3_gen_depend_list([$value]);
$preprocessor->ep3_keep_comments([$value]);
$preprocessor->ep3_protect_comments([$value]);
$preprocessor->ep3_defines($string1=$string2);
# do the preprocessing
$preprocessor->ep3_process([$filename, [$condition]]);
EP3 is a Perl5 program that preprocesses STDIN or some set of input files and produces an output file. EP3 only works on input files and produces output files. It seems to me that if you want to preprocess arrays or somesuch, you should be using perl. EP3 was first developed to provide a flexible preprocessor for the Verilog hardware description language.
Verilog presents some problems that were not easily solved by using cpp or m4. I wanted to be able to use a normal preprocessor, but extend its functionality. So I wrote EP3 - the Extensible Perl PreProcessor. The main difference between EP3 and other preprocessors is its built-in extensibility. Every directive in EP3 is really a method defined in EP3, one of its submodules, or embedded in the file that is being processed. By linking the directive name to the associated methods, other methods could be added, thus extending the preprocessor.
<<lessSYNOPSIS
# Use options and files from command-line
use Text::EP3;
[use Text::EP3::{Extension}] # Language Specific Modules
# create the PreProcessor object
my $preprocessor = new Text::EP3 file;
# do the preprocessing, using command-line options from @ARGV
$preprocessor->ep3_execute;
# Set options and files from the Perl script
use Text::EP3;
[use Text::EP3::{Extension}] # Language Specific Modules
# create the PreProcessor object
my $preprocessor = new Text::EP3 file;
# configure the PreProcessor object (optional)
$preprocessor->ep3_output_file([$filename]);
$preprocessor->ep3_modules([@modules]);
$preprocessor->ep3_includes([@include_directories]);
$preprocessor->ep3_reset;
$preprocessor->ep3_start_comment([$string]);
$preprocessor->ep3_end_comment([$string]);
$preprocessor->ep3_line_comment([$string]);
$preprocessor->ep3_delimiter([$string]);
$preprocessor->ep3_gen_depend_list([$value]);
$preprocessor->ep3_keep_comments([$value]);
$preprocessor->ep3_protect_comments([$value]);
$preprocessor->ep3_defines($string1=$string2);
# do the preprocessing
$preprocessor->ep3_process([$filename, [$condition]]);
EP3 is a Perl5 program that preprocesses STDIN or some set of input files and produces an output file. EP3 only works on input files and produces output files. It seems to me that if you want to preprocess arrays or somesuch, you should be using perl. EP3 was first developed to provide a flexible preprocessor for the Verilog hardware description language.
Verilog presents some problems that were not easily solved by using cpp or m4. I wanted to be able to use a normal preprocessor, but extend its functionality. So I wrote EP3 - the Extensible Perl PreProcessor. The main difference between EP3 and other preprocessors is its built-in extensibility. Every directive in EP3 is really a method defined in EP3, one of its submodules, or embedded in the file that is being processed. By linking the directive name to the associated methods, other methods could be added, thus extending the preprocessor.
Download (0.020MB)
Added: 2007-05-31 License: Perl Artistic License Price:
876 downloads
Secleted [ 0 ] software to compare
- Page: 1 of 2
- 1
- 2
Copyright Notice:
Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future software development. The above verilog search only lists software in full, demo and trial versions for free download. Download links are directly from our mirror sites or publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed