Ignore change on last edge
[yosys.git] / kernel / cost.h
index 10fa50fb33b57be92d473fae3c3b7c5ec1051830..b81420af756b7bd2580efc86c1a6e44ad9cca93f 100644 (file)
@@ -1,7 +1,7 @@
 /*
  *  yosys -- Yosys Open SYnthesis Suite
  *
- *  Copyright (C) 2012  Clifford Wolf <clifford@clifford.at>
+ *  Copyright (C) 2012  Claire Xenia Wolf <claire@yosyshq.com>
  *
  *  Permission to use, copy, modify, and/or distribute this software for any
  *  purpose with or without fee is hereby granted, provided that the above
@@ -28,44 +28,44 @@ struct CellCosts
 {
        static const dict<RTLIL::IdString, int>& default_gate_cost() {
                static const dict<RTLIL::IdString, int> db = {
-                       { "$_BUF_",    1 },
-                       { "$_NOT_",    2 },
-                       { "$_AND_",    4 },
-                       { "$_NAND_",   4 },
-                       { "$_OR_",     4 },
-                       { "$_NOR_",    4 },
-                       { "$_ANDNOT_", 4 },
-                       { "$_ORNOT_",  4 },
-                       { "$_XOR_",    5 },
-                       { "$_XNOR_",   5 },
-                       { "$_AOI3_",   6 },
-                       { "$_OAI3_",   6 },
-                       { "$_AOI4_",   7 },
-                       { "$_OAI4_",   7 },
-                       { "$_MUX_",    4 },
-                       { "$_NMUX_",   4 }
+                       { ID($_BUF_),    1 },
+                       { ID($_NOT_),    2 },
+                       { ID($_AND_),    4 },
+                       { ID($_NAND_),   4 },
+                       { ID($_OR_),     4 },
+                       { ID($_NOR_),    4 },
+                       { ID($_ANDNOT_), 4 },
+                       { ID($_ORNOT_),  4 },
+                       { ID($_XOR_),    5 },
+                       { ID($_XNOR_),   5 },
+                       { ID($_AOI3_),   6 },
+                       { ID($_OAI3_),   6 },
+                       { ID($_AOI4_),   7 },
+                       { ID($_OAI4_),   7 },
+                       { ID($_MUX_),    4 },
+                       { ID($_NMUX_),   4 }
                };
                return db;
        }
 
        static const dict<RTLIL::IdString, int>& cmos_gate_cost() {
                static const dict<RTLIL::IdString, int> db = {
-                       { "$_BUF_",     1 },
-                       { "$_NOT_",     2 },
-                       { "$_AND_",     6 },
-                       { "$_NAND_",    4 },
-                       { "$_OR_",      6 },
-                       { "$_NOR_",     4 },
-                       { "$_ANDNOT_",  6 },
-                       { "$_ORNOT_",   6 },
-                       { "$_XOR_",    12 },
-                       { "$_XNOR_",   12 },
-                       { "$_AOI3_",    6 },
-                       { "$_OAI3_",    6 },
-                       { "$_AOI4_",    8 },
-                       { "$_OAI4_",    8 },
-                       { "$_MUX_",    12 },
-                       { "$_NMUX_",   10 }
+                       { ID($_BUF_),     1 },
+                       { ID($_NOT_),     2 },
+                       { ID($_AND_),     6 },
+                       { ID($_NAND_),    4 },
+                       { ID($_OR_),      6 },
+                       { ID($_NOR_),     4 },
+                       { ID($_ANDNOT_),  6 },
+                       { ID($_ORNOT_),   6 },
+                       { ID($_XOR_),    12 },
+                       { ID($_XNOR_),   12 },
+                       { ID($_AOI3_),    6 },
+                       { ID($_OAI3_),    6 },
+                       { ID($_AOI4_),    8 },
+                       { ID($_OAI4_),    8 },
+                       { ID($_MUX_),    12 },
+                       { ID($_NMUX_),   10 }
                };
                return db;
        }
@@ -92,8 +92,8 @@ struct CellCosts
                {
                        RTLIL::Module *mod = design->module(cell->type);
 
-                       if (mod->attributes.count("\\cost"))
-                               return mod->attributes.at("\\cost").as_int();
+                       if (mod->attributes.count(ID(cost)))
+                               return mod->attributes.at(ID(cost)).as_int();
 
                        if (mod_cost_cache.count(mod->name))
                                return mod_cost_cache.at(mod->name);