Download Shareware and Freeware Software for Windows, Linux, Macintosh, PDA

line Home  |  About Us  |  Link To Us  |  FAQ  |  Contact

Serving Software Downloads in 976 Categories, Downloaded 32.402.226 Times

Hardware::Simulator 0000_0005

  Date Added: August 04, 2010  |  Visits: 752

Hardware::Simulator

Report Broken Link
Printer Friendly Version


Product Homepage
Download (74 downloads)



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..

Requirements: No special requirements
Platforms: Linux
Keyword: Clk Descriptor Hardware Hardwaresimulator Libraries Perl Perl Hardware Descriptor Language Programming Time Verilog Vhdl
Users rating: 0/10

License: Freeware Size: 10.24 KB
USER REVIEWS
More Reviews or Write Review


HARDWARE::SIMULATOR RELATED
Libraries  -  Time::Piece 1.11
Time::Piece is a Perl module that contains Object Oriented time objects. SYNOPSIS use Time::Piece; my $t = localtime; print "Time is $tn"; print "Year is ", $t->year, "n"; This module replaces the standard localtime and gmtime functions...
20.48 KB  
Libraries  -  Hardware::iButton 0.03
Hardware::iButton is a Perl module that allows to talk to DalSemi iButtons via a DS2480 serial widget. SYNOPSIS use Hardware::iButton::Connection; $c = new Hardware::iButton::Connection "/dev/ttyS0"; @b = $c->scan(); foreach $b (@b) {...
21.5 KB  
Libraries  -  Alien Perl module 0.91
Alien Perl module package contains external libraries wrapped up for your viewing pleasure! SYNOPSIS perldoc Alien; Alien is a package that exists just to hold together an idea, the idea of Alien:: packages, so there is no code here, just...
10.24 KB  
Libraries  -  Geo::Lookup::ByTime 0.0.2
Geo::Lookup::ByTime is a Perl module to lookup location by time. SYNOPSIS use Geo::Lookup::ByTime; $lookup = Geo::Lookup::ByTime->new( @points ); my $pt = $lookup->nearest( $tm ); Given a set of timestamped locations guess the location at...
15.36 KB  
Libraries  -  Devel::Hints 0.11
Devel::Hints is a Perl module created to access compile-time hints at runtime. SYNOPSIS use Devel::Hints :all; LABEL: print cop_label(); # LABEL cop_label(0 => FOO); # "goto FOO;" is valid after this point! print cop_file(); # same as...
44.03 KB  
Libraries  -  I18N::AcceptLanguage 1.04
I18N::AcceptLanguage is a Perl module that matches language preference to available languages. SYNOPSIS use I18N::AcceptLanguage; my $supportedLanguages = [( en-us, fr )]; my $acceptor = I18N::AcceptLanguage->new(); my $language =...
9.22 KB  
Libraries  -  SQL::Routine::Language 0.70.3
SQL::Routine::Language is a Perl module for what language or grammar SQL::Routine speaks. SQL::Routine contains SQL schemas and queries, represented as a tree of atomic tokens; it is structurally like an abstract syntax tree or an XML DOM, but...
174.08 KB  
Libraries  -  Time::Beat 1.21
Time::Beat is a Perl module to convert between standard time and Swatch ".beat" time. Time::Beat is a module to convert normal time to and from .beats, of which there are a thousand in a day. It can change normal time in time() format to .beats,...
3.07 KB  
Libraries  -  Scalar::Properties 0.12
Scalar::Properties is a Perl module package that contains run-time properties on scalar variables. SYNOPSIS use Scalar::Properties; my $val = 0->true; if ($val && $val == 0) { print "yup, its true alright...n"; } my @text = ( hello...
10.24 KB  
Libraries  -  Log::Dispatch::File::Rolling 1.04
Log::Dispatch::File::Rolling is a Perl object for logging to date/time/pid stamped files. SYNOPSIS use Log::Dispatch::File::Rolling; my $file = Log::Dispatch::File::Rolling->new( name => file1, min_level => info, filename =>...
5.12 KB  
NEW DOWNLOADS IN PROGRAMMING, LIBRARIES
Programming  -  Cedalion for Linux 0.2.6
Cedalion is a programming language that allows its users to add new abstractions and define (and use) internal DSLs. Its innovation is in the fact that it uses projectional editing to allow the new abstractions to have no syntactic limitations.
471.04 KB  
Programming  -  Math::GMPf 0.29
Math::GMPf - perl interface to the GMP library's floating point (mpf) functions.
30.72 KB  
Programming  -  Net::Wire10 1.08
Net::Wire10 is a Pure Perl connector that talks to Sphinx, MySQL and Drizzle servers. Net::Wire10 implements the low-level network protocol, alias the MySQL wire protocol version 10, necessary for talking to one of the aforementioned...
30.72 KB  
Programming  -  logilab-common 0.56.2
a bunch of modules providing low level functionnalities shared among some python projects devel Please note that some of the modules have some extra dependencies. For instance, logilab.common.db will require a db-api 2.0 compliant...
174.08 KB  
Programming  -  OpenSSL for linux 1.0.0a
The OpenSSL Project is a collaborative effort to develop a robust, commercial-grade, full-featured, and Open Source toolkit implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) protocols as well as a...
3.83 MB  
Libraries  -  wolfSSL 3.15.3
The wolfSSL embedded SSL/TLS library is a lightweight SSL library written in ANSI standard C and targeted for embedded and RTOS environments - primarily because of its small size, speed, and feature set. It is commonly used in standard operating...
3.88 MB  
Libraries  -  EuGTK 4.8.9
Makes it easy to develop good- looking, fast, cross-platform programs that run on Linux, OS X, and Windows. Euphoria is a very fast interpreted/compiled language with straight-forward syntax. EuGTK allows programming in a clean, object-oriented...
10.68 MB  
Libraries  -  Linux User Group Library Manager 1.0
The LUG Library Manager is a project to help Linux User Groups start their own library. A LUG library is helpful to the community at large because it increases access to information, and gives everyone the opportunity to become more knowledgeable.
5.35 KB  
Libraries  -  Module::MakefilePL::Parse 0.12
Module::MakefilePL::Parse is a Perl module to parse required modules from Makefile.PL. SYNOPSIS use Module::MakefilePL::Parse; open $fh, Makefile.PL; $parser = Module::MakefilePL::Parse->new( join("", ) ); $info = $parser->required;...
8.19 KB  
Libraries  -  sqlpp 0.06
sqlpp Perl package is a SQL preprocessor. sqlpp is a conventional cpp-alike preprocessor taught to understand SQL ( PgSQL, in particular) syntax specificities. In addition to the standard #define/#ifdef/#else/#endif cohort, provides also...
10.24 KB