OpenSTA/include/sta/VerilogReader.hh

302 lines
9.7 KiB
C++
Raw Normal View History

verilog c++ parser commit 6fac3fee87a3309132b5bdbb731292ecd6410a86 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 21 18:24:18 2025 -0700 Sta use VerilogReader class Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 05d4bce4bcfcfaa07392b237a596a82315b895b3 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 21 15:14:29 2025 -0700 vparse Signed-off-by: James Cherry <cherry@parallaxsw.com> commit e977e89b62191688db5c815131fc389d9ce401c5 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 21 11:30:46 2025 -0700 write_verilog missing port ddcl Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 1742d5d92533559235ea4c42d9ea4bf2d47fb943 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 21 11:23:48 2025 -0700 verilog escape constexpr Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 226a23092312a37503100d49ab74d4fb1e5856ef Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 20 09:34:32 2025 -0700 comment Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 63ca4ac5855710427e1ddfc5c2cba8998452d1f0 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 19 19:45:48 2025 -0700 leaks Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c1d38aa0cc983204b1bb3f49944709e74c831be7 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 19 13:26:07 2025 -0700 verilog std::string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 22607b41b9eb9fc71d53214893150afb757a8a56 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 19 11:36:23 2025 -0700 verilog std::string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit dba2bc939fc58d465229cc2d474705151cd50d05 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 19 10:01:14 2025 -0700 verilog std::string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 7d449041a2b75b874038af377d46130b45195a00 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 19 09:18:55 2025 -0700 verilog std::string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit d02495222838f037f25d131ce1b270a6121cf16f Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 19 08:53:47 2025 -0700 verilog std::string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 10c5c1040f26c8ebe295d245a641fc913e0ec9f5 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 18 21:50:12 2025 -0700 verlog constant use std::string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 21943c1b63fd36d12de1e5986905e14fe73ce7be Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 18 17:41:43 2025 -0700 verilog std::string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c0232b71ea5137b37d055d83f3da194341aed7a0 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 18 17:12:47 2025 -0700 verilog std::string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c68fd0329ee35b4877763bcdc82e8fe03a3b16de Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 18 16:54:10 2025 -0700 verilog std::string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 3e2dca2140db42acce390ec1a18f29ee4de3c631 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 18 16:07:19 2025 -0700 vparse const Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 210196f9e5a63dfdd5ed45a418388b7ec74ade07 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 18 12:31:13 2025 -0700 verilog parse centos7 Signed-off-by: James Cherry <cherry@parallaxsw.com> commit b8e1882121ac1763e767d299fd929bdfb07c5ffb Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 18 10:21:48 2025 -0700 verilog names string* Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c455723c5801d2d7386e7d1d53a0f9fb501c0c03 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 18 09:51:47 2025 -0700 verilog reader names Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 47307b1d8a61abab91195969be8708a7646bbfe3 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 18 09:21:30 2025 -0700 valgrind Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 0de49ba76cb0d1e06f93868676b73b4cd2ee609e Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 15 16:50:56 2025 -0700 suppress yynerrs_ warning Signed-off-by: James Cherry <cherry@parallaxsw.com> commit dbe2ba18d99d850ba5ebb1c75a4165bfff2df96d Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 15 16:37:14 2025 -0700 cmake bison target names Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 388be6c2aa69b839a53be78bafab420216554944 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 14 08:57:02 2025 -0700 network link func rm repor, network args Signed-off-by: James Cherry <cherry@parallaxsw.com> commit f50d5b23aff126e7d396a555f06eae5597ec1354 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 13 19:48:44 2025 -0700 verilog reader use gzstream Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8a0c8ce09087cceef36824de3656b5c7cea9f0f0 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 13 18:02:40 2025 -0700 VerilogScanner::error Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 413093e46e523d90e45a4c56ecaa25e4457998aa Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 10 18:27:53 2025 -0700 rm verilog_network Signed-off-by: James Cherry <cherry@parallaxsw.com> commit aef8358a8f44e556a3814e9ddd205e179bf2b3d7 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 10 18:01:09 2025 -0700 rm verilog_reader except link Signed-off-by: James Cherry <cherry@parallaxsw.com> commit cfc34aa41a5fe1942867c73061ae483e36c74f54 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 10 17:04:33 2025 -0700 verilog reader rm line_ Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 62dd98b7cb800acc61192b0f326d4a3278e1a72d Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 10 16:26:09 2025 -0700 verilog parse use location Signed-off-by: James Cherry <cherry@parallaxsw.com> commit ad6c26984526312134d03c0f39d3fcd63617efa4 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 4 11:04:16 2025 -0800 verilog parse error Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 1bff12c8c49c847de015dd32042cccf7952a2060 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 4 08:00:40 2025 -0800 attribute -> Attr Signed-off-by: James Cherry <cherry@parallaxsw.com> commit e8372df18a5374b2c9ca8f094a244d06c59a9f4e Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 3 17:57:21 2025 -0800 verilog rm string_buf Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 785818f10108f689b4ea978a13d0131546f1a4e5 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 3 16:10:10 2025 -0800 verilog parse use std::string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 95265fc4ad30325f115eb69d10c77afe3f265701 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 3 15:44:31 2025 -0800 verilog parser const char * -> string* Signed-off-by: James Cherry <cherry@parallaxsw.com> commit b80db6d98057363f90a9497b10073f84c2e7cc3d Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 2 08:31:06 2025 -0800 bison warning Signed-off-by: James Cherry <cherry@parallaxsw.com> commit df3b61bf7d590c241ee513eacfb1c7dff2a450d8 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 1 17:04:17 2025 -0800 verilog parse works Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8b5a8fbb7042ceb58fbb24b836664a1da6028c45 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 1 16:15:44 2025 -0800 rm VerilogParser.hh Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 07bc0cc9c160e9dbe705f4c359973cc35342e05e Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 1 15:59:57 2025 -0800 verlog parse compiles Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8d32f5f3d5e6a252cdb2020c62742f01b1c66f63 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Dec 30 09:14:13 2024 -0800 verilog parser Signed-off-by: James Cherry <cherry@parallaxsw.com> Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-01-22 02:35:21 +01:00
// OpenSTA, Static Timing Analyzer
// Copyright (c) 2025, Parallax Software, Inc.
verilog c++ parser commit 6fac3fee87a3309132b5bdbb731292ecd6410a86 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 21 18:24:18 2025 -0700 Sta use VerilogReader class Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 05d4bce4bcfcfaa07392b237a596a82315b895b3 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 21 15:14:29 2025 -0700 vparse Signed-off-by: James Cherry <cherry@parallaxsw.com> commit e977e89b62191688db5c815131fc389d9ce401c5 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 21 11:30:46 2025 -0700 write_verilog missing port ddcl Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 1742d5d92533559235ea4c42d9ea4bf2d47fb943 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 21 11:23:48 2025 -0700 verilog escape constexpr Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 226a23092312a37503100d49ab74d4fb1e5856ef Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 20 09:34:32 2025 -0700 comment Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 63ca4ac5855710427e1ddfc5c2cba8998452d1f0 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 19 19:45:48 2025 -0700 leaks Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c1d38aa0cc983204b1bb3f49944709e74c831be7 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 19 13:26:07 2025 -0700 verilog std::string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 22607b41b9eb9fc71d53214893150afb757a8a56 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 19 11:36:23 2025 -0700 verilog std::string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit dba2bc939fc58d465229cc2d474705151cd50d05 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 19 10:01:14 2025 -0700 verilog std::string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 7d449041a2b75b874038af377d46130b45195a00 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 19 09:18:55 2025 -0700 verilog std::string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit d02495222838f037f25d131ce1b270a6121cf16f Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 19 08:53:47 2025 -0700 verilog std::string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 10c5c1040f26c8ebe295d245a641fc913e0ec9f5 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 18 21:50:12 2025 -0700 verlog constant use std::string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 21943c1b63fd36d12de1e5986905e14fe73ce7be Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 18 17:41:43 2025 -0700 verilog std::string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c0232b71ea5137b37d055d83f3da194341aed7a0 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 18 17:12:47 2025 -0700 verilog std::string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c68fd0329ee35b4877763bcdc82e8fe03a3b16de Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 18 16:54:10 2025 -0700 verilog std::string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 3e2dca2140db42acce390ec1a18f29ee4de3c631 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 18 16:07:19 2025 -0700 vparse const Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 210196f9e5a63dfdd5ed45a418388b7ec74ade07 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 18 12:31:13 2025 -0700 verilog parse centos7 Signed-off-by: James Cherry <cherry@parallaxsw.com> commit b8e1882121ac1763e767d299fd929bdfb07c5ffb Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 18 10:21:48 2025 -0700 verilog names string* Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c455723c5801d2d7386e7d1d53a0f9fb501c0c03 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 18 09:51:47 2025 -0700 verilog reader names Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 47307b1d8a61abab91195969be8708a7646bbfe3 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 18 09:21:30 2025 -0700 valgrind Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 0de49ba76cb0d1e06f93868676b73b4cd2ee609e Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 15 16:50:56 2025 -0700 suppress yynerrs_ warning Signed-off-by: James Cherry <cherry@parallaxsw.com> commit dbe2ba18d99d850ba5ebb1c75a4165bfff2df96d Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 15 16:37:14 2025 -0700 cmake bison target names Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 388be6c2aa69b839a53be78bafab420216554944 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 14 08:57:02 2025 -0700 network link func rm repor, network args Signed-off-by: James Cherry <cherry@parallaxsw.com> commit f50d5b23aff126e7d396a555f06eae5597ec1354 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 13 19:48:44 2025 -0700 verilog reader use gzstream Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8a0c8ce09087cceef36824de3656b5c7cea9f0f0 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 13 18:02:40 2025 -0700 VerilogScanner::error Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 413093e46e523d90e45a4c56ecaa25e4457998aa Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 10 18:27:53 2025 -0700 rm verilog_network Signed-off-by: James Cherry <cherry@parallaxsw.com> commit aef8358a8f44e556a3814e9ddd205e179bf2b3d7 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 10 18:01:09 2025 -0700 rm verilog_reader except link Signed-off-by: James Cherry <cherry@parallaxsw.com> commit cfc34aa41a5fe1942867c73061ae483e36c74f54 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 10 17:04:33 2025 -0700 verilog reader rm line_ Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 62dd98b7cb800acc61192b0f326d4a3278e1a72d Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 10 16:26:09 2025 -0700 verilog parse use location Signed-off-by: James Cherry <cherry@parallaxsw.com> commit ad6c26984526312134d03c0f39d3fcd63617efa4 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 4 11:04:16 2025 -0800 verilog parse error Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 1bff12c8c49c847de015dd32042cccf7952a2060 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 4 08:00:40 2025 -0800 attribute -> Attr Signed-off-by: James Cherry <cherry@parallaxsw.com> commit e8372df18a5374b2c9ca8f094a244d06c59a9f4e Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 3 17:57:21 2025 -0800 verilog rm string_buf Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 785818f10108f689b4ea978a13d0131546f1a4e5 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 3 16:10:10 2025 -0800 verilog parse use std::string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 95265fc4ad30325f115eb69d10c77afe3f265701 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 3 15:44:31 2025 -0800 verilog parser const char * -> string* Signed-off-by: James Cherry <cherry@parallaxsw.com> commit b80db6d98057363f90a9497b10073f84c2e7cc3d Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 2 08:31:06 2025 -0800 bison warning Signed-off-by: James Cherry <cherry@parallaxsw.com> commit df3b61bf7d590c241ee513eacfb1c7dff2a450d8 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 1 17:04:17 2025 -0800 verilog parse works Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8b5a8fbb7042ceb58fbb24b836664a1da6028c45 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 1 16:15:44 2025 -0800 rm VerilogParser.hh Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 07bc0cc9c160e9dbe705f4c359973cc35342e05e Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 1 15:59:57 2025 -0800 verlog parse compiles Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8d32f5f3d5e6a252cdb2020c62742f01b1c66f63 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Dec 30 09:14:13 2024 -0800 verilog parser Signed-off-by: James Cherry <cherry@parallaxsw.com> Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-01-22 02:35:21 +01:00
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program 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.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
//
// The origin of this software must not be misrepresented; you must not
// claim that you wrote the original software.
//
// Altered source versions must be plainly marked as such, and must not be
// misrepresented as being the original software.
//
// This notice may not be removed or altered from any source distribution.
verilog c++ parser commit 6fac3fee87a3309132b5bdbb731292ecd6410a86 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 21 18:24:18 2025 -0700 Sta use VerilogReader class Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 05d4bce4bcfcfaa07392b237a596a82315b895b3 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 21 15:14:29 2025 -0700 vparse Signed-off-by: James Cherry <cherry@parallaxsw.com> commit e977e89b62191688db5c815131fc389d9ce401c5 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 21 11:30:46 2025 -0700 write_verilog missing port ddcl Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 1742d5d92533559235ea4c42d9ea4bf2d47fb943 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 21 11:23:48 2025 -0700 verilog escape constexpr Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 226a23092312a37503100d49ab74d4fb1e5856ef Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 20 09:34:32 2025 -0700 comment Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 63ca4ac5855710427e1ddfc5c2cba8998452d1f0 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 19 19:45:48 2025 -0700 leaks Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c1d38aa0cc983204b1bb3f49944709e74c831be7 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 19 13:26:07 2025 -0700 verilog std::string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 22607b41b9eb9fc71d53214893150afb757a8a56 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 19 11:36:23 2025 -0700 verilog std::string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit dba2bc939fc58d465229cc2d474705151cd50d05 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 19 10:01:14 2025 -0700 verilog std::string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 7d449041a2b75b874038af377d46130b45195a00 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 19 09:18:55 2025 -0700 verilog std::string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit d02495222838f037f25d131ce1b270a6121cf16f Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 19 08:53:47 2025 -0700 verilog std::string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 10c5c1040f26c8ebe295d245a641fc913e0ec9f5 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 18 21:50:12 2025 -0700 verlog constant use std::string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 21943c1b63fd36d12de1e5986905e14fe73ce7be Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 18 17:41:43 2025 -0700 verilog std::string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c0232b71ea5137b37d055d83f3da194341aed7a0 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 18 17:12:47 2025 -0700 verilog std::string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c68fd0329ee35b4877763bcdc82e8fe03a3b16de Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 18 16:54:10 2025 -0700 verilog std::string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 3e2dca2140db42acce390ec1a18f29ee4de3c631 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 18 16:07:19 2025 -0700 vparse const Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 210196f9e5a63dfdd5ed45a418388b7ec74ade07 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 18 12:31:13 2025 -0700 verilog parse centos7 Signed-off-by: James Cherry <cherry@parallaxsw.com> commit b8e1882121ac1763e767d299fd929bdfb07c5ffb Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 18 10:21:48 2025 -0700 verilog names string* Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c455723c5801d2d7386e7d1d53a0f9fb501c0c03 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 18 09:51:47 2025 -0700 verilog reader names Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 47307b1d8a61abab91195969be8708a7646bbfe3 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 18 09:21:30 2025 -0700 valgrind Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 0de49ba76cb0d1e06f93868676b73b4cd2ee609e Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 15 16:50:56 2025 -0700 suppress yynerrs_ warning Signed-off-by: James Cherry <cherry@parallaxsw.com> commit dbe2ba18d99d850ba5ebb1c75a4165bfff2df96d Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 15 16:37:14 2025 -0700 cmake bison target names Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 388be6c2aa69b839a53be78bafab420216554944 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 14 08:57:02 2025 -0700 network link func rm repor, network args Signed-off-by: James Cherry <cherry@parallaxsw.com> commit f50d5b23aff126e7d396a555f06eae5597ec1354 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 13 19:48:44 2025 -0700 verilog reader use gzstream Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8a0c8ce09087cceef36824de3656b5c7cea9f0f0 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 13 18:02:40 2025 -0700 VerilogScanner::error Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 413093e46e523d90e45a4c56ecaa25e4457998aa Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 10 18:27:53 2025 -0700 rm verilog_network Signed-off-by: James Cherry <cherry@parallaxsw.com> commit aef8358a8f44e556a3814e9ddd205e179bf2b3d7 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 10 18:01:09 2025 -0700 rm verilog_reader except link Signed-off-by: James Cherry <cherry@parallaxsw.com> commit cfc34aa41a5fe1942867c73061ae483e36c74f54 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 10 17:04:33 2025 -0700 verilog reader rm line_ Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 62dd98b7cb800acc61192b0f326d4a3278e1a72d Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 10 16:26:09 2025 -0700 verilog parse use location Signed-off-by: James Cherry <cherry@parallaxsw.com> commit ad6c26984526312134d03c0f39d3fcd63617efa4 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 4 11:04:16 2025 -0800 verilog parse error Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 1bff12c8c49c847de015dd32042cccf7952a2060 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 4 08:00:40 2025 -0800 attribute -> Attr Signed-off-by: James Cherry <cherry@parallaxsw.com> commit e8372df18a5374b2c9ca8f094a244d06c59a9f4e Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 3 17:57:21 2025 -0800 verilog rm string_buf Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 785818f10108f689b4ea978a13d0131546f1a4e5 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 3 16:10:10 2025 -0800 verilog parse use std::string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 95265fc4ad30325f115eb69d10c77afe3f265701 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 3 15:44:31 2025 -0800 verilog parser const char * -> string* Signed-off-by: James Cherry <cherry@parallaxsw.com> commit b80db6d98057363f90a9497b10073f84c2e7cc3d Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 2 08:31:06 2025 -0800 bison warning Signed-off-by: James Cherry <cherry@parallaxsw.com> commit df3b61bf7d590c241ee513eacfb1c7dff2a450d8 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 1 17:04:17 2025 -0800 verilog parse works Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8b5a8fbb7042ceb58fbb24b836664a1da6028c45 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 1 16:15:44 2025 -0800 rm VerilogParser.hh Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 07bc0cc9c160e9dbe705f4c359973cc35342e05e Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 1 15:59:57 2025 -0800 verlog parse compiles Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8d32f5f3d5e6a252cdb2020c62742f01b1c66f63 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Dec 30 09:14:13 2024 -0800 verilog parser Signed-off-by: James Cherry <cherry@parallaxsw.com> Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-01-22 02:35:21 +01:00
#pragma once
#include <string>
#include "StringSet.hh"
#include "Vector.hh"
#include "Map.hh"
#include "NetworkClass.hh"
namespace sta {
class VerilogScanner;
class VerilogParse;
class Debug;
class Report;
class VerilogAttrEntry;
class VerilogAttrStmt;
class VerilogReader;
class VerilogStmt;
class VerilogNet;
class VerilogNetScalar;
class VerilogModule;
class VerilogInst;
class VerilogModuleInst;
class VerilogLibertyInst;
class VerilogDcl;
class VerilogDclBus;
class VerilogDclArg;
class VerilogAssign;
class VerilogNetConcat;
class VerilogNetConstant;
class VerilogNetBitSelect;
class VerilogNetPartSelect;
class StringRegistry;
class VerilogBindingTbl;
class VerilogNetNameIterator;
class VerilogNetPortRef;
class VerilogError;
class LibertyCell;
typedef Map<Cell*, VerilogModule*> VerilogModuleMap;
typedef Vector<VerilogStmt*> VerilogStmtSeq;
typedef Vector<VerilogNet*> VerilogNetSeq;
typedef Vector<VerilogDclArg*> VerilogDclArgSeq;
typedef Vector<VerilogAttrStmt*> VerilogAttrStmtSeq;
typedef Vector<VerilogAttrEntry*> VerilogAttrEntrySeq;
typedef Vector<VerilogError*> VerilogErrorSeq;
using std::string;
using std::vector;
using std::set;
class VerilogReader
{
public:
VerilogReader(NetworkReader *network);
~VerilogReader();
bool read(const char *filename);
void makeModule(const string *module_name,
VerilogNetSeq *ports,
VerilogStmtSeq *stmts,
VerilogAttrStmtSeq *attr_stmts,
int line);
void makeModule(const string *module_name,
VerilogStmtSeq *port_dcls,
VerilogStmtSeq *stmts,
VerilogAttrStmtSeq *attr_stmts,
int line);
VerilogDcl *makeDcl(PortDirection *dir,
VerilogDclArgSeq *args,
VerilogAttrStmtSeq *attr_stmts,
int line);
VerilogDcl *makeDcl(PortDirection *dir,
VerilogDclArg *arg,
VerilogAttrStmtSeq *attr_stmts,
int line);
VerilogDclArg *makeDclArg(const string *net_name);
VerilogDclArg*makeDclArg(VerilogAssign *assign);
VerilogDclBus *makeDclBus(PortDirection *dir,
int from_index,
int to_index,
VerilogDclArg *arg,
VerilogAttrStmtSeq *attr_stmts,
int line);
VerilogDclBus *makeDclBus(PortDirection *dir,
int from_index,
int to_index,
VerilogDclArgSeq *args,
VerilogAttrStmtSeq *attr_stmts,
int line);
VerilogInst *makeModuleInst(const string *module_name,
const string *inst_name,
VerilogNetSeq *pins,
VerilogAttrStmtSeq *attr_stmts,
const int line);
VerilogAssign *makeAssign(VerilogNet *lhs,
VerilogNet *rhs,
int line);
VerilogNetScalar *makeNetScalar(const string *name);
VerilogNetPortRef *makeNetNamedPortRefScalarNet(const string *port_vname);
VerilogNetPortRef *makeNetNamedPortRefScalarNet(const string *port_name,
const string *net_name);
VerilogNetPortRef *makeNetNamedPortRefBitSelect(const string *port_name,
const string *bus_name,
int index);
VerilogNetPortRef *makeNetNamedPortRefScalar(const string *port_name,
VerilogNet *net);
VerilogNetPortRef *makeNetNamedPortRefBit(const string *port_name,
int index,
VerilogNet *net);
VerilogNetPortRef *makeNetNamedPortRefPart(const string *port_name,
int from_index,
int to_index,
VerilogNet *net);
VerilogNetConcat *makeNetConcat(VerilogNetSeq *nets);
VerilogNetConstant *makeNetConstant(const string *constant,
int line);
VerilogNetBitSelect *makeNetBitSelect(const string *name,
int index);
VerilogNetPartSelect *makeNetPartSelect(const string *name,
int from_index,
int to_index);
VerilogModule *module(Cell *cell);
Instance *linkNetwork(const char *top_cell_name,
bool make_black_boxes,
bool delete_modules);
verilog c++ parser commit 6fac3fee87a3309132b5bdbb731292ecd6410a86 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 21 18:24:18 2025 -0700 Sta use VerilogReader class Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 05d4bce4bcfcfaa07392b237a596a82315b895b3 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 21 15:14:29 2025 -0700 vparse Signed-off-by: James Cherry <cherry@parallaxsw.com> commit e977e89b62191688db5c815131fc389d9ce401c5 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 21 11:30:46 2025 -0700 write_verilog missing port ddcl Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 1742d5d92533559235ea4c42d9ea4bf2d47fb943 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 21 11:23:48 2025 -0700 verilog escape constexpr Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 226a23092312a37503100d49ab74d4fb1e5856ef Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 20 09:34:32 2025 -0700 comment Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 63ca4ac5855710427e1ddfc5c2cba8998452d1f0 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 19 19:45:48 2025 -0700 leaks Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c1d38aa0cc983204b1bb3f49944709e74c831be7 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 19 13:26:07 2025 -0700 verilog std::string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 22607b41b9eb9fc71d53214893150afb757a8a56 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 19 11:36:23 2025 -0700 verilog std::string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit dba2bc939fc58d465229cc2d474705151cd50d05 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 19 10:01:14 2025 -0700 verilog std::string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 7d449041a2b75b874038af377d46130b45195a00 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 19 09:18:55 2025 -0700 verilog std::string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit d02495222838f037f25d131ce1b270a6121cf16f Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 19 08:53:47 2025 -0700 verilog std::string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 10c5c1040f26c8ebe295d245a641fc913e0ec9f5 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 18 21:50:12 2025 -0700 verlog constant use std::string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 21943c1b63fd36d12de1e5986905e14fe73ce7be Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 18 17:41:43 2025 -0700 verilog std::string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c0232b71ea5137b37d055d83f3da194341aed7a0 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 18 17:12:47 2025 -0700 verilog std::string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c68fd0329ee35b4877763bcdc82e8fe03a3b16de Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 18 16:54:10 2025 -0700 verilog std::string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 3e2dca2140db42acce390ec1a18f29ee4de3c631 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 18 16:07:19 2025 -0700 vparse const Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 210196f9e5a63dfdd5ed45a418388b7ec74ade07 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 18 12:31:13 2025 -0700 verilog parse centos7 Signed-off-by: James Cherry <cherry@parallaxsw.com> commit b8e1882121ac1763e767d299fd929bdfb07c5ffb Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 18 10:21:48 2025 -0700 verilog names string* Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c455723c5801d2d7386e7d1d53a0f9fb501c0c03 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 18 09:51:47 2025 -0700 verilog reader names Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 47307b1d8a61abab91195969be8708a7646bbfe3 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 18 09:21:30 2025 -0700 valgrind Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 0de49ba76cb0d1e06f93868676b73b4cd2ee609e Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 15 16:50:56 2025 -0700 suppress yynerrs_ warning Signed-off-by: James Cherry <cherry@parallaxsw.com> commit dbe2ba18d99d850ba5ebb1c75a4165bfff2df96d Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 15 16:37:14 2025 -0700 cmake bison target names Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 388be6c2aa69b839a53be78bafab420216554944 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 14 08:57:02 2025 -0700 network link func rm repor, network args Signed-off-by: James Cherry <cherry@parallaxsw.com> commit f50d5b23aff126e7d396a555f06eae5597ec1354 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 13 19:48:44 2025 -0700 verilog reader use gzstream Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8a0c8ce09087cceef36824de3656b5c7cea9f0f0 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 13 18:02:40 2025 -0700 VerilogScanner::error Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 413093e46e523d90e45a4c56ecaa25e4457998aa Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 10 18:27:53 2025 -0700 rm verilog_network Signed-off-by: James Cherry <cherry@parallaxsw.com> commit aef8358a8f44e556a3814e9ddd205e179bf2b3d7 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 10 18:01:09 2025 -0700 rm verilog_reader except link Signed-off-by: James Cherry <cherry@parallaxsw.com> commit cfc34aa41a5fe1942867c73061ae483e36c74f54 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 10 17:04:33 2025 -0700 verilog reader rm line_ Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 62dd98b7cb800acc61192b0f326d4a3278e1a72d Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 10 16:26:09 2025 -0700 verilog parse use location Signed-off-by: James Cherry <cherry@parallaxsw.com> commit ad6c26984526312134d03c0f39d3fcd63617efa4 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 4 11:04:16 2025 -0800 verilog parse error Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 1bff12c8c49c847de015dd32042cccf7952a2060 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 4 08:00:40 2025 -0800 attribute -> Attr Signed-off-by: James Cherry <cherry@parallaxsw.com> commit e8372df18a5374b2c9ca8f094a244d06c59a9f4e Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 3 17:57:21 2025 -0800 verilog rm string_buf Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 785818f10108f689b4ea978a13d0131546f1a4e5 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 3 16:10:10 2025 -0800 verilog parse use std::string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 95265fc4ad30325f115eb69d10c77afe3f265701 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 3 15:44:31 2025 -0800 verilog parser const char * -> string* Signed-off-by: James Cherry <cherry@parallaxsw.com> commit b80db6d98057363f90a9497b10073f84c2e7cc3d Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 2 08:31:06 2025 -0800 bison warning Signed-off-by: James Cherry <cherry@parallaxsw.com> commit df3b61bf7d590c241ee513eacfb1c7dff2a450d8 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 1 17:04:17 2025 -0800 verilog parse works Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8b5a8fbb7042ceb58fbb24b836664a1da6028c45 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 1 16:15:44 2025 -0800 rm VerilogParser.hh Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 07bc0cc9c160e9dbe705f4c359973cc35342e05e Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 1 15:59:57 2025 -0800 verlog parse compiles Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8d32f5f3d5e6a252cdb2020c62742f01b1c66f63 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Dec 30 09:14:13 2024 -0800 verilog parser Signed-off-by: James Cherry <cherry@parallaxsw.com> Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-01-22 02:35:21 +01:00
const char *filename() const { return filename_.c_str(); }
void incrLine();
Report *report() const { return report_; }
void error(int id,
const char *filename,
int line,
const char *fmt, ...);
void warn(int id,
const char *filename,
int line,
const char *fmt, ...);
const string &zeroNetName() const { return zero_net_name_; }
const string &oneNetName() const { return one_net_name_; }
void deleteModules();
void reportStmtCounts();
const string &constant10Max() const { return constant10_max_; }
protected:
void init(const char *filename);
void makeCellPorts(Cell *cell,
VerilogModule *module,
VerilogNetSeq *ports);
Port *makeCellPort(Cell *cell,
VerilogModule *module,
const string &port_name);
void makeNamedPortRefCellPorts(Cell *cell,
VerilogModule *module,
VerilogNet *mod_port,
StdStringSet &port_names);
void checkModuleDcls(VerilogModule *module,
set<string> &port_names);
void makeModuleInstBody(VerilogModule *module,
Instance *inst,
VerilogBindingTbl *bindings,
bool make_black_boxes);
void makeModuleInstNetwork(VerilogModuleInst *mod_inst,
Instance *parent,
VerilogModule *parent_module,
VerilogBindingTbl *parent_bindings,
bool make_black_boxes);
void makeLibertyInst(VerilogLibertyInst *lib_inst,
Instance *parent,
VerilogModule *parent_module,
VerilogBindingTbl *parent_bindings);
void bindGlobalNets(VerilogBindingTbl *bindings);
void makeNamedInstPins1(Cell *cell,
Instance *inst,
VerilogModuleInst *mod_inst,
VerilogBindingTbl *bindings,
Instance *parent,
VerilogBindingTbl *parent_bindings,
bool is_leaf);
void makeNamedInstPins(Cell *cell,
Instance *inst,
VerilogModuleInst *mod_inst,
VerilogBindingTbl *bindings,
Instance *parent,
VerilogModule *parent_module,
VerilogBindingTbl *parent_bindings,
bool is_leaf);
void makeOrderedInstPins(Cell *cell,
Instance *inst,
VerilogModuleInst *mod_inst,
VerilogBindingTbl *bindings,
Instance *parent,
VerilogModule *parent_module,
VerilogBindingTbl *parent_bindings,
bool is_leaf);
void mergeAssignNet(VerilogAssign *assign,
VerilogModule *module,
Instance *inst,
VerilogBindingTbl *bindings);
void makeInstPin(Instance *inst,
Port *port,
VerilogNetNameIterator *net_name_iter,
VerilogBindingTbl *bindings,
Instance *parent,
VerilogBindingTbl *parent_bindings,
bool is_leaf);
void makeInstPin(Instance *inst,
Port *port,
const string &net_name,
VerilogBindingTbl *bindings,
Instance *parent,
VerilogBindingTbl *parent_bindings,
bool is_leaf);
void linkWarn(int id,
const char *filename,
int line,
const char *msg, ...)
__attribute__((format (printf, 5, 6)));
void linkError(int id,
const char *filename,
int line,
const char *msg, ...)
__attribute__((format (printf, 5, 6)));
bool reportLinkErrors();
bool haveLinkErrors();
Cell *makeBlackBox(VerilogModuleInst *mod_inst,
VerilogModule *parent_module);
void makeBlackBoxNamedPorts(Cell *cell,
VerilogModuleInst *mod_inst,
VerilogModule *parent_module);
void makeBlackBoxOrderedPorts(Cell *cell,
VerilogModuleInst *mod_inst,
VerilogModule *parent_module);
bool isBlackBox(Cell *cell);
bool hasScalarNamedPortRefs(LibertyCell *liberty_cell,
VerilogNetSeq *pins);
string filename_;
Report *report_;
Debug *debug_;
NetworkReader *network_;
Library *library_;
int black_box_index_;
VerilogModuleMap module_map_;
VerilogErrorSeq link_errors_;
const string zero_net_name_;
const string one_net_name_;
string constant10_max_;
ViewType *view_type_;
bool report_stmt_stats_;
int module_count_;
int inst_mod_count_;
int inst_lib_count_;
int inst_lib_net_arrays_;
int port_names_;
int inst_module_names_;
int inst_names_;
int dcl_count_;
int dcl_bus_count_;
int dcl_arg_count_;
int net_scalar_count_;
int net_scalar_names_;
int net_bus_names_;
int net_part_select_count_;
int net_bit_select_count_;
int net_port_ref_scalar_count_;
int net_port_ref_scalar_net_count_;
int net_port_ref_bit_count_;
int net_port_ref_part_count_;
int net_constant_count_;
int assign_count_;
int concat_count_;
};
} // namespace sta