// -*- C++ -*- //************************************************************************* // DESCRIPTION: Verilator: Node attributes/ expression widths // // Code available from: http://www.veripool.org/verilator // // AUTHORS: Wilson Snyder with Paul Wasson, Duane Gabli // //************************************************************************* // // Copyright 2003-2009 by Wilson Snyder. This program is free software; you can // redistribute it and/or modify it under the terms of either the GNU // General Public License or the Perl Artistic License. // // Verilator is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // //************************************************************************* #ifndef _V3WIDTH_H_ #define _V3WIDTH_H_ 1 #include "config_build.h" #include "verilatedos.h" #include "V3Error.h" #include "V3Ast.h" //============================================================================ class V3Width { public: static void width(AstNetlist* nodep); // Smaller step... Only do a single node for parameter propagation static void widthParams(AstNode* nodep); // Final step... Mark all widths as equal static void widthCommit(AstNode* nodep); }; #endif // Guard