#include <stdlib.h>
#include <stdio.h>
#include "ac_decoder.h"
Include dependency graph for acsim.h:
This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
Classes | |
struct | _ac_cache_parms |
List of a Cache's parameters. More... | |
struct | _ac_pipe_list |
List of Pipelines. More... | |
struct | _ac_stg_list |
List of Stages. More... | |
struct | _ac_sto_list |
List of Storage Devices. More... | |
union | endian |
Used to check the endianess of the host machine. More... | |
Defines | |
#define | INDENT0 "" |
#define | INDENT1 " " |
#define | INDENT2 " " |
#define | INDENT3 " " |
#define | INDENT4 " " |
#define | INDENT5 " " |
#define | CONF_MAX_LINE 256 |
Maximal number of characters per line in archc.conf. | |
#define | WRITE_THROUGH 0x01 |
Cache will use the write-through policy. | |
#define | WRITE_BACK 0x02 |
Cache will use the write-back policy. | |
#define | WRITE_AROUND 0x20 |
Cache will use the write-around policy. | |
#define | WRITE_ALLOCATE 0x10 |
Cache will use the write-allocate policy. | |
#define | COMMENT(I, args...) fprintf( output, "%s//!", I); fprintf( output, args);fprintf( output, "\n"); |
#define | COMMENT_MAKE(args...) fprintf( output, "# "); fprintf( output, args);fprintf( output, "\n"); |
#define | AC_INTERNAL_ERROR(str) fprintf(stderr, "ArchC ERROR: %s. File: %s Line: %d\n", str, __FILE__, __LINE__); |
#define | AC_ERROR(str,) fprintf(stderr, "ArchC ERROR: " str, ##__VA_ARGS__); |
#define | AC_MSG(str,) fprintf(stdout, "ArchC: " str, ##__VA_ARGS__); |
Typedefs | |
typedef enum _ac_cmd_options_ | ac_cmd_options |
typedef enum _ac_sto_types | ac_sto_types |
typedef _ac_cache_parms | ac_cache_parms |
List of a Cache's parameters. | |
typedef _ac_sto_list | ac_sto_list |
List of Storage Devices. | |
typedef _ac_stg_list | ac_stg_list |
List of Stages. | |
typedef _ac_pipe_list | ac_pipe_list |
List of Pipelines. | |
Enumerations | |
enum | _ac_cmd_options { OPABI, OPDasm, OPDebug, OPDelay, OPDDecoder, OPHelp, OPDecCache, OPStats, OPVerbose, OPVersion, OPEncoder, OPGDBIntegration, ACNumberOfOptions } |
Enumeration type for command line options. | |
enum | _ac_sto_types { MEM, CACHE, ICACHE, DCACHE, REG, REGBANK } |
Enumeration type for storage device types. | |
Functions | |
void | print_comment (FILE *output, char *description) |
void | CreateResourceHeader (void) |
Create the header file for ac_resources class. | |
void | CreateTypeHeader (void) |
Create the header file for ArchC types. | |
void | CreateISAHeader (void) |
Create the header file for the AC_ISA derived class. | |
void | CreateARCHHeader (void) |
Create the header file for the AC_ARCH derived class. | |
void | CreateStgHeader (ac_stg_list *stage_list, char *pipe_name) |
Create the header files for pipeline stages. | |
void | CreateProcessorHeader (void) |
Create the header file for the processor module. | |
void | CreateParmHeader (void) |
Create the header file for ArchC common parameters. | |
void | CreateRegsHeader (void) |
Create the header file for ArchC formatted registers. | |
void | CreateCoverifHeader (void) |
Create the header file for ArchC co-verification class. | |
void | CreateStatsHeader (void) |
Create the header file for ArchC statistics collection class. | |
void | CreateArchSyscallHeader (void) |
Create the header file for ArchC model syscalls. | |
void | CreateMakefile (void) |
Create a Makefile for teh ArchC nodel. | |
void | CreateResourceImpl (void) |
Create the .cpp file for ac_resources class. | |
void | CreateStgImpl (ac_stg_list *stage_list, char *pipe_name) |
Create the .cpp file for pipeline stages. | |
void | CreateRegsImpl (void) |
Create the .cpp template file for formatted registers. | |
void | CreateImplTmpl (void) |
Create the .cpp template file for behavior description. | |
void | CreateMainTmpl (void) |
Create the .cpp template file for the main function. | |
void | CreateProcessorImpl (void) |
Create the .cpp file for processor module. | |
void | CreateARCHImpl (void) |
Create the .cpp file for AC_ARCH derived class. | |
void | EmitGenInstrClass (FILE *output) |
Emit class declaration for generic instruction. | |
void | EmitFormatClasses (FILE *output) |
Emit class declarations for formats. | |
void | EmitInstrClasses (FILE *output) |
Emit class declarations for instructions. | |
void | EmitDecStruct (FILE *output) |
Emit decoder structure initialization. | |
void | EmitPipeUpdateMethod (FILE *output) |
Emit reg update method for pipelined architectures. | |
void | EmitMultiPipeUpdateMethod (FILE *output) |
Emit reg update method for multi-pipelined architectures. | |
void | EmitUpdateMethod (FILE *output) |
Emit reg update method for non-pipelined architectures. | |
void | EmitMultiCycleProcessorBhv (FILE *output) |
Emit processor behavior for a multicycle processor. | |
void | EmitProcessorBhv (FILE *output) |
Emit processor behavior for a single-cycle processor. | |
void | EmitProcessorBhv_ABI (FILE *output) |
Emit processor behavior for a single-cycle processor with ABI provided. | |
void | EmitABIAddrList (FILE *output, int base_indent) |
Emit the calls for macros containing the list o address used for system calls. | |
void | EmitABIDefine (FILE *output) |
Emit the define that implements the ABI control for non-pipelined architectures. | |
void | EmitPipeABIDefine (FILE *output) |
Emit the define that implements the ABI control for pipelined architectures. | |
void | EmitInstrExec (FILE *output, int base_indent) |
Emit code for executing an instruction behavior. | |
void | EmitDecodification (FILE *output, int base_indent) |
Emit for instruction decodification. | |
void | EmitFetchInit (FILE *output, int base_indent) |
Emit code used for initializing fetchs. | |
void | EmitCacheDeclaration (FILE *output, ac_sto_list *pstorage, int base_indent) |
Emit code for ac_cache object declaration. | |
void | ReadConfFile (void) |
Read archc.conf contents. | |
Variables | |
char * | ARCHC_PATH |
Path where ArchC is installed. | |
char * | SYSTEMC_PATH |
Path where SystemC is installed. | |
char * | TARGET_ARCH |
Architecture of the host machine. | |
char * | CC_PATH |
C/C++ compiler path. | |
char * | OPT_FLAGS |
Optimization flags to be passed to the compiler. | |
char * | DEBUG_FLAGS |
Debugging flags to be passed to the compiler. | |
char * | OTHER_FLAGS |
Miscellaneous flags to be passed to the compiler. |
Definition in file acsim.h.