torc-master
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
PlacementSiteTypeMappingVirtex5.hpp
Go to the documentation of this file.
1 // Torc - Copyright 2011-2013 University of Southern California. All Rights Reserved.
2 // $HeadURL$
3 // $Id$
4 
5 // This program is free software: you can redistribute it and/or modify it under the terms of the
6 // GNU General Public License as published by the Free Software Foundation, either version 3 of the
7 // License, or (at your option) any later version.
8 //
9 // This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
10 // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
11 // the GNU General Public License for more details.
12 //
13 // You should have received a copy of the GNU General Public License along with this program. If
14 // not, see <http://www.gnu.org/licenses/>.
15 
16 /// \file
17 /// \brief Header for the Placement class.
18 
19 #ifndef TORC_PLACER_PLACEMENTSITETYPEMAPPINGVIRTEX5_HPP
20 #define TORC_PLACER_PLACEMENTSITETYPEMAPPINGVIRTEX5_HPP
21 
23 
24 namespace torc {
25 namespace placer {
26 
27  /// \brief Placement mapping for legal instance types to site types.
28 
30 
31  public:
33  // Don't want to call the parent constructor since it sets up the default mapping
34 
36 
37  // Record legal mappings for this family
38  // Instance type to legal site type
39 
40  // ONE TO ONE SITE TYPES
41  addMapData("BSCAN", "BSCAN");
42  addMapData("BUFDS", "BUFDS");
43  addMapData("BUFIO", "BUFIO");
44  addMapData("BUFR", "BUFR");
45  addMapData("CAPTURE", "CAPTURE");
46  addMapData("CRC32", "CRC32");
47  addMapData("CRC64", "CRC64");
48  addMapData("DCI", "DCI");
49  addMapData("DCIRESET", "DCIRESET");
50  addMapData("DCM_ADV", "DCM_ADV");
51  addMapData("DSP48E", "DSP48E");
52  addMapData("EFUSE_USR", "EFUSE_USR");
53  addMapData("FRAME_ECC", "FRAME_ECC");
54  addMapData("GLOBALSIG", "GLOBALSIG");
55  addMapData("GTP_DUAL", "GTP_DUAL");
56  addMapData("GTX_DUAL", "GTX_DUAL");
57  addMapData("ICAP", "ICAP");
58  addMapData("IDELAYCTRL", "IDELAYCTRL");
59  addMapData("JTAGPPC", "JTAGPPC");
60  addMapData("KEY_CLEAR", "KEY_CLEAR");
61  addMapData("PCIE", "PCIE");
62  addMapData("PLL_ADV", "PLL_ADV");
63  addMapData("PMV", "PMV");
64  addMapData("PMVBRAM", "PMVBRAM");
65  addMapData("PPC440", "PPC440");
66  addMapData("STARTUP", "STARTUP");
67  addMapData("SYSMON", "SYSMON");
68  addMapData("TEMAC", "TEMAC");
69  addMapData("TIEOFF", "TIEOFF");
70  addMapData("USR_ACCESS", "USR_ACCESS");
71 
72  // BUFG
73  addMapData("BUFG", "BUFGCTRL");
74  addMapData("BUFGCTRL", "BUFGCTRL");
75 
76  // IO LOGIC SITES
77  addMapData("ILOGIC", "ILOGIC");
78  addMapData("ISERDES", "ILOGIC");
79  addMapData("IODELAY", "IODELAY");
80  addMapData("OLOGIC", "OLOGIC");
81  addMapData("OSERDES", "OLOGIC");
82 
83  // IO PADS
84  addMapData("OPAD", "OPAD");
85  addMapData("IOBM", "IOBM");
86  addMapData("IOB", "IOBM");
87  addMapData("IPAD", "IOBM");
88  addMapData("IOBS", "IOBS");
89  addMapData("IOB", "IOBS");
90  addMapData("IPAD", "IOBS");
91  addMapData("IPAD", "IPAD");
92 
93  // BRAM SITES
94  addMapData("FIFO36_72_EXP", "RAMBFIFO36");
95  addMapData("FIFO36_EXP", "RAMBFIFO36");
96  addMapData("RAMB18X2", "RAMBFIFO36");
97  addMapData("RAMB18X2SDP", "RAMBFIFO36");
98  addMapData("RAMB36SDP_EXP", "RAMBFIFO36");
99  addMapData("RAMB36_EXP", "RAMBFIFO36");
100  addMapData("RAMBFIFO18", "RAMBFIFO36");
101  addMapData("RAMBFIFO18_36", "RAMBFIFO36");
102  addMapData("RAMBFIFO36", "RAMBFIFO36");
103 
104  // SLICE SITES
105  addMapData("SLICEL", "SLICEL");
106  addMapData("SLICEL", "SLICEM");
107  addMapData("SLICEM", "SLICEM");
108 
109  }
111 
112  }; // class PlacementSiteTypeMappingVirtex5
113 } // namespace placer
114 } // namespace torc
115 
116 #endif // TORC_PLACER_PLACEMENTSITETYPEMAPPINGVIRTEX5_HPP
Device database, including complete wiring and logic support.
Definition: DDB.hpp:42
Placement mapping for legal instance types to site types.
void addMapData(std::string itype, std::string stype)
Placement mapping for legal instance types to site types.
Header for the Placement class.