byteman  1.3 (Build #225)
Bitstream relocation and manipulation tool
XUSP_Fabric.h
Go to the documentation of this file.
1 /******************************************************************************
2  * Copyright 2022 Kristiyan Manev, Joseph Powell (University of Manchester)
3  *
4  * Licensed under the Apache License, Version 2.0(the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  *****************************************************************************/
16 
17 #include "../XilinxConfigurationAccessPort.h"
18 
19 #ifndef XUSP_FABRIC_H
20  #define XUSP_FABRIC_H
21 
22  #define XUSP_MAX_SLRS 4
23 
24  #define XUSP_MAX_ROWS 20
25 
26  //max 692 cols in UltraScale+
27  #define XUSP_MAX_COLS 1024
28 
29  //max 12 bram cols in UltraScale+
30  #define XUSP_MAX_BRAM_COLS 16
31 
32  #define XUSP_BLOCKTYPE_MAX 2
33  #define XUSP_BLOCKTYPE_LOGIC 0
34  #define XUSP_BLOCKTYPE_BLOCKRAM 1
35 
36  #define XUSP_WORDS_BEFORE_CLK 45
37  #define XUSP_WORDS_AT_CLK 3
38  #define XUSP_WORDS_AFTER_CLK 45
39  #define XUSP_WORDS_PER_FRAME (XUSP_WORDS_BEFORE_CLK + XUSP_WORDS_AT_CLK + XUSP_WORDS_AFTER_CLK)
40  #define XUSP_FRAMES_PER_BRAM_CONTENT_COLUMN 256
41  #define XUSP_CLB_PER_CLOCK_REGION 60
42  #define XUSP_BRAM_PER_CLOCK_REGION 12
43 
44  #define XUSP_EXTRA_FRAMES_PER_ROW 2
45 
46  #define XUSP_USESTOPBOTTOM 0
47  #define XUSP_TOPBOTTOM_SHIFT 0
48 
49  #define XUSP_BLOCKTYPE_SHIFT 24
50  #define XUSP_BLOCKTYPE_MASK 0x7
51  #define XUSP_ROWADDRESS_SHIFT 18
52  #define XUSP_ROWADDRESS_MASK 0x3F
53  #define XUSP_COLUMNADDRESS_SHIFT 8
54  #define XUSP_COLUMNADDRESS_MASK 0x3FF
55  #define XUSP_MINORADDRESS_SHIFT 0
56  #define XUSP_MINORADDRESS_MASK 0xFF
57 
58  #define archXUSPtemplate FABRIC_TEMPLATE(XUSP_MAX_SLRS, XUSP_MAX_ROWS, XUSP_MAX_COLS, XUSP_MAX_BRAM_COLS, XUSP_BLOCKTYPE_MAX, XUSP_BLOCKTYPE_LOGIC, XUSP_BLOCKTYPE_BLOCKRAM, XUSP_WORDS_BEFORE_CLK, XUSP_WORDS_AT_CLK, XUSP_WORDS_AFTER_CLK, XUSP_WORDS_PER_FRAME, XUSP_FRAMES_PER_BRAM_CONTENT_COLUMN, XUSP_CLB_PER_CLOCK_REGION, XUSP_BRAM_PER_CLOCK_REGION, XUSP_EXTRA_FRAMES_PER_ROW, XUSP_USESTOPBOTTOM, XUSP_TOPBOTTOM_SHIFT, XUSP_BLOCKTYPE_SHIFT, XUSP_BLOCKTYPE_MASK, XUSP_ROWADDRESS_SHIFT, XUSP_ROWADDRESS_MASK, XUSP_COLUMNADDRESS_SHIFT, XUSP_COLUMNADDRESS_MASK, XUSP_MINORADDRESS_SHIFT, XUSP_MINORADDRESS_MASK)
59 
60 #endif//XUSP_FABRIC_H