1 2 3 4 5 6 7 8
9
10 11 12
13
14 /*!
15 * ======== Platform ========
16 * A generic platform that supports any HW platform
17 *
18 * This module implements xdc.platform.IPlatform and defines configuration
19 * parameters that correspond to this platform's Cpu's, Board's, etc.
20 */
21 metaonly module Platform inherits xdc.platform.IPlatform
22 {
23 config xdc.platform.IPlatform.Board BOARD = {
24 id: "0",
25 boardName: "generic",
26 boardFamily: null,
27 boardRevision: null
28 };
29
30 instance:
31
32 config xdc.platform.IExeContext.Cpu CPU = {
33 id: "0",
34 clockRate: 0,
35 catalogName: null,
36 deviceName: null,
37 revision: "",
38 };
39
40 /*!
41 * ======== deviceName ========
42 * The CPU provided by this platform
43 *
44 * This parameter is required and named a module within a "catalog"
45 * package that implements the `xdc.platform.ICpuDataSheet` interface.
46 *
47 * @see xdc.platform.ICpuDataSheet
48 * @see #catalogName
49 */
50 config string deviceName;
51
52 /*!
53 * ======== catalogName ========
54 * The name of the package that contains the module 'deviceName'.
55 *
56 * This parameter is required.
57 *
58 * @see #deviceName
59 */
60 config string catalogName;
61
62 /*!
63 * ======== clockRate ========
64 * The clock rate for the simulated device.
65 *
66 * This parameter is required. There are no checks to determine if the
67 * device can actually support the given clock rate.
68 *
69 * This clock rate is used to compute CPU loads and may be used
70 * by configuration scripts to configure/check on-device timers.
71 */
72 config Double clockRate;
73
74 75 76 77
78 override config string codeMemory = null;
79
80 81 82 83
84 override config string dataMemory = null;
85
86 87 88 89
90 override config string stackMemory = null;
91 };
92 93 94
95