1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
32
33 34 35
36
37 package ti.platforms.load6x;
38
39 /*!
40 * ======== Platform ========
41 * Simulation-based Platform support for 6xxx platforms
42 *
43 * This module implements xdc.platform.IPlatform and defines configuration
44 * parameters that correspond to this platform's Cpu's, Board's, etc.
45 *
46 * The configuration parameters are initialized in this package's
47 * configuration script (package.cfg) and "bound" to the TCOM object
48 * model. Once they are part of the model, these parameters are
49 * queried by a program's configuration script.
50 *
51 * This particular platform has a single Cpu, and therefore, only
52 * declares a single CPU configuration object. Multi-CPU platforms
53 * would declare multiple Cpu configuration parameters (one per
54 * platform CPU).
55 */
56 metaonly module Platform inherits xdc.platform.IPlatform
57 {
58 /*!
59 * ======== BOARD ========
60 * This platform's board attributes
61 */
62 readonly config xdc.platform.IPlatform.Board BOARD = {
63 id: "0",
64 boardName: "sim6xxx",
65 boardFamily: "sim6xxx",
66 boardRevision: null
67 };
68
69 /*!
70 * ======== CPU ========
71 * The CPU simulated by this platform.
72 *
73 * The device simulated is determined by the platform instance name
74 * or if this does not name a ti.catalog.c6000 module, we simulate
75 * a TMS320C6416.
76 */
77 readonly config xdc.platform.IExeContext.Cpu CPU = {
78 id: "0",
79 clockRate: 600.0,
80 catalogName: "ti.catalog.c6000",
81 deviceName: "TMS320C6416",
82 revision: "",
83 };
84
85 instance:
86
87 /*!
88 * ======== deviceName ========
89 * The CPU simulated by this simulator platform.
90 *
91 * This parameter is optional. If it's not set, then the Platform module
92 * parameter CPU.deviceName is used.
93 */
94 config string deviceName;
95
96 override readonly config xdc.platform.IPlatform.Memory
97 externalMemoryMap[string] = [
98
99 ["EXT0", {name: "EXT0", base: 0x00400000, len: 0x00400000}],
100 ["EXT1", {name: "EXT1", base: 0x01000000, len: 0x00800000}],
101 ["EXT2", {name: "EXT2", base: 0x02000000, len: 0x01000000}],
102 ["EXT3", {name: "EXT3", base: 0x03000000, len: 0x01000000}],
103 ["BMEM", {name: "BMEM", base: 0x80000000, len: 0x00010000}],
104 ];
105
106 override config string codeMemory = "IRAM";
107
108 override config string dataMemory = "EXT3";
109
110 override config string stackMemory = "BMEM";
111
112 113 114 115 116 117
118 config String l1PMode = "32k";
119
120 121 122 123 124 125
126 config String l1DMode = "32k";
127
128 129 130 131 132 133
134 config String l2Mode = "0k";
135 };