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