1    /*
     2     *  Copyright (c) 2012 by Texas Instruments and others.
     3     *  All rights reserved. This program and the accompanying materials
     4     *  are made available under the terms of the Eclipse Public License v1.0
     5     *  which accompanies this distribution, and is available at
     6     *  http://www.eclipse.org/legal/epl-v10.html
     7     *
     8     *  Contributors:
     9     *      Texas Instruments - initial implementation
    10     *
    11     * */
    12    
    13    /*
    14     *  ======== Platform.xdc ========
    15     *  Platform support for simVayu
    16     *
    17     */
    18    
    19    /*!
    20     *  ======== Platform ========
    21     *  Platform support for simVayu
    22     *
    23     *  This module implements xdc.platform.IPlatform and defines configuration
    24     *  parameters that correspond to this platform's Cpu's, Board's, etc.
    25     *
    26     *  The configuration parameters are initialized in this package's
    27     *  configuration script (package.cfg) and "bound" to the TCOM object
    28     *  model.  Once they are part of the model, these parameters are
    29     *  queried by a program's configuration script.
    30     *
    31     *  This particular platform has 4 EVE's, 2 M4's, and 2 C66x DSP's.
    32     */
    33    metaonly module Platform inherits xdc.platform.IPlatform
    34    {
    35        readonly config xdc.platform.IPlatform.Board BOARD = {      
    36            id:             "0",
    37            boardName:      "simVayu",
    38            boardFamily:    "simVayu",
    39            boardRevision:  null,
    40        };
    41    
    42        readonly config xdc.platform.IExeContext.Cpu DSP = {        
    43            id:             "0",
    44            clockRate:      1000,
    45            catalogName:    "ti.catalog.c6000",
    46            deviceName:     "Vayu",
    47            revision:       "1.0",
    48        };
    49    
    50        /* Benelli M4 Subsystem */
    51        readonly config xdc.platform.IExeContext.Cpu M4 = {
    52            id:             "1",
    53            clockRate:      266.0,
    54            catalogName:    "ti.catalog.arm.cortexm4",
    55            deviceName:     "Vayu",
    56            revision:       "1.0",
    57        };
    58        
    59        /* EVE */
    60        readonly config xdc.platform.IExeContext.Cpu EVE = {
    61            id:             "2",
    62            clockRate:      200.0, 
    63            catalogName:    "ti.catalog.arp32",
    64            deviceName:     "Vayu",
    65            revision:       "1.0"
    66        };
    67    
    68    instance:
    69    
    70        /*!
    71         *  ======== externalMemoryMap ========
    72         *  Memory regions as defined in the Vayu Simulator Specification
    73         */
    74    
    75        override readonly config xdc.platform.IPlatform.Memory
    76            externalMemoryMap[string] = [
    77                ["EXT_RAM_EVE_VECS", {
    78                    comment: "External RAM Memory reserved for use by EVE .vecs",
    79                    name: "EXT_RAM_EVE_VECS",
    80                    base: 0x80000000,
    81                    len:  0x00000100    /* Reserve first 0x100 for .vecs */
    82                }],
    83                ["EXT_RAM_EVE", {
    84                    comment: "External RAM Memory reserved for use by the EVE",
    85                    name: "EXT_RAM_EVE",
    86                    base: 0x80000100,
    87                    len:  0x07ffff00    /* ~128 MB */
    88                }],
    89                ["EXT_RAM_DSP", {
    90                    comment: "External RAM Memory reserved for use by the C66x",
    91                    name: "EXT_RAM_DSP",
    92                    base: 0x88000000,
    93                    len:  0x02000000    /* 32 MB */
    94                }],
    95                ["EXT_RAM_M4", {
    96                    comment: "External RAM Memory reserved for use by the M4 core",
    97                    name: "EXT_RAM_M4",
    98                    base: 0x8A000000,
    99                    len:  0x20000000    /* 512 MB */
   100                }]
   101            ];
   102    
   103        /*
   104         *  ======== l1PMode ========
   105         *  Define the amount of L1P RAM used for L1 Program Cache.
   106         *
   107         *  Check the device documentation for valid values.
   108         */
   109        config String l1PMode = "32k";
   110        
   111        /*
   112         *  ======== l1DMode ========
   113         *  Define the amount of L1D RAM used for L1 Data Cache.
   114         *
   115         *  Check the device documentation for valid values.
   116         */
   117        config String l1DMode = "32k";
   118        
   119        /*
   120         *  ======== l2Mode ========
   121         *  Define the amount of L2 RAM used for L2 Cache.
   122         *
   123         *  Check the device documentation for valid values.
   124         */
   125        config String l2Mode = "0k";
   126    };
   127    /*
   128     *  @(#) ti.platforms.simVayu; 1, 0, 0, 0,3; 4-24-2012 15:01:48; /db/ztree/library/trees/platform/platform-n20x/src/
   129     */
   130