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.simARP32;
38
39 /*!
40 * ======== Platform ========
41 * Simulation-based Platform support for TI Torrent 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: "simARP32",
65 boardFamily: "simARP32",
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.arm module, then we
75 * we simulate a TMS470.
76 */
77 readonly config xdc.platform.IExeContext.Cpu CPU = {
78 id: "0",
79 clockRate: 200.0,
80 catalogName: "ti.catalog.arp32",
81 deviceName: "Arctic",
82 revision: "1.0",
83 };
84
85 instance:
86
87 /*!
88 * ======== externalMemoryMap ========
89 * Memory regions as defined in the Ducati Functional Specification
90 */
91
92 override readonly config xdc.platform.IPlatform.Memory
93 externalMemoryMap[string] = [
94 ["ARP32VECS", {
95 comment: "External memory for ARP32 interrupt vectors",
96 name: "ARP32VECS",
97 base: 0x80000000,
98 len: 0x00000100,
99 page: 0,
100 space: "code/data"
101 }],
102
103 ["ARP32", {
104 comment: "External memory for ARP32 use",
105 name: "ARP32",
106 base: 0x80000100,
107 len: 0x0fffff00,
108 page: 1,
109 space: "code/data"
110 }]
111 ];
112
113 override config string codeMemory = "ARP32";
114 override config string dataMemory = "DMEM";
115 override config string stackMemory = "DMEM";
116 };