OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [tags/] [nog_patch_47/] [or1ksim/] [vapi/] [vapi.h] - Blame information for rev 1782

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 293 markom
/* vapi.h - Verification API Interface
2
   Copyright (C) 2001, Marko Mlinar, markom@opencores.org
3
 
4
This file is part of OpenRISC 1000 Architectural Simulator.
5
 
6
This program is free software; you can redistribute it and/or modify
7
it under the terms of the GNU General Public License as published by
8
the Free Software Foundation; either version 2 of the License, or
9
(at your option) any later version.
10
 
11
This program is distributed in the hope that it will be useful,
12
but WITHOUT ANY WARRANTY; without even the implied warranty of
13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
GNU General Public License for more details.
15
 
16
You should have received a copy of the GNU General Public License
17
along with this program; if not, write to the Free Software
18
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
19
 
20 645 markom
#ifndef _VAPI_H_
21
#define _VAPI_H_
22
 
23 440 erez
/* Maximum value for VAPI device id */
24
#define VAPI_MAX_DEVID 0xFFFF  
25
 
26 304 markom
/* Inits the VAPI, according to sim-config */
27 293 markom
int vapi_init ();
28 304 markom
 
29
/* Closes the VAPI */
30 293 markom
void vapi_done ();
31
 
32 477 erez
/* Installs a vapi handler for one VAPI id */
33 1366 nogj
void vapi_install_handler (unsigned long id, void (*read_func) (unsigned long, unsigned long, void *), void *dat);
34 293 markom
 
35 477 erez
/* Installs a vapi handler for multiple VAPI id */
36 1366 nogj
void vapi_install_multi_handler (unsigned long base_id, unsigned long num_ids, void (*read_func) (unsigned long, unsigned long, void *), void *dat);
37 477 erez
 
38 293 markom
/* Checks for incoming packets */
39
void vapi_check ();
40 304 markom
 
41
/* Returns number of unconnected handles.  */
42 336 markom
int vapi_num_unconnected (int printout);
43 305 markom
 
44
/* Sends a packet to specified test */
45
int vapi_send (unsigned long id, unsigned long data);
46 341 markom
 
47
#define VAPI_DEVICE_ID (0xff)
48 439 erez
 
49
/* Types of commands that can be written to the VAPI log file */
50
typedef enum {
51
        VAPI_COMMAND_REQUEST = 0, /* Data coming from outside world to device */
52
        VAPI_COMMAND_SEND = 1, /* Device writing data to the outside world */
53
        VAPI_COMMAND_END = 2 /* End of log for device */
54
} VAPI_COMMAND;
55
 
56
/* Writes a line directly to the log file (used by JTAG proxy) */
57
void vapi_write_log_file(VAPI_COMMAND command, unsigned long device_id, unsigned long data);
58 645 markom
 
59
#endif /* _VAPI_H_ */

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.