Hi,
I am new on VMEbus. And I am curious to know if somebody wrote a "file
controlled VMEbus testbench" which support interrupt acknowledge process ?
Yes; I did one about five years ago. Unfortunately it was a
contract job for a client and I'm not free to release it.
Here's a sample of the text files to control it...
RE 500 ns Reset for 500ns
WU 1 US Wait Until sim time = 1 us
# set up defaults for future transfers
SE AM 0D Address modifier - extended supervisor transfers
SE LW 0 Longword access ON by default
SE IE 00 No interrupts enabled just now
# read a location or two
RD 10000000 00 Read a word from 0x10000000 - this should bus-error!
RD 20000000 00 Read a word from 0x20000000 - this should work
# set up some good block data
BD 5 12345678 these commands build block data in the model,
BD 6 66666666 and don't actually perform any transfers
BD 7 87654321
BD 8 9ABCDEF0
BD 9 09ABCDEF
# do a couple of block transfers
BR 28000000 10 block read from bus into model's memory
BW 380000F8 5 5 block write from model's memory to bus
BW 38000000 10 5
# and a couple of interrupt acks
IA 4 perform an interrupt acknowledge on priority 5
IA 5
The "file controlled" part is easy enough - just the usual
business of defining a file format that's nice and easy to parse,
then writing a wad of VHDL that will trawl through the file
converting textual "commands" into suitable internal record
data structures that can be used to control the VMEbus BFM.
However, writing a BFM that looks like a VMEbus slot is not
trivial - the bus is tiresomely asynchronous, and it supports
various kinds of pipelined transfer (next cycle's address phase
overlaps with this cycle's data transfer, etc) that are not at
all easy to code. I got most of it right in the end, but it
was hard work.
VMEbus is an asynchronous dinosaur in these synchronous times.
--
Jonathan Bromley, Consultant
DOULOS - Developing Design Know-how
VHDL, Verilog, SystemC, Perl, Tcl/Tk, Verification, Project Services
Doulos Ltd. Church Hatch, 22 Market Place, Ringwood, BH24 1AW, UK
Tel: +44 (0)1425 471223 mail:
[email protected]
Fax: +44 (0)1425 471573 Web:
http://www.doulos.com
The contents of this message may contain personal views which
are not the views of Doulos Ltd., unless specifically stated.