Welcome to Scribd. Sign in or start your free trial to enjoy unlimited e-books, audiobooks & documents.Find out more
Download
Standard view
Full view
of .
Look up keyword or section
Like this
4Activity

Table Of Contents

Motivation
1.1 Agile practices in hardware development
1.2 Simulation-based functional verification
Problem
2.1 Problems with simulator-driven approach
2.1.1 Dislocation of power
2.1.2 Communications overhead
2.1.3 Re-entrant C functions
2.2 Reason for simulator-driven approach
it invokes. The times marked along the horizontal axis correspond to the
Solution
3.1 Separate call stacks
3.1.1 Separation through POSIX threads and semaphores
Figure 3.1: Illustration of call stacks separated through POSIX threads and
specification-driven functional verification by running the specification within
3.1.2 Emulation through explicit finite state machines
Related works
4.1 Design-driven approaches
4.1.1 Co-simulation with cycle-accurate emulator
4.2 Simulator-driven approaches
4.2.1 Co-simulation of Verilog and System C
4.3 Specification-driven approaches
Application with Ruby-VPI
5.1 Overview
5.2 Motivation
5.2.1 Leveling up
5.2.2 Irony of the system task
5.2.3 Reading and writing integers
with a module presently have an integer value greater than one
5.2.4 Verbosity of expression
a module presently have an integer value greater than one
5.2.5 Appeasing the simulator
5.3 Organization
5.3.1 Tests
5.3.1.1 Automated test generation
5.3.2 Interface to VPI
5.3.2.1 Handles
5.3.2.2 Accessing a handle’s relatives
5.3.2.3 Accessing a handle’s properties
5.3.3 Interaction with Verilog
5.4 Mechanics
5.4.1 Execution of a test
5.4.2 Transfer of control
5.4.3 Seamless prototyping
Figure 5.8: Primary means of control transfer from Ruby to Verilog. This
5.5 Usage
5.5.1 Start with a design
5.5.2 Generate a test
5.5.3 Specify your expectations
5.5.3 using the RSpec specification format
5.5.3 using the xUnit specification format
5.5.4 Prototype the design
Figure 5.15: A Ruby prototype of the Verilog design under verification. When
specification implemented in RSpec format
5.5.5 Verify the prototype
specification implemented in xUnit format
5.5.6 Implement the design
5.5.7 Verify the design
Evaluation
6.1 Proposed solution
6.1.1 Contribution
6.2 Ruby-VPI project
Conclusion
7.1 Future work
Background
A.1 Reason for PLI, VPI, and DPI interfaces
A.2 Functional verification
A.2.1 Simulator-driven functional verification
A.2.2 Design-driven functional verification
A.2.3 Specification-driven functional verification
A.3 Inter-process communication
A.3.1 Asynchronous communication
A.3.1.1 Shared memory
A.3.1.2 Parallel Virtual Machine
A.3.1.3 Message Passing Interface
A.3.2 Synchronous communication
A.3.2.1 Remote Procedure Call
A.3.2.2 Distributed Common Object Model
A.3.2.3 Remote Method Invocation
A.3.2.4 Common Object Request Broker Architecture
A.3.3 Graphical programming
A.3.4 Conclusions
A.4 Agile practices
A.4.1 Test driven development
A.4.2 Behavior driven development
A.5 Domain specific languages
A.5.1 Alternatives
A.6 Ruby programming language
A.6.1 Object oriented
A.6.2 Anytime processing
A.6.3 Scripting language
B.2 Executable specification
B.3 System tasks and functions
B.4 Callbacks
B.4.1 Self-generative callbacks
0 of .
Results for:
No results containing your search query
P. 1
masters_thesis

masters_thesis

Ratings: (0)|Views: 122|Likes:
Published by subeg singh

More info:

Published by: subeg singh on Jan 25, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

01/05/2014

pdf

text

original

You're Reading a Free Preview
Pages 4 to 62 are not shown in this preview.
You're Reading a Free Preview
Pages 66 to 85 are not shown in this preview.
You're Reading a Free Preview
Pages 89 to 94 are not shown in this preview.

Activity (4)

You've already reviewed this. Edit your review.
1 thousand reads
1 hundred reads
S.Dharanipathy liked this
enidazhapa liked this

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->