byteman  1.3 (Build #225)
Bitstream relocation and manipulation tool
XS7_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 XS7_FABRIC_H
20  #define XS7_FABRIC_H
21 
22  #define XS7_MAX_SLRS 5
23 
24  #define XS7_MAX_ROWS 12
25 
26  //max is 286 columns
27  #define XS7_MAX_COLS 512
28 
29  //max is 17
30  #define XS7_MAX_BRAM_COLS 32
31 
32 
33  #define XS7_BLOCKTYPE_MAX 2
34  #define XS7_BLOCKTYPE_LOGIC 0
35  #define XS7_BLOCKTYPE_BLOCKRAM 1
36 
37 
38  #define XS7_WORDS_BEFORE_CLK 50
39  #define XS7_WORDS_AT_CLK 1
40  #define XS7_WORDS_AFTER_CLK 50
41  #define XS7_WORDS_PER_FRAME (XS7_WORDS_BEFORE_CLK + XS7_WORDS_AT_CLK + XS7_WORDS_AFTER_CLK)
42  #define XS7_FRAMES_PER_BRAM_CONTENT_COLUMN 128
43  #define XS7_CLB_PER_CLOCK_REGION 50
44  #define XS7_BRAM_PER_CLOCK_REGION 10
45 
46  #define XS7_EXTRA_FRAMES_PER_ROW 2
47 
48  #define XS7_USESTOPBOTTOM 1
49  #define XS7_TOPBOTTOM_SHIFT 22
50 
51  #define XS7_BLOCKTYPE_SHIFT 23
52  #define XS7_BLOCKTYPE_MASK 0x7
53  #define XS7_ROWADDRESS_SHIFT 17
54  #define XS7_ROWADDRESS_MASK 0x1F
55  #define XS7_COLUMNADDRESS_SHIFT 7
56  #define XS7_COLUMNADDRESS_MASK 0x3FF
57  #define XS7_MINORADDRESS_SHIFT 0
58  #define XS7_MINORADDRESS_MASK 0x7F
59 
60  #define archXS7template FABRIC_TEMPLATE(XS7_MAX_SLRS, XS7_MAX_ROWS, XS7_MAX_COLS, XS7_MAX_BRAM_COLS, XS7_BLOCKTYPE_MAX, XS7_BLOCKTYPE_LOGIC, XS7_BLOCKTYPE_BLOCKRAM, XS7_WORDS_BEFORE_CLK, XS7_WORDS_AT_CLK, XS7_WORDS_AFTER_CLK, XS7_WORDS_PER_FRAME, XS7_FRAMES_PER_BRAM_CONTENT_COLUMN, XS7_CLB_PER_CLOCK_REGION, XS7_BRAM_PER_CLOCK_REGION, XS7_EXTRA_FRAMES_PER_ROW, XS7_USESTOPBOTTOM, XS7_TOPBOTTOM_SHIFT, XS7_BLOCKTYPE_SHIFT, XS7_BLOCKTYPE_MASK, XS7_ROWADDRESS_SHIFT, XS7_ROWADDRESS_MASK, XS7_COLUMNADDRESS_SHIFT, XS7_COLUMNADDRESS_MASK, XS7_MINORADDRESS_SHIFT, XS7_MINORADDRESS_MASK)
61 
62 #endif//S7_FABRIC_H