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