types.h File Reference

#include "string_cache.h"
#include "odin_util.h"
#include "read_xml_arch_file.h"
Include dependency graph for types.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  config_t_t
struct  global_args_t_t
struct  global_args_read_blif_t_t
struct  ast_node_t_t
struct  info_ast_visit_t_t
struct  sim_state_t_t
struct  nnode_t_t
struct  npin_t_t
struct  nnet_t_t
struct  signal_list_t_t
struct  char_list_t_t
struct  netlist_t_t
struct  netlist_stats_t_t

Defines

#define FALSE   0
#define TYPES_H
#define PARSE_ERROR   -3
#define NETLIST_ERROR   -4
#define BLIF_ERROR   -5
#define NETLIST_FILE_ERROR   -6
#define ACTIVATION_ERROR   -7
#define SIMULATION_ERROR   -8
#define PARTIAL_MAP_TRAVERSE_VALUE   10
#define OUTPUT_TRAVERSE_VALUE   12
#define COUNT_NODES   14
#define COMBO_LOOP   15
#define COMBO_LOOP_ERROR   16
#define GRAPH_CRUNCH   17
#define STATS   18
#define SEQUENTIAL_LEVELIZE   19
#define RESET   -1
#define LEVELIZE   12
#define ACTIVATION   13
#define oassert(x)   {if(!(x)){__asm("int3");}}
#define AST_TYPES_H
#define NETLIST_UTILS_H

Typedefs

typedef struct config_t_t config_t
typedef struct global_args_t_t global_args_t
typedef struct
global_args_read_blif_t_t 
global_args_read_blif_t
typedef struct ast_node_t_t ast_node_t
typedef struct info_ast_visit_t_t info_ast_visit_t
typedef struct sim_state_t_t sim_state_t
typedef struct nnode_t_t nnode_t
typedef struct npin_t_t npin_t
typedef struct nnet_t_t nnet_t
typedef struct signal_list_t_t signal_list_t
typedef struct char_list_t_t char_list_t
typedef struct netlist_t_t netlist_t
typedef struct netlist_stats_t_t netlist_stats_t

Enumerations

enum  simulation_type { NO_SIMULATION = 0, TEST_EXISTING_VECTORS, GENERATE_VECTORS }
enum  bases {
  DEC, HEX, OCT, BIN,
  LONG_LONG
}
enum  operation_list {
  NO_OP, MULTI_PORT_MUX, FF_NODE, BUF_NODE,
  INPUT_NODE, OUTPUT_NODE, GND_NODE, VCC_NODE,
  CLOCK_NODE, ADD, MINUS, BITWISE_NOT,
  BITWISE_AND, BITWISE_OR, BITWISE_NAND, BITWISE_NOR,
  BITWISE_XNOR, BITWISE_XOR, LOGICAL_NOT, LOGICAL_OR,
  LOGICAL_AND, LOGICAL_NAND, LOGICAL_NOR, LOGICAL_XNOR,
  LOGICAL_XOR, MULTIPLY, DIVIDE, MODULO,
  LT, GT, LOGICAL_EQUAL, NOT_EQUAL,
  LTE, GTE, SR, SL,
  CASE_EQUAL, CASE_NOT_EQUAL, ADDER_FUNC, CARRY_FUNC,
  MUX_2, BLIF_FUNCTION, NETLIST_FUNCTION, MEMORY,
  PAD_NODE, HARD_IP, GENERIC
}
enum  ids {
  NO_ID, FILE_ITEMS, MODULE, INPUT,
  OUTPUT, INOUT, WIRE, REG,
  PARAMETER, PORT, MODULE_ITEMS, VAR_DECLARE,
  VAR_DECLARE_LIST, ASSIGN, GATE, GATE_INSTANCE,
  MODULE_CONNECT_LIST, MODULE_CONNECT, MODULE_NAMED_INSTANCE, MODULE_INSTANCE,
  BLOCK, NON_BLOCKING_STATEMENT, BLOCKING_STATEMENT, CASE,
  CASE_LIST, CASE_ITEM, CASE_DEFAULT, ALWAYS,
  IF, IF_Q, DELAY_CONTROL, POSEDGE,
  NEGEDGE, BINARY_OPERATION, UNARY_OPERATION, ARRAY_REF,
  RANGE_REF, CONCATENATE, IDENTIFIERS, NUMBERS,
  HARD_BLOCK, HARD_BLOCK_NAMED_INSTANCE, HARD_BLOCK_CONNECT_LIST, HARD_BLOCK_CONNECT,
  RAM
}

Define Documentation

#define ACTIVATION   13

Definition at line 81 of file types.h.

#define ACTIVATION_ERROR   -7

Definition at line 64 of file types.h.

