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