| 1 |
14 |
eyalhoc |
<##//////////////////////////////////////////////////////////////////
|
| 2 |
|
|
//// ////
|
| 3 |
|
|
//// Author: Eyal Hochberg ////
|
| 4 |
|
|
//// eyal@provartec.com ////
|
| 5 |
|
|
//// ////
|
| 6 |
|
|
//// Downloaded from: http://www.opencores.org ////
|
| 7 |
|
|
/////////////////////////////////////////////////////////////////////
|
| 8 |
|
|
//// ////
|
| 9 |
|
|
//// Copyright (C) 2010 Provartec LTD ////
|
| 10 |
|
|
//// www.provartec.com ////
|
| 11 |
|
|
//// info@provartec.com ////
|
| 12 |
|
|
//// ////
|
| 13 |
|
|
//// This source file may be used and distributed without ////
|
| 14 |
|
|
//// restriction provided that this copyright statement is not ////
|
| 15 |
|
|
//// removed from the file and that any derivative work contains ////
|
| 16 |
|
|
//// the original copyright notice and the associated disclaimer.////
|
| 17 |
|
|
//// ////
|
| 18 |
|
|
//// This source file is free software; you can redistribute it ////
|
| 19 |
|
|
//// and/or modify it under the terms of the GNU Lesser General ////
|
| 20 |
|
|
//// Public License as published by the Free Software Foundation.////
|
| 21 |
|
|
//// ////
|
| 22 |
|
|
//// This source is distributed in the hope that it will be ////
|
| 23 |
|
|
//// useful, but WITHOUT ANY WARRANTY; without even the implied ////
|
| 24 |
|
|
//// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR ////
|
| 25 |
|
|
//// PURPOSE. See the GNU Lesser General Public License for more////
|
| 26 |
|
|
//// details. http://www.gnu.org/licenses/lgpl.html ////
|
| 27 |
|
|
//// ////
|
| 28 |
|
|
//////////////////////////////////////////////////////////////////##>
|
| 29 |
|
|
REQUIRE(1.5)
|
| 30 |
|
|
|
| 31 |
|
|
INCLUDE def_ic_static.txt
|
| 32 |
|
|
|
| 33 |
|
|
STARTUSER
|
| 34 |
|
|
|
| 35 |
|
|
SWAP.GLOBAL #FFD #1 ##flip-flop delay
|
| 36 |
|
|
|
| 37 |
|
|
SWAP.USER PREFIX fabric_MASTER_NUM_SLAVE_NUM ##prefix for all module and file names
|
| 38 |
|
|
|
| 39 |
|
|
SWAP.USER MASTER_NUM 3 ##number of masters
|
| 40 |
|
|
SWAP.USER SLAVE_NUM 6 ##number of slaves
|
| 41 |
|
|
|
| 42 |
|
|
SWAP.USER CMD_DEPTH 4 ##AXI master command depth for read and write
|
| 43 |
|
|
SWAP.USER SLV_DEPTH 8 ##AXI slave command depth for read and write
|
| 44 |
|
|
|
| 45 |
|
|
SWAP.USER DATA_BITS 64 ##AXI data bits
|
| 46 |
|
|
SWAP.USER ADDR_BITS 32 ##AXI address bits
|
| 47 |
|
|
|
| 48 |
|
|
SWAP.USER SIZE_BITS 2 ##AXI size bits
|
| 49 |
|
|
|
| 50 |
|
|
DEFINE.USER DEF_DECERR_SLV ##use interanl decode slave error
|
| 51 |
|
|
|
| 52 |
|
|
SWAP.USER USER_BITS 4 ##AXI user bits
|
| 53 |
|
|
|
| 54 |
|
|
SWAP.USER MSTR_ID_BITS 4 ##AXI ID bits
|
| 55 |
|
|
|
| 56 |
|
|
UNDEF.USER UNIQUE_ID ##If defined all IDs must be unique, else bits will be added to slave IDs to identify masters
|
| 57 |
|
|
|
| 58 |
|
|
|
| 59 |
|
|
GROUP.USER.TRUE(MASTER_NUM>0) M0_ID is { ##Supported AXI IDs for master 0 (binary)
|
| 60 |
|
|
000
|
| 61 |
|
|
001
|
| 62 |
|
|
}
|
| 63 |
|
|
GROUP.USER.TRUE(MASTER_NUM>1) M1_ID is { ##Supported AXI IDs for master 1 (binary)
|
| 64 |
|
|
011
|
| 65 |
|
|
}
|
| 66 |
|
|
GROUP.USER.TRUE(MASTER_NUM>2) M2_ID is { ##Supported AXI IDs for master 2 (binary)
|
| 67 |
|
|
000
|
| 68 |
|
|
100
|
| 69 |
|
|
101
|
| 70 |
|
|
}
|
| 71 |
|
|
|
| 72 |
|
|
GROUP.USER.TRUE(MASTER_NUM>3) M3_ID is { ##Supported AXI IDs for master 3 (binary)
|
| 73 |
|
|
}
|
| 74 |
|
|
GROUP.USER.TRUE(MASTER_NUM>4) M4_ID is { ##Supported AXI IDs for master 4 (binary)
|
| 75 |
|
|
}
|
| 76 |
|
|
GROUP.USER.TRUE(MASTER_NUM>5) M5_ID is { ##Supported AXI IDs for master 5 (binary)
|
| 77 |
|
|
}
|
| 78 |
|
|
GROUP.USER.TRUE(MASTER_NUM>6) M6_ID is { ##Supported AXI IDs for master 6 (binary)
|
| 79 |
|
|
}
|
| 80 |
|
|
GROUP.USER.TRUE(MASTER_NUM>7) M7_ID is { ##Supported AXI IDs for master 7 (binary)
|
| 81 |
|
|
}
|
| 82 |
|
|
|
| 83 |
|
|
|