VPR-7.0
Main Page
Data Structures
Files
File List
Globals
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
logic_types.h
Go to the documentation of this file.
1
/*
2
Data types describing the logic (technology-mapped) models that the architecture can implement.
3
Logic models include LUT (.names), flipflop (.latch), inpad, outpad, memory slice, etc
4
5
Date: February 19, 2009
6
Authors: Jason Luu and Kenneth Kent
7
*/
8
9
#ifndef LOGIC_TYPES_H
10
#define LOGIC_TYPES_H
11
12
#include "
util.h
"
13
14
/*
15
Logic model data types
16
A logic model is described by its I/O ports and function name
17
*/
18
enum
PORTS
{
19
IN_PORT
,
OUT_PORT
,
INOUT_PORT
,
ERR_PORT
20
};
21
typedef
struct
s_model_ports
{
22
enum
PORTS
dir
;
/* port direction */
23
char
*
name
;
/* name of this port */
24
int
size
;
/* maximum number of pins */
25
int
min_size
;
/* minimum number of pins */
26
boolean
is_clock
;
/* clock? */
27
boolean
is_non_clock_global
;
/* not a clock but is a special, global, control signal (eg global asynchronous reset, etc) */
28
struct
s_model_ports
*
next
;
/* next port */
29
30
int
index
;
/* indexing for array look-up */
31
}
t_model_ports
;
32
33
typedef
struct
s_model
{
34
char
*
name
;
/* name of this logic model */
35
t_model_ports
*
inputs
;
/* linked list of input/clock ports */
36
t_model_ports
*
outputs
;
/* linked list of output ports */
37
void
*
instances
;
38
int
used
;
39
struct
s_linked_vptr
*
pb_types
;
/* Physical block types that implement this model */
40
struct
s_model
*
next
;
/* next model (linked list) */
41
42
int
index
;
43
}
t_model
;
44
45
#endif
46
PORTS
PORTS
Definition:
logic_types.h:18
s_model_ports::name
char * name
Definition:
logic_types.h:23
s_model_ports::dir
enum PORTS dir
Definition:
logic_types.h:22
s_model::instances
void * instances
Definition:
logic_types.h:37
s_model_ports
Definition:
logic_types.h:21
s_model_ports::next
struct s_model_ports * next
Definition:
logic_types.h:28
s_model_ports::is_clock
boolean is_clock
Definition:
logic_types.h:26
s_model_ports::index
int index
Definition:
logic_types.h:30
s_model_ports::size
int size
Definition:
logic_types.h:24
OUT_PORT
Definition:
logic_types.h:19
t_model
struct s_model t_model
s_model::next
struct s_model * next
Definition:
logic_types.h:40
s_model::used
int used
Definition:
logic_types.h:38
INOUT_PORT
Definition:
logic_types.h:19
util.h
s_model_ports::min_size
int min_size
Definition:
logic_types.h:25
s_model::inputs
t_model_ports * inputs
Definition:
logic_types.h:35
ERR_PORT
Definition:
logic_types.h:19
s_model
Definition:
logic_types.h:33
s_model::outputs
t_model_ports * outputs
Definition:
logic_types.h:36
s_model::pb_types
struct s_linked_vptr * pb_types
Definition:
logic_types.h:39
s_model::index
int index
Definition:
logic_types.h:42
s_model::name
char * name
Definition:
logic_types.h:34
t_model_ports
struct s_model_ports t_model_ports
s_model_ports::is_non_clock_global
boolean is_non_clock_global
Definition:
logic_types.h:27
s_linked_vptr
Definition:
util.h:34
IN_PORT
Definition:
logic_types.h:19
libarchfpga
include
logic_types.h
Generated on Mon Dec 15 2014 11:07:37 for VPR-7.0 by
1.8.6