CGRA-ME
|
#include <CGRA/Exception.h>
#include <CGRA/user-inc/UserArchs.h>
#include <CGRA/user-inc/UserModules.h>
#include <climits>
Go to the source code of this file.
Macros | |
#define | has_input_from_N(conn) (conn & 0b00000001) |
#define | has_input_from_E(conn) (conn & 0b00000010) |
#define | has_input_from_S(conn) (conn & 0b00000100) |
#define | has_input_from_W(conn) (conn & 0b00001000) |
#define | has_input_from_NW(conn) (conn & 0b00010000) |
#define | has_input_from_NE(conn) (conn & 0b00100000) |
#define | has_input_from_SE(conn) (conn & 0b01000000) |
#define | has_input_from_SW(conn) (conn & 0b10000000) |
#define | get_ones_in_8b(v) (ones_in_4b[v & 0x0f] + ones_in_4b[v >> 4]) |
#define | is_corner_pe(r, c, rows, cols) |
#define | is_side_pe(r, c, rows, cols) |
#define | is_top_leftmost_pe(r, c, rows, cols) (r == 0 && c == 0) |
#define | is_top_rightmost_pe(r, c, rows, cols) (r == 0 && c == cols-1) |
#define | is_bot_leftmost_pe(r, c, rows, cols) (r == rows-1 && c == 0) |
#define | is_bot_rightmost_pe(r, c, rows, cols) (r == rows-1 && c == cols-1) |
#define | is_top_pe(r, c, rows, cols) (r == 0) |
#define | is_bot_pe(r, c, rows, cols) (r == rows-1) |
#define | is_leftmost_pe(r, c, rows, cols) (c == 0) |
#define | is_rightmost_pe(r, c, rows, cols) (c == cols-1) |
#define | mask_top_leftmost_pe(conn) (conn & 0b01000110) |
#define | mask_top_rightmost_pe(conn) (conn & 0b10001100) |
#define | mask_bot_leftmost_pe(conn) (conn & 0b00100011) |
#define | mask_bot_rightmost_pe(conn) (conn & 0b00011001) |
#define | mask_top_pe(conn) (conn & 0b11001110) |
#define | mask_bot_pe(conn) (conn & 0b00111011) |
#define | mask_leftmost_pe(conn) (conn & 0b01100111) |
#define | mask_rightmost_pe(conn) (conn & 0b10011101) |
Functions | |
unsigned char | get_inter_pe_input_counts (unsigned char conn, int r, int c, int rows, int cols, bool toroid) |
Variables | |
const unsigned char | ones_in_4b [] = {0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4} |
#define get_ones_in_8b | ( | v | ) | (ones_in_4b[v & 0x0f] + ones_in_4b[v >> 4]) |
Definition at line 35 of file AdresArch.cpp.
#define has_input_from_E | ( | conn | ) | (conn & 0b00000010) |
Definition at line 25 of file AdresArch.cpp.
#define has_input_from_N | ( | conn | ) | (conn & 0b00000001) |
This is adres arch for mapping. All of the archs wont produce accurate RTL. Currently there are no configuration cells in this designs.
Definition at line 24 of file AdresArch.cpp.
#define has_input_from_NE | ( | conn | ) | (conn & 0b00100000) |
Definition at line 29 of file AdresArch.cpp.
#define has_input_from_NW | ( | conn | ) | (conn & 0b00010000) |
Definition at line 28 of file AdresArch.cpp.
#define has_input_from_S | ( | conn | ) | (conn & 0b00000100) |
Definition at line 26 of file AdresArch.cpp.
#define has_input_from_SE | ( | conn | ) | (conn & 0b01000000) |
Definition at line 30 of file AdresArch.cpp.
#define has_input_from_SW | ( | conn | ) | (conn & 0b10000000) |
Definition at line 31 of file AdresArch.cpp.
#define has_input_from_W | ( | conn | ) | (conn & 0b00001000) |
Definition at line 27 of file AdresArch.cpp.
#define is_bot_leftmost_pe | ( | r, | |
c, | |||
rows, | |||
cols | |||
) | (r == rows-1 && c == 0) |
Definition at line 52 of file AdresArch.cpp.
#define is_bot_pe | ( | r, | |
c, | |||
rows, | |||
cols | |||
) | (r == rows-1) |
Definition at line 55 of file AdresArch.cpp.
#define is_bot_rightmost_pe | ( | r, | |
c, | |||
rows, | |||
cols | |||
) | (r == rows-1 && c == cols-1) |
Definition at line 53 of file AdresArch.cpp.
#define is_corner_pe | ( | r, | |
c, | |||
rows, | |||
cols | |||
) |
Definition at line 38 of file AdresArch.cpp.
#define is_leftmost_pe | ( | r, | |
c, | |||
rows, | |||
cols | |||
) | (c == 0) |
Definition at line 56 of file AdresArch.cpp.
#define is_rightmost_pe | ( | r, | |
c, | |||
rows, | |||
cols | |||
) | (c == cols-1) |
Definition at line 57 of file AdresArch.cpp.
#define is_side_pe | ( | r, | |
c, | |||
rows, | |||
cols | |||
) |
Definition at line 44 of file AdresArch.cpp.
#define is_top_leftmost_pe | ( | r, | |
c, | |||
rows, | |||
cols | |||
) | (r == 0 && c == 0) |
Definition at line 50 of file AdresArch.cpp.
#define is_top_pe | ( | r, | |
c, | |||
rows, | |||
cols | |||
) | (r == 0) |
Definition at line 54 of file AdresArch.cpp.
#define is_top_rightmost_pe | ( | r, | |
c, | |||
rows, | |||
cols | |||
) | (r == 0 && c == cols-1) |
Definition at line 51 of file AdresArch.cpp.
#define mask_bot_leftmost_pe | ( | conn | ) | (conn & 0b00100011) |
Definition at line 62 of file AdresArch.cpp.
#define mask_bot_pe | ( | conn | ) | (conn & 0b00111011) |
Definition at line 65 of file AdresArch.cpp.
#define mask_bot_rightmost_pe | ( | conn | ) | (conn & 0b00011001) |
Definition at line 63 of file AdresArch.cpp.
#define mask_leftmost_pe | ( | conn | ) | (conn & 0b01100111) |
Definition at line 66 of file AdresArch.cpp.
#define mask_rightmost_pe | ( | conn | ) | (conn & 0b10011101) |
Definition at line 67 of file AdresArch.cpp.
#define mask_top_leftmost_pe | ( | conn | ) | (conn & 0b01000110) |
Definition at line 60 of file AdresArch.cpp.
#define mask_top_pe | ( | conn | ) | (conn & 0b11001110) |
Definition at line 64 of file AdresArch.cpp.
#define mask_top_rightmost_pe | ( | conn | ) | (conn & 0b10001100) |
Definition at line 61 of file AdresArch.cpp.
unsigned char get_inter_pe_input_counts | ( | unsigned char | conn, |
int | r, | ||
int | c, | ||
int | rows, | ||
int | cols, | ||
bool | toroid | ||
) |
Definition at line 72 of file AdresArch.cpp.
const unsigned char ones_in_4b[] = {0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4} |
Definition at line 34 of file AdresArch.cpp.