#define AST_TYPES_H

Definition at line 145 of file types.h.

#define BLIF_ERROR   -5

Definition at line 60 of file types.h.

#define COMBO_LOOP   15

Definition at line 72 of file types.h.

#define COMBO_LOOP_ERROR   16

Definition at line 73 of file types.h.

#define COUNT_NODES   14

Definition at line 71 of file types.h.

#define FALSE   0

Definition at line 32 of file types.h.

#define GRAPH_CRUNCH   17

Definition at line 74 of file types.h.

#define LEVELIZE   12

Definition at line 80 of file types.h.

#define NETLIST_ERROR   -4

Definition at line 58 of file types.h.

#define NETLIST_FILE_ERROR   -6

Definition at line 62 of file types.h.

#define NETLIST_UTILS_H

Definition at line 342 of file types.h.

#define oassert (  )     {if(!(x)){__asm("int3");}}

Definition at line 84 of file types.h.

#define OUTPUT_TRAVERSE_VALUE   12

Definition at line 70 of file types.h.

#define PARSE_ERROR   -3

Definition at line 56 of file types.h.

#define PARTIAL_MAP_TRAVERSE_VALUE   10

Definition at line 69 of file types.h.

#define RESET   -1

Definition at line 79 of file types.h.

#define SEQUENTIAL_LEVELIZE   19

Definition at line 76 of file types.h.

#define SIMULATION_ERROR   -8

Definition at line 66 of file types.h.

#define STATS   18

Definition at line 75 of file types.h.

#define TYPES_H

Definition at line 36 of file types.h.


Typedef Documentation

typedef struct ast_node_t_t ast_node_t

Definition at line 43 of file types.h.

typedef struct char_list_t_t char_list_t

Definition at line 51 of file types.h.

typedef struct config_t_t config_t

Definition at line 38 of file types.h.

Definition at line 41 of file types.h.

Definition at line 39 of file types.h.

Definition at line 44 of file types.h.

Definition at line 53 of file types.h.

typedef struct netlist_t_t netlist_t

Definition at line 52 of file types.h.

typedef struct nnet_t_t nnet_t

Definition at line 49 of file types.h.

typedef struct nnode_t_t nnode_t

Definition at line 47 of file types.h.

typedef struct npin_t_t npin_t

Definition at line 48 of file types.h.

Definition at line 50 of file types.h.

typedef struct sim_state_t_t sim_state_t

Definition at line 46 of file types.h.


Enumeration Type Documentation

enum bases
Enumerator:
DEC 
HEX 
OCT 
BIN 
LONG_LONG 

Definition at line 147 of file types.h.

00148 {
00149         DEC,
00150         HEX,
00151         OCT,
00152         BIN,
00153         LONG_LONG,
00154 } bases;

enum ids
Enumerator:
NO_ID 
FILE_ITEMS 
MODULE 
INPUT 
OUTPUT 
INOUT 
WIRE 
REG 
PARAMETER 
PORT 
MODULE_ITEMS 
VAR_DECLARE 
VAR_DECLARE_LIST 
ASSIGN 
GATE 
GATE_INSTANCE 
MODULE_CONNECT_LIST 
MODULE_CONNECT 
MODULE_NAMED_INSTANCE 
MODULE_INSTANCE 
BLOCK 
NON_BLOCKING_STATEMENT 
BLOCKING_STATEMENT 
CASE 
CASE_LIST 
CASE_ITEM 
CASE_DEFAULT 
ALWAYS 
IF 
IF_Q 
DELAY_CONTROL 
POSEDGE 
NEGEDGE 
BINARY_OPERATION 
UNARY_OPERATION 
ARRAY_REF 
RANGE_REF 
CONCATENATE 
IDENTIFIERS 
NUMBERS 
HARD_BLOCK 
HARD_BLOCK_NAMED_INSTANCE 
HARD_BLOCK_CONNECT_LIST 
HARD_BLOCK_CONNECT 
RAM 

Definition at line 207 of file types.h.

00208 {
00209         NO_ID,
00210         /* top level things */
00211         FILE_ITEMS,
00212         MODULE, 
00213         /* VARIABLES */
00214         INPUT, 
00215         OUTPUT, 
00216         INOUT,
00217         WIRE,
00218         REG,
00219         PARAMETER,
00220         PORT,
00221         /* OTHER MODULE ITEMS */
00222         MODULE_ITEMS, 
00223         VAR_DECLARE,
00224         VAR_DECLARE_LIST,
00225         ASSIGN,
00226         /* primitives */
00227         GATE,
00228         GATE_INSTANCE,
00229         /* Module instances */
00230         MODULE_CONNECT_LIST,
00231         MODULE_CONNECT,
00232         MODULE_NAMED_INSTANCE,
00233         MODULE_INSTANCE,
00234         /* statements */
00235         BLOCK, 
00236         NON_BLOCKING_STATEMENT,
00237         BLOCKING_STATEMENT,
00238         CASE,
00239         CASE_LIST,
00240         CASE_ITEM,
00241         CASE_DEFAULT,
00242         ALWAYS,
00243         IF,
00244         IF_Q,
00245         /* Delay Control */
00246         DELAY_CONTROL,
00247         POSEDGE,
00248         NEGEDGE, 
00249         /* expressions */
00250         BINARY_OPERATION, 
00251         UNARY_OPERATION,
00252         /* basic primitives */
00253         ARRAY_REF, 
00254         RANGE_REF,
00255         CONCATENATE,
00256         /* basic identifiers */
00257         IDENTIFIERS,
00258         NUMBERS, 
00259         /* Hard Blocks */
00260         HARD_BLOCK, 
00261         HARD_BLOCK_NAMED_INSTANCE, 
00262         HARD_BLOCK_CONNECT_LIST,
00263         HARD_BLOCK_CONNECT,
00264         // EDDIE: new enum value for ids to replace MEMORY from operation_t
00265         RAM
00266 } ids;

Enumerator:
NO_OP 
MULTI_PORT_MUX 
FF_NODE 
BUF_NODE 
INPUT_NODE 
OUTPUT_NODE 
GND_NODE 
VCC_NODE 
CLOCK_NODE 
ADD 
MINUS 
BITWISE_NOT 
BITWISE_AND 
BITWISE_OR 
BITWISE_NAND 
BITWISE_NOR 
BITWISE_XNOR 
BITWISE_XOR 
LOGICAL_NOT 
LOGICAL_OR 
LOGICAL_AND 
LOGICAL_NAND 
LOGICAL_NOR 
LOGICAL_XNOR 
LOGICAL_XOR 
MULTIPLY 
DIVIDE 
MODULO 
LT 
GT 
LOGICAL_EQUAL 
NOT_EQUAL 
LTE 
GTE 
SR 
SL 
CASE_EQUAL 
CASE_NOT_EQUAL 
ADDER_FUNC 
CARRY_FUNC 
MUX_2 
BLIF_FUNCTION 
NETLIST_FUNCTION 
MEMORY 
PAD_NODE 
HARD_IP 
GENERIC 

Definition at line 156 of file types.h.

00157 {
00158         NO_OP,
00159         MULTI_PORT_MUX, // port 1 = control, port 2+ = mux options
00160         FF_NODE,
00161         BUF_NODE,
00162         INPUT_NODE,
00163         OUTPUT_NODE,
00164         GND_NODE,
00165         VCC_NODE,
00166         CLOCK_NODE,
00167         ADD, // +
00168         MINUS, // -
00169         BITWISE_NOT, // ~       
00170         BITWISE_AND, // & 
00171         BITWISE_OR, // |
00172         BITWISE_NAND, // ~&
00173         BITWISE_NOR, // ~| 
00174         BITWISE_XNOR, // ~^ 
00175         BITWISE_XOR, // ^
00176         LOGICAL_NOT, // ! 
00177         LOGICAL_OR, // ||
00178         LOGICAL_AND, // &&
00179         LOGICAL_NAND, // No Symbol
00180         LOGICAL_NOR, // No Symbol
00181         LOGICAL_XNOR, // No symbol
00182         LOGICAL_XOR, // No Symbol
00183         MULTIPLY, // * 
00184         DIVIDE, // /
00185         MODULO, // %
00186         LT, // <
00187         GT, // >
00188         LOGICAL_EQUAL, // == 
00189         NOT_EQUAL, // !=
00190         LTE, // <=
00191         GTE, // >=
00192         SR, // >>
00193         SL, // << 
00194         CASE_EQUAL, // ===
00195         CASE_NOT_EQUAL, // !==
00196         ADDER_FUNC,
00197         CARRY_FUNC,
00198         MUX_2,
00199         BLIF_FUNCTION,
00200         NETLIST_FUNCTION,
00201         MEMORY,
00202         PAD_NODE,
00203         HARD_IP, 
00204         GENERIC /*added for the unknown node type */
00205 } operation_list;

Enumerator:
NO_SIMULATION 
TEST_EXISTING_VECTORS 
GENERATE_VECTORS 

Definition at line 108 of file types.h.

00108              {
00109         NO_SIMULATION = 0,
00110         TEST_EXISTING_VECTORS,
00111         GENERATE_VECTORS,
00112 }simulation_type;

Generated on Tue Aug 2 10:43:53 2011 for ODIN_II by  doxygen 1.6.3