OpenSTA/power/VcdParse.cc

335 lines
8.4 KiB
C++
Raw Normal View History

read_vcd, report_activity_annotation resolves #162 resolves $158 commit 02be8357f8ba158292faab0e8d8b8d220e69c842 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 15 15:59:20 2025 -0700 sort regressions Signed-off-by: James Cherry <cherry@parallaxsw.com> commit b0e1d863d34853b70d342c6bb0baa400a08db207 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 15 15:44:07 2025 -0700 PowerResult::incf* Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 23ed0ed05d8bbf83cc5b6fa7598f1253cbe2b222 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 12 17:49:24 2025 -0700 gzip vcd/saif Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a5a1a7b80e00b2deb51505b2e60312e3c29284fe Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 12 17:12:09 2025 -0700 report_activity_annotation sort pins Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 6c149cc6d66addda4eee5f56dbe4731876f1efa9 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 12 16:47:02 2025 -0700 vcd/saif do not annotate internal pins Signed-off-by: James Cherry <cherry@parallaxsw.com> commit fe8c7c7fc7b2878cb16c7d2a57e1161555f9a36f Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 11 17:09:22 2025 -0700 report_activity_annotation Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8a8f87ba05c6c6f31017288d573c23e92cac4f9e Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 10 11:57:22 2025 -0700 ReadVcdActivies factor VcdCountReader Signed-off-by: James Cherry <cherry@parallaxsw.com> commit aa70ae987c4a749e53ae2f93c8ff04a3c28b0b08 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 10 09:06:09 2025 -0700 vcd high time Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 242493e992949ee72493f4f15a0fe92630ad2f03 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 9 17:14:02 2025 -0700 comment Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8621a83d7abf5efcf54c24a1a16bba0c8eb5e441 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 9 17:11:22 2025 -0700 ReadVcdActivities rm sta_ Signed-off-by: James Cherry <cherry@parallaxsw.com> commit fc0327c39c5aef6d09580795f6a13abf9b9f8266 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 9 09:36:30 2025 -0700 var name Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a5b6e2ac66cef9355a9a87edcc185b483f5781ce Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 9 08:23:50 2025 -0700 vcd passes Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c0f6d268542b3dd431882cfa4e3d131d6d2fb933 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 20:19:27 2025 -0700 vcd Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8181e206ee39e4c3fdd69ef1d3463092763c3d2b Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 19:41:59 2025 -0700 vcd debug Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 652736654b853d1f7fb64545c6a48500e1e3b83f Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 19:17:06 2025 -0700 vcd bus support Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 03c877512d92b0148fd62cbc636da58ef6fb25ff Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 19:11:21 2025 -0700 vcd Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 53bbd97a28d619ca87a546f34a3643c227b9df78 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 16:02:47 2025 -0700 rm Vcd structs, ReadVcdActivities -> VcdReader Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 745efff41221c3b06ba19931e4f8a58e5b0758ae Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 15:46:49 2025 -0700 vcd skip hpins Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a9a6177e8b671f0619809611984ed16f2d1a5b7a Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 15:39:41 2025 -0700 ReadVcdActivies rm vcd_ Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8b51b13b02c257d10385312d246e0da1f11b72f2 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 15:28:31 2025 -0700 power_vcd1 passes Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 744669797d1a4189c417d9d2f359cbd1f5bc7113 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 10:16:35 2025 -0700 vcd Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 0f0aeac1cd8349302b758ce4b79fd753063565f2 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 6 16:20:13 2025 -0800 vcd reader Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 01d296ce9b3ad8ac7e6dddf28a41a718b4138869 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 5 16:08:41 2025 -0800 vcd rm max_var_width Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 9ffdb19074e5c38464b88ead0ec751ae7d3c506c Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 5 16:03:06 2025 -0800 vcd rm max_var_name_length_ Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 5c577143d4a166bd133a9d97d1761b52b8e122dd Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 5 15:58:29 2025 -0800 ReadVcdActivities isa VcdReader Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 6914405d0799b967a92634fe1aa251aaea4cdfbc Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 4 17:24:57 2025 -0800 vcd parse rm StaState dependence Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a0bd7aa5eee2e87c883776bf4840d117335e4a8b Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 4 16:41:55 2025 -0800 vcd headers Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 4842d19d7a5c47d6ee46f297cb9404ab77fe2662 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 4 15:59:46 2025 -0800 refactor vcd parser Signed-off-by: James Cherry <cherry@parallaxsw.com> Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-01-16 00:20:21 +01:00
// OpenSTA, Static Timing Analyzer
// Copyright (c) 2025, Parallax Software, Inc.
read_vcd, report_activity_annotation resolves #162 resolves $158 commit 02be8357f8ba158292faab0e8d8b8d220e69c842 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 15 15:59:20 2025 -0700 sort regressions Signed-off-by: James Cherry <cherry@parallaxsw.com> commit b0e1d863d34853b70d342c6bb0baa400a08db207 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 15 15:44:07 2025 -0700 PowerResult::incf* Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 23ed0ed05d8bbf83cc5b6fa7598f1253cbe2b222 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 12 17:49:24 2025 -0700 gzip vcd/saif Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a5a1a7b80e00b2deb51505b2e60312e3c29284fe Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 12 17:12:09 2025 -0700 report_activity_annotation sort pins Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 6c149cc6d66addda4eee5f56dbe4731876f1efa9 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 12 16:47:02 2025 -0700 vcd/saif do not annotate internal pins Signed-off-by: James Cherry <cherry@parallaxsw.com> commit fe8c7c7fc7b2878cb16c7d2a57e1161555f9a36f Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 11 17:09:22 2025 -0700 report_activity_annotation Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8a8f87ba05c6c6f31017288d573c23e92cac4f9e Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 10 11:57:22 2025 -0700 ReadVcdActivies factor VcdCountReader Signed-off-by: James Cherry <cherry@parallaxsw.com> commit aa70ae987c4a749e53ae2f93c8ff04a3c28b0b08 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 10 09:06:09 2025 -0700 vcd high time Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 242493e992949ee72493f4f15a0fe92630ad2f03 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 9 17:14:02 2025 -0700 comment Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8621a83d7abf5efcf54c24a1a16bba0c8eb5e441 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 9 17:11:22 2025 -0700 ReadVcdActivities rm sta_ Signed-off-by: James Cherry <cherry@parallaxsw.com> commit fc0327c39c5aef6d09580795f6a13abf9b9f8266 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 9 09:36:30 2025 -0700 var name Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a5b6e2ac66cef9355a9a87edcc185b483f5781ce Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 9 08:23:50 2025 -0700 vcd passes Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c0f6d268542b3dd431882cfa4e3d131d6d2fb933 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 20:19:27 2025 -0700 vcd Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8181e206ee39e4c3fdd69ef1d3463092763c3d2b Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 19:41:59 2025 -0700 vcd debug Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 652736654b853d1f7fb64545c6a48500e1e3b83f Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 19:17:06 2025 -0700 vcd bus support Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 03c877512d92b0148fd62cbc636da58ef6fb25ff Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 19:11:21 2025 -0700 vcd Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 53bbd97a28d619ca87a546f34a3643c227b9df78 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 16:02:47 2025 -0700 rm Vcd structs, ReadVcdActivities -> VcdReader Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 745efff41221c3b06ba19931e4f8a58e5b0758ae Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 15:46:49 2025 -0700 vcd skip hpins Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a9a6177e8b671f0619809611984ed16f2d1a5b7a Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 15:39:41 2025 -0700 ReadVcdActivies rm vcd_ Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8b51b13b02c257d10385312d246e0da1f11b72f2 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 15:28:31 2025 -0700 power_vcd1 passes Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 744669797d1a4189c417d9d2f359cbd1f5bc7113 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 10:16:35 2025 -0700 vcd Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 0f0aeac1cd8349302b758ce4b79fd753063565f2 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 6 16:20:13 2025 -0800 vcd reader Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 01d296ce9b3ad8ac7e6dddf28a41a718b4138869 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 5 16:08:41 2025 -0800 vcd rm max_var_width Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 9ffdb19074e5c38464b88ead0ec751ae7d3c506c Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 5 16:03:06 2025 -0800 vcd rm max_var_name_length_ Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 5c577143d4a166bd133a9d97d1761b52b8e122dd Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 5 15:58:29 2025 -0800 ReadVcdActivities isa VcdReader Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 6914405d0799b967a92634fe1aa251aaea4cdfbc Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 4 17:24:57 2025 -0800 vcd parse rm StaState dependence Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a0bd7aa5eee2e87c883776bf4840d117335e4a8b Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 4 16:41:55 2025 -0800 vcd headers Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 4842d19d7a5c47d6ee46f297cb9404ab77fe2662 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 4 15:59:46 2025 -0800 refactor vcd parser Signed-off-by: James Cherry <cherry@parallaxsw.com> Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-01-16 00:20: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.
read_vcd, report_activity_annotation resolves #162 resolves $158 commit 02be8357f8ba158292faab0e8d8b8d220e69c842 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 15 15:59:20 2025 -0700 sort regressions Signed-off-by: James Cherry <cherry@parallaxsw.com> commit b0e1d863d34853b70d342c6bb0baa400a08db207 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 15 15:44:07 2025 -0700 PowerResult::incf* Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 23ed0ed05d8bbf83cc5b6fa7598f1253cbe2b222 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 12 17:49:24 2025 -0700 gzip vcd/saif Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a5a1a7b80e00b2deb51505b2e60312e3c29284fe Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 12 17:12:09 2025 -0700 report_activity_annotation sort pins Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 6c149cc6d66addda4eee5f56dbe4731876f1efa9 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 12 16:47:02 2025 -0700 vcd/saif do not annotate internal pins Signed-off-by: James Cherry <cherry@parallaxsw.com> commit fe8c7c7fc7b2878cb16c7d2a57e1161555f9a36f Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 11 17:09:22 2025 -0700 report_activity_annotation Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8a8f87ba05c6c6f31017288d573c23e92cac4f9e Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 10 11:57:22 2025 -0700 ReadVcdActivies factor VcdCountReader Signed-off-by: James Cherry <cherry@parallaxsw.com> commit aa70ae987c4a749e53ae2f93c8ff04a3c28b0b08 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 10 09:06:09 2025 -0700 vcd high time Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 242493e992949ee72493f4f15a0fe92630ad2f03 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 9 17:14:02 2025 -0700 comment Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8621a83d7abf5efcf54c24a1a16bba0c8eb5e441 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 9 17:11:22 2025 -0700 ReadVcdActivities rm sta_ Signed-off-by: James Cherry <cherry@parallaxsw.com> commit fc0327c39c5aef6d09580795f6a13abf9b9f8266 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 9 09:36:30 2025 -0700 var name Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a5b6e2ac66cef9355a9a87edcc185b483f5781ce Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 9 08:23:50 2025 -0700 vcd passes Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c0f6d268542b3dd431882cfa4e3d131d6d2fb933 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 20:19:27 2025 -0700 vcd Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8181e206ee39e4c3fdd69ef1d3463092763c3d2b Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 19:41:59 2025 -0700 vcd debug Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 652736654b853d1f7fb64545c6a48500e1e3b83f Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 19:17:06 2025 -0700 vcd bus support Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 03c877512d92b0148fd62cbc636da58ef6fb25ff Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 19:11:21 2025 -0700 vcd Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 53bbd97a28d619ca87a546f34a3643c227b9df78 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 16:02:47 2025 -0700 rm Vcd structs, ReadVcdActivities -> VcdReader Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 745efff41221c3b06ba19931e4f8a58e5b0758ae Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 15:46:49 2025 -0700 vcd skip hpins Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a9a6177e8b671f0619809611984ed16f2d1a5b7a Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 15:39:41 2025 -0700 ReadVcdActivies rm vcd_ Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8b51b13b02c257d10385312d246e0da1f11b72f2 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 15:28:31 2025 -0700 power_vcd1 passes Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 744669797d1a4189c417d9d2f359cbd1f5bc7113 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 10:16:35 2025 -0700 vcd Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 0f0aeac1cd8349302b758ce4b79fd753063565f2 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 6 16:20:13 2025 -0800 vcd reader Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 01d296ce9b3ad8ac7e6dddf28a41a718b4138869 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 5 16:08:41 2025 -0800 vcd rm max_var_width Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 9ffdb19074e5c38464b88ead0ec751ae7d3c506c Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 5 16:03:06 2025 -0800 vcd rm max_var_name_length_ Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 5c577143d4a166bd133a9d97d1761b52b8e122dd Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 5 15:58:29 2025 -0800 ReadVcdActivities isa VcdReader Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 6914405d0799b967a92634fe1aa251aaea4cdfbc Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 4 17:24:57 2025 -0800 vcd parse rm StaState dependence Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a0bd7aa5eee2e87c883776bf4840d117335e4a8b Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 4 16:41:55 2025 -0800 vcd headers Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 4842d19d7a5c47d6ee46f297cb9404ab77fe2662 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 4 15:59:46 2025 -0800 refactor vcd parser Signed-off-by: James Cherry <cherry@parallaxsw.com> Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-01-16 00:20:21 +01:00
#include "VcdParse.hh"
#include <cctype>
#include <cinttypes>
#include "Stats.hh"
#include "Report.hh"
#include "Error.hh"
#include "EnumNameMap.hh"
namespace sta {
using std::vector;
using std::string;
read_vcd, report_activity_annotation resolves #162 resolves $158 commit 02be8357f8ba158292faab0e8d8b8d220e69c842 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 15 15:59:20 2025 -0700 sort regressions Signed-off-by: James Cherry <cherry@parallaxsw.com> commit b0e1d863d34853b70d342c6bb0baa400a08db207 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 15 15:44:07 2025 -0700 PowerResult::incf* Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 23ed0ed05d8bbf83cc5b6fa7598f1253cbe2b222 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 12 17:49:24 2025 -0700 gzip vcd/saif Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a5a1a7b80e00b2deb51505b2e60312e3c29284fe Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 12 17:12:09 2025 -0700 report_activity_annotation sort pins Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 6c149cc6d66addda4eee5f56dbe4731876f1efa9 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 12 16:47:02 2025 -0700 vcd/saif do not annotate internal pins Signed-off-by: James Cherry <cherry@parallaxsw.com> commit fe8c7c7fc7b2878cb16c7d2a57e1161555f9a36f Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 11 17:09:22 2025 -0700 report_activity_annotation Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8a8f87ba05c6c6f31017288d573c23e92cac4f9e Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 10 11:57:22 2025 -0700 ReadVcdActivies factor VcdCountReader Signed-off-by: James Cherry <cherry@parallaxsw.com> commit aa70ae987c4a749e53ae2f93c8ff04a3c28b0b08 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 10 09:06:09 2025 -0700 vcd high time Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 242493e992949ee72493f4f15a0fe92630ad2f03 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 9 17:14:02 2025 -0700 comment Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8621a83d7abf5efcf54c24a1a16bba0c8eb5e441 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 9 17:11:22 2025 -0700 ReadVcdActivities rm sta_ Signed-off-by: James Cherry <cherry@parallaxsw.com> commit fc0327c39c5aef6d09580795f6a13abf9b9f8266 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 9 09:36:30 2025 -0700 var name Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a5b6e2ac66cef9355a9a87edcc185b483f5781ce Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 9 08:23:50 2025 -0700 vcd passes Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c0f6d268542b3dd431882cfa4e3d131d6d2fb933 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 20:19:27 2025 -0700 vcd Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8181e206ee39e4c3fdd69ef1d3463092763c3d2b Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 19:41:59 2025 -0700 vcd debug Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 652736654b853d1f7fb64545c6a48500e1e3b83f Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 19:17:06 2025 -0700 vcd bus support Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 03c877512d92b0148fd62cbc636da58ef6fb25ff Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 19:11:21 2025 -0700 vcd Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 53bbd97a28d619ca87a546f34a3643c227b9df78 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 16:02:47 2025 -0700 rm Vcd structs, ReadVcdActivities -> VcdReader Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 745efff41221c3b06ba19931e4f8a58e5b0758ae Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 15:46:49 2025 -0700 vcd skip hpins Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a9a6177e8b671f0619809611984ed16f2d1a5b7a Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 15:39:41 2025 -0700 ReadVcdActivies rm vcd_ Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8b51b13b02c257d10385312d246e0da1f11b72f2 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 15:28:31 2025 -0700 power_vcd1 passes Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 744669797d1a4189c417d9d2f359cbd1f5bc7113 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 10:16:35 2025 -0700 vcd Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 0f0aeac1cd8349302b758ce4b79fd753063565f2 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 6 16:20:13 2025 -0800 vcd reader Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 01d296ce9b3ad8ac7e6dddf28a41a718b4138869 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 5 16:08:41 2025 -0800 vcd rm max_var_width Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 9ffdb19074e5c38464b88ead0ec751ae7d3c506c Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 5 16:03:06 2025 -0800 vcd rm max_var_name_length_ Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 5c577143d4a166bd133a9d97d1761b52b8e122dd Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 5 15:58:29 2025 -0800 ReadVcdActivities isa VcdReader Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 6914405d0799b967a92634fe1aa251aaea4cdfbc Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 4 17:24:57 2025 -0800 vcd parse rm StaState dependence Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a0bd7aa5eee2e87c883776bf4840d117335e4a8b Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 4 16:41:55 2025 -0800 vcd headers Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 4842d19d7a5c47d6ee46f297cb9404ab77fe2662 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 4 15:59:46 2025 -0800 refactor vcd parser Signed-off-by: James Cherry <cherry@parallaxsw.com> Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-01-16 00:20:21 +01:00
using std::isspace;
// Very imprecise syntax definition
// https://en.wikipedia.org/wiki/Value_change_dump#Structure.2FSyntax
// Much better syntax definition
// https://web.archive.org/web/20120323132708/http://www.beyondttl.com/vcd.php
void
VcdParse::read(const char *filename,
VcdReader *reader)
{
stream_ = gzopen(filename, "r");
if (stream_) {
Stats stats(debug_, report_);
filename_ = filename;
reader_ = reader;
file_line_ = 0;
stmt_line_ = 0;
std::string token = getToken();
read_vcd, report_activity_annotation resolves #162 resolves $158 commit 02be8357f8ba158292faab0e8d8b8d220e69c842 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 15 15:59:20 2025 -0700 sort regressions Signed-off-by: James Cherry <cherry@parallaxsw.com> commit b0e1d863d34853b70d342c6bb0baa400a08db207 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 15 15:44:07 2025 -0700 PowerResult::incf* Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 23ed0ed05d8bbf83cc5b6fa7598f1253cbe2b222 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 12 17:49:24 2025 -0700 gzip vcd/saif Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a5a1a7b80e00b2deb51505b2e60312e3c29284fe Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 12 17:12:09 2025 -0700 report_activity_annotation sort pins Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 6c149cc6d66addda4eee5f56dbe4731876f1efa9 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 12 16:47:02 2025 -0700 vcd/saif do not annotate internal pins Signed-off-by: James Cherry <cherry@parallaxsw.com> commit fe8c7c7fc7b2878cb16c7d2a57e1161555f9a36f Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 11 17:09:22 2025 -0700 report_activity_annotation Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8a8f87ba05c6c6f31017288d573c23e92cac4f9e Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 10 11:57:22 2025 -0700 ReadVcdActivies factor VcdCountReader Signed-off-by: James Cherry <cherry@parallaxsw.com> commit aa70ae987c4a749e53ae2f93c8ff04a3c28b0b08 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 10 09:06:09 2025 -0700 vcd high time Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 242493e992949ee72493f4f15a0fe92630ad2f03 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 9 17:14:02 2025 -0700 comment Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8621a83d7abf5efcf54c24a1a16bba0c8eb5e441 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 9 17:11:22 2025 -0700 ReadVcdActivities rm sta_ Signed-off-by: James Cherry <cherry@parallaxsw.com> commit fc0327c39c5aef6d09580795f6a13abf9b9f8266 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 9 09:36:30 2025 -0700 var name Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a5b6e2ac66cef9355a9a87edcc185b483f5781ce Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 9 08:23:50 2025 -0700 vcd passes Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c0f6d268542b3dd431882cfa4e3d131d6d2fb933 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 20:19:27 2025 -0700 vcd Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8181e206ee39e4c3fdd69ef1d3463092763c3d2b Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 19:41:59 2025 -0700 vcd debug Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 652736654b853d1f7fb64545c6a48500e1e3b83f Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 19:17:06 2025 -0700 vcd bus support Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 03c877512d92b0148fd62cbc636da58ef6fb25ff Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 19:11:21 2025 -0700 vcd Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 53bbd97a28d619ca87a546f34a3643c227b9df78 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 16:02:47 2025 -0700 rm Vcd structs, ReadVcdActivities -> VcdReader Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 745efff41221c3b06ba19931e4f8a58e5b0758ae Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 15:46:49 2025 -0700 vcd skip hpins Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a9a6177e8b671f0619809611984ed16f2d1a5b7a Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 15:39:41 2025 -0700 ReadVcdActivies rm vcd_ Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8b51b13b02c257d10385312d246e0da1f11b72f2 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 15:28:31 2025 -0700 power_vcd1 passes Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 744669797d1a4189c417d9d2f359cbd1f5bc7113 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 10:16:35 2025 -0700 vcd Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 0f0aeac1cd8349302b758ce4b79fd753063565f2 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 6 16:20:13 2025 -0800 vcd reader Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 01d296ce9b3ad8ac7e6dddf28a41a718b4138869 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 5 16:08:41 2025 -0800 vcd rm max_var_width Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 9ffdb19074e5c38464b88ead0ec751ae7d3c506c Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 5 16:03:06 2025 -0800 vcd rm max_var_name_length_ Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 5c577143d4a166bd133a9d97d1761b52b8e122dd Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 5 15:58:29 2025 -0800 ReadVcdActivities isa VcdReader Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 6914405d0799b967a92634fe1aa251aaea4cdfbc Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 4 17:24:57 2025 -0800 vcd parse rm StaState dependence Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a0bd7aa5eee2e87c883776bf4840d117335e4a8b Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 4 16:41:55 2025 -0800 vcd headers Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 4842d19d7a5c47d6ee46f297cb9404ab77fe2662 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 4 15:59:46 2025 -0800 refactor vcd parser Signed-off-by: James Cherry <cherry@parallaxsw.com> Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-01-16 00:20:21 +01:00
while (!token.empty()) {
if (token == "$date")
reader_->setDate(readStmtString());
else if (token == "$comment")
reader_->setComment(readStmtString());
else if (token == "$version")
reader_->setVersion(readStmtString());
else if (token == "$timescale")
parseTimescale();
else if (token == "$var")
parseVar();
else if (token == "$scope")
parseScope();
else if (token == "$upscope")
parseUpscope();
else if (token == "$enddefinitions")
// empty body
readStmtString();
else if (token == "$dumpall")
parseVarValues();
else if (token == "$dumpvars")
// Initial values.
parseVarValues();
else if (token[0] == '$')
report_->fileError(800, filename_, stmt_line_, "unhandled vcd command.");
else
parseVarValues();
token = getToken();
}
gzclose(stream_);
stats.report("Read VCD");
}
else
throw FileNotReadable(filename);
}
VcdParse::VcdParse(Report *report,
Debug *debug) :
reader_(nullptr),
file_line_(0),
stmt_line_(0),
time_(0),
prev_time_(0),
report_(report),
debug_(debug)
{
}
void
VcdParse::parseTimescale()
{
vector<string> tokens = readStmtTokens();
if (tokens.size() == 1) {
size_t last;
double time_scale = std::stod(tokens[0], &last);
setTimeUnit(tokens[0].substr(last), time_scale);
}
else if (tokens.size() == 2) {
double time_scale = std::stod(tokens[0]);
setTimeUnit(tokens[1], time_scale);
}
else
report_->fileError(801, filename_, stmt_line_, "timescale syntax error.");
}
void
VcdParse::setTimeUnit(const string &time_unit,
double time_scale)
{
double time_unit_scale = 1.0;
if (time_unit == "fs")
time_unit_scale = 1e-15;
else if (time_unit == "ps")
time_unit_scale = 1e-12;
else if (time_unit == "ns")
time_unit_scale = 1e-9;
else
report_->fileError(802, filename_, stmt_line_, "Unknown timescale unit.");
reader_->setTimeUnit(time_unit, time_unit_scale, time_scale);
}
static EnumNameMap<VcdVarType> vcd_var_type_map =
{{VcdVarType::wire, "wire"},
{VcdVarType::reg, "reg"},
{VcdVarType::parameter, "parameter"},
{VcdVarType::integer, "integer"},
{VcdVarType::real, "real"},
{VcdVarType::supply0, "supply0"},
{VcdVarType::supply1, "supply1"},
{VcdVarType::time, "time"},
{VcdVarType::tri, "tri"},
{VcdVarType::triand, "triand"},
{VcdVarType::trior, "trior"},
{VcdVarType::trireg, "trireg"},
{VcdVarType::tri0, "tri0"},
{VcdVarType::tri1, "tri1"},
{VcdVarType::wand, "wand"},
{VcdVarType::wor, "wor"}
};
void
VcdParse::parseVar()
{
vector<string> tokens = readStmtTokens();
if (tokens.size() == 4
|| tokens.size() == 5) {
string type_name = tokens[0];
VcdVarType type = vcd_var_type_map.find(type_name, VcdVarType::unknown);
if (type == VcdVarType::unknown)
report_->fileWarn(1370, filename_, stmt_line_,
"Unknown variable type %s.",
type_name.c_str());
else {
size_t width = stoi(tokens[1]);
string &id = tokens[2];
string name = tokens[3];
// iverilog separates bus base name from bit range.
if (tokens.size() == 5) {
// Preserve space after esacaped name.
if (name[0] == '\\')
name += ' ';
name += tokens[4];
}
reader_->makeVar(scope_, name, type, width, id);
}
}
else
report_->fileError(804, filename_, stmt_line_, "Variable syntax error.");
}
void
VcdParse::parseScope()
{
vector<string> tokens = readStmtTokens();
string &scope = tokens[1];
scope_.push_back(scope);
}
void
VcdParse::parseUpscope()
{
readStmtTokens();
scope_.pop_back();
}
void
VcdParse::parseVarValues()
{
string token = getToken();
bool first_time = true;
read_vcd, report_activity_annotation resolves #162 resolves $158 commit 02be8357f8ba158292faab0e8d8b8d220e69c842 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 15 15:59:20 2025 -0700 sort regressions Signed-off-by: James Cherry <cherry@parallaxsw.com> commit b0e1d863d34853b70d342c6bb0baa400a08db207 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 15 15:44:07 2025 -0700 PowerResult::incf* Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 23ed0ed05d8bbf83cc5b6fa7598f1253cbe2b222 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 12 17:49:24 2025 -0700 gzip vcd/saif Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a5a1a7b80e00b2deb51505b2e60312e3c29284fe Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 12 17:12:09 2025 -0700 report_activity_annotation sort pins Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 6c149cc6d66addda4eee5f56dbe4731876f1efa9 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 12 16:47:02 2025 -0700 vcd/saif do not annotate internal pins Signed-off-by: James Cherry <cherry@parallaxsw.com> commit fe8c7c7fc7b2878cb16c7d2a57e1161555f9a36f Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 11 17:09:22 2025 -0700 report_activity_annotation Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8a8f87ba05c6c6f31017288d573c23e92cac4f9e Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 10 11:57:22 2025 -0700 ReadVcdActivies factor VcdCountReader Signed-off-by: James Cherry <cherry@parallaxsw.com> commit aa70ae987c4a749e53ae2f93c8ff04a3c28b0b08 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 10 09:06:09 2025 -0700 vcd high time Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 242493e992949ee72493f4f15a0fe92630ad2f03 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 9 17:14:02 2025 -0700 comment Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8621a83d7abf5efcf54c24a1a16bba0c8eb5e441 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 9 17:11:22 2025 -0700 ReadVcdActivities rm sta_ Signed-off-by: James Cherry <cherry@parallaxsw.com> commit fc0327c39c5aef6d09580795f6a13abf9b9f8266 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 9 09:36:30 2025 -0700 var name Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a5b6e2ac66cef9355a9a87edcc185b483f5781ce Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 9 08:23:50 2025 -0700 vcd passes Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c0f6d268542b3dd431882cfa4e3d131d6d2fb933 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 20:19:27 2025 -0700 vcd Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8181e206ee39e4c3fdd69ef1d3463092763c3d2b Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 19:41:59 2025 -0700 vcd debug Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 652736654b853d1f7fb64545c6a48500e1e3b83f Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 19:17:06 2025 -0700 vcd bus support Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 03c877512d92b0148fd62cbc636da58ef6fb25ff Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 19:11:21 2025 -0700 vcd Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 53bbd97a28d619ca87a546f34a3643c227b9df78 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 16:02:47 2025 -0700 rm Vcd structs, ReadVcdActivities -> VcdReader Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 745efff41221c3b06ba19931e4f8a58e5b0758ae Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 15:46:49 2025 -0700 vcd skip hpins Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a9a6177e8b671f0619809611984ed16f2d1a5b7a Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 15:39:41 2025 -0700 ReadVcdActivies rm vcd_ Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8b51b13b02c257d10385312d246e0da1f11b72f2 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 15:28:31 2025 -0700 power_vcd1 passes Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 744669797d1a4189c417d9d2f359cbd1f5bc7113 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 10:16:35 2025 -0700 vcd Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 0f0aeac1cd8349302b758ce4b79fd753063565f2 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 6 16:20:13 2025 -0800 vcd reader Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 01d296ce9b3ad8ac7e6dddf28a41a718b4138869 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 5 16:08:41 2025 -0800 vcd rm max_var_width Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 9ffdb19074e5c38464b88ead0ec751ae7d3c506c Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 5 16:03:06 2025 -0800 vcd rm max_var_name_length_ Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 5c577143d4a166bd133a9d97d1761b52b8e122dd Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 5 15:58:29 2025 -0800 ReadVcdActivities isa VcdReader Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 6914405d0799b967a92634fe1aa251aaea4cdfbc Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 4 17:24:57 2025 -0800 vcd parse rm StaState dependence Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a0bd7aa5eee2e87c883776bf4840d117335e4a8b Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 4 16:41:55 2025 -0800 vcd headers Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 4842d19d7a5c47d6ee46f297cb9404ab77fe2662 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 4 15:59:46 2025 -0800 refactor vcd parser Signed-off-by: James Cherry <cherry@parallaxsw.com> Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-01-16 00:20:21 +01:00
while (!token.empty()) {
char char0 = toupper(token[0]);
if (char0 == '#' && token.size() > 1) {
VcdTime time = stoll(token.substr(1));
if (first_time) {
prev_time_ = time;
first_time = false;
reader_->setTimeMin(time);
}
else
prev_time_ = time_;
time_ = time;
read_vcd, report_activity_annotation resolves #162 resolves $158 commit 02be8357f8ba158292faab0e8d8b8d220e69c842 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 15 15:59:20 2025 -0700 sort regressions Signed-off-by: James Cherry <cherry@parallaxsw.com> commit b0e1d863d34853b70d342c6bb0baa400a08db207 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 15 15:44:07 2025 -0700 PowerResult::incf* Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 23ed0ed05d8bbf83cc5b6fa7598f1253cbe2b222 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 12 17:49:24 2025 -0700 gzip vcd/saif Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a5a1a7b80e00b2deb51505b2e60312e3c29284fe Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 12 17:12:09 2025 -0700 report_activity_annotation sort pins Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 6c149cc6d66addda4eee5f56dbe4731876f1efa9 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 12 16:47:02 2025 -0700 vcd/saif do not annotate internal pins Signed-off-by: James Cherry <cherry@parallaxsw.com> commit fe8c7c7fc7b2878cb16c7d2a57e1161555f9a36f Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 11 17:09:22 2025 -0700 report_activity_annotation Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8a8f87ba05c6c6f31017288d573c23e92cac4f9e Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 10 11:57:22 2025 -0700 ReadVcdActivies factor VcdCountReader Signed-off-by: James Cherry <cherry@parallaxsw.com> commit aa70ae987c4a749e53ae2f93c8ff04a3c28b0b08 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 10 09:06:09 2025 -0700 vcd high time Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 242493e992949ee72493f4f15a0fe92630ad2f03 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 9 17:14:02 2025 -0700 comment Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8621a83d7abf5efcf54c24a1a16bba0c8eb5e441 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 9 17:11:22 2025 -0700 ReadVcdActivities rm sta_ Signed-off-by: James Cherry <cherry@parallaxsw.com> commit fc0327c39c5aef6d09580795f6a13abf9b9f8266 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 9 09:36:30 2025 -0700 var name Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a5b6e2ac66cef9355a9a87edcc185b483f5781ce Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 9 08:23:50 2025 -0700 vcd passes Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c0f6d268542b3dd431882cfa4e3d131d6d2fb933 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 20:19:27 2025 -0700 vcd Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8181e206ee39e4c3fdd69ef1d3463092763c3d2b Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 19:41:59 2025 -0700 vcd debug Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 652736654b853d1f7fb64545c6a48500e1e3b83f Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 19:17:06 2025 -0700 vcd bus support Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 03c877512d92b0148fd62cbc636da58ef6fb25ff Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 19:11:21 2025 -0700 vcd Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 53bbd97a28d619ca87a546f34a3643c227b9df78 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 16:02:47 2025 -0700 rm Vcd structs, ReadVcdActivities -> VcdReader Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 745efff41221c3b06ba19931e4f8a58e5b0758ae Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 15:46:49 2025 -0700 vcd skip hpins Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a9a6177e8b671f0619809611984ed16f2d1a5b7a Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 15:39:41 2025 -0700 ReadVcdActivies rm vcd_ Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8b51b13b02c257d10385312d246e0da1f11b72f2 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 15:28:31 2025 -0700 power_vcd1 passes Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 744669797d1a4189c417d9d2f359cbd1f5bc7113 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 10:16:35 2025 -0700 vcd Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 0f0aeac1cd8349302b758ce4b79fd753063565f2 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 6 16:20:13 2025 -0800 vcd reader Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 01d296ce9b3ad8ac7e6dddf28a41a718b4138869 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 5 16:08:41 2025 -0800 vcd rm max_var_width Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 9ffdb19074e5c38464b88ead0ec751ae7d3c506c Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 5 16:03:06 2025 -0800 vcd rm max_var_name_length_ Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 5c577143d4a166bd133a9d97d1761b52b8e122dd Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 5 15:58:29 2025 -0800 ReadVcdActivities isa VcdReader Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 6914405d0799b967a92634fe1aa251aaea4cdfbc Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 4 17:24:57 2025 -0800 vcd parse rm StaState dependence Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a0bd7aa5eee2e87c883776bf4840d117335e4a8b Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 4 16:41:55 2025 -0800 vcd headers Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 4842d19d7a5c47d6ee46f297cb9404ab77fe2662 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 4 15:59:46 2025 -0800 refactor vcd parser Signed-off-by: James Cherry <cherry@parallaxsw.com> Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-01-16 00:20:21 +01:00
if (time_ > prev_time_)
reader_->varMinDeltaTime(time_ - prev_time_);
}
else if (char0 == '0'
|| char0 == '1'
|| char0 == 'X'
|| char0 == 'U'
|| char0 == 'Z') {
string id = token.substr(1);
if (!reader_->varIdValid(id))
report_->fileError(805, filename_, stmt_line_,
"unknown variable %s", id.c_str());
reader_->varAppendValue(id, time_, char0);
}
else if (char0 == 'B') {
char char1 = toupper(token[1]);
if (char1 == 'X'
|| char1 == 'U'
|| char1 == 'Z') {
string id = getToken();
if (!reader_->varIdValid(id))
report_->fileError(806, filename_, stmt_line_,
"unknown variable %s", id.c_str());
// Bus mixed 0/1/X/U not supported.
reader_->varAppendValue(id, time_, char1);
}
else {
string bin = token.substr(1);
char *end;
int64_t bus_value = strtol(bin.c_str(), &end, 2);
string id = getToken();
if (!reader_->varIdValid(id))
report_->fileError(807, filename_, stmt_line_,
"unknown variable %s", id.c_str());
else
reader_->varAppendBusValue(id, time_, bus_value);
}
}
token = getToken();
}
reader_->setTimeMax(time_);
}
string
VcdParse::readStmtString()
{
stmt_line_ = file_line_;
string line;
string token = getToken();
while (!token.empty() && token != "$end") {
if (!line.empty())
line += " ";
line += token;
token = getToken();
}
return line;
}
vector<string>
VcdParse::readStmtTokens()
{
stmt_line_ = file_line_;
vector<string> tokens;
string token = getToken();
while (!token.empty() && token != "$end") {
tokens.push_back(token);
token = getToken();
}
return tokens;
}
string
VcdParse::getToken()
{
string token;
int ch = gzgetc(stream_);
// skip whitespace
while (ch != EOF && isspace(ch)) {
if (ch == '\n')
file_line_++;
ch = gzgetc(stream_);
read_vcd, report_activity_annotation resolves #162 resolves $158 commit 02be8357f8ba158292faab0e8d8b8d220e69c842 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 15 15:59:20 2025 -0700 sort regressions Signed-off-by: James Cherry <cherry@parallaxsw.com> commit b0e1d863d34853b70d342c6bb0baa400a08db207 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 15 15:44:07 2025 -0700 PowerResult::incf* Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 23ed0ed05d8bbf83cc5b6fa7598f1253cbe2b222 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 12 17:49:24 2025 -0700 gzip vcd/saif Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a5a1a7b80e00b2deb51505b2e60312e3c29284fe Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 12 17:12:09 2025 -0700 report_activity_annotation sort pins Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 6c149cc6d66addda4eee5f56dbe4731876f1efa9 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 12 16:47:02 2025 -0700 vcd/saif do not annotate internal pins Signed-off-by: James Cherry <cherry@parallaxsw.com> commit fe8c7c7fc7b2878cb16c7d2a57e1161555f9a36f Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 11 17:09:22 2025 -0700 report_activity_annotation Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8a8f87ba05c6c6f31017288d573c23e92cac4f9e Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 10 11:57:22 2025 -0700 ReadVcdActivies factor VcdCountReader Signed-off-by: James Cherry <cherry@parallaxsw.com> commit aa70ae987c4a749e53ae2f93c8ff04a3c28b0b08 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 10 09:06:09 2025 -0700 vcd high time Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 242493e992949ee72493f4f15a0fe92630ad2f03 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 9 17:14:02 2025 -0700 comment Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8621a83d7abf5efcf54c24a1a16bba0c8eb5e441 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 9 17:11:22 2025 -0700 ReadVcdActivities rm sta_ Signed-off-by: James Cherry <cherry@parallaxsw.com> commit fc0327c39c5aef6d09580795f6a13abf9b9f8266 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 9 09:36:30 2025 -0700 var name Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a5b6e2ac66cef9355a9a87edcc185b483f5781ce Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 9 08:23:50 2025 -0700 vcd passes Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c0f6d268542b3dd431882cfa4e3d131d6d2fb933 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 20:19:27 2025 -0700 vcd Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8181e206ee39e4c3fdd69ef1d3463092763c3d2b Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 19:41:59 2025 -0700 vcd debug Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 652736654b853d1f7fb64545c6a48500e1e3b83f Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 19:17:06 2025 -0700 vcd bus support Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 03c877512d92b0148fd62cbc636da58ef6fb25ff Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 19:11:21 2025 -0700 vcd Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 53bbd97a28d619ca87a546f34a3643c227b9df78 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 16:02:47 2025 -0700 rm Vcd structs, ReadVcdActivities -> VcdReader Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 745efff41221c3b06ba19931e4f8a58e5b0758ae Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 15:46:49 2025 -0700 vcd skip hpins Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a9a6177e8b671f0619809611984ed16f2d1a5b7a Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 15:39:41 2025 -0700 ReadVcdActivies rm vcd_ Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8b51b13b02c257d10385312d246e0da1f11b72f2 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 15:28:31 2025 -0700 power_vcd1 passes Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 744669797d1a4189c417d9d2f359cbd1f5bc7113 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 10:16:35 2025 -0700 vcd Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 0f0aeac1cd8349302b758ce4b79fd753063565f2 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 6 16:20:13 2025 -0800 vcd reader Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 01d296ce9b3ad8ac7e6dddf28a41a718b4138869 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 5 16:08:41 2025 -0800 vcd rm max_var_width Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 9ffdb19074e5c38464b88ead0ec751ae7d3c506c Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 5 16:03:06 2025 -0800 vcd rm max_var_name_length_ Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 5c577143d4a166bd133a9d97d1761b52b8e122dd Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 5 15:58:29 2025 -0800 ReadVcdActivities isa VcdReader Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 6914405d0799b967a92634fe1aa251aaea4cdfbc Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 4 17:24:57 2025 -0800 vcd parse rm StaState dependence Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a0bd7aa5eee2e87c883776bf4840d117335e4a8b Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 4 16:41:55 2025 -0800 vcd headers Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 4842d19d7a5c47d6ee46f297cb9404ab77fe2662 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 4 15:59:46 2025 -0800 refactor vcd parser Signed-off-by: James Cherry <cherry@parallaxsw.com> Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-01-16 00:20:21 +01:00
}
while (ch != EOF && !isspace(ch)) {
token.push_back(ch);
ch = gzgetc(stream_);
}
if (ch == '\n')
file_line_++;
read_vcd, report_activity_annotation resolves #162 resolves $158 commit 02be8357f8ba158292faab0e8d8b8d220e69c842 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 15 15:59:20 2025 -0700 sort regressions Signed-off-by: James Cherry <cherry@parallaxsw.com> commit b0e1d863d34853b70d342c6bb0baa400a08db207 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 15 15:44:07 2025 -0700 PowerResult::incf* Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 23ed0ed05d8bbf83cc5b6fa7598f1253cbe2b222 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 12 17:49:24 2025 -0700 gzip vcd/saif Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a5a1a7b80e00b2deb51505b2e60312e3c29284fe Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 12 17:12:09 2025 -0700 report_activity_annotation sort pins Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 6c149cc6d66addda4eee5f56dbe4731876f1efa9 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 12 16:47:02 2025 -0700 vcd/saif do not annotate internal pins Signed-off-by: James Cherry <cherry@parallaxsw.com> commit fe8c7c7fc7b2878cb16c7d2a57e1161555f9a36f Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 11 17:09:22 2025 -0700 report_activity_annotation Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8a8f87ba05c6c6f31017288d573c23e92cac4f9e Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 10 11:57:22 2025 -0700 ReadVcdActivies factor VcdCountReader Signed-off-by: James Cherry <cherry@parallaxsw.com> commit aa70ae987c4a749e53ae2f93c8ff04a3c28b0b08 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 10 09:06:09 2025 -0700 vcd high time Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 242493e992949ee72493f4f15a0fe92630ad2f03 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 9 17:14:02 2025 -0700 comment Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8621a83d7abf5efcf54c24a1a16bba0c8eb5e441 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 9 17:11:22 2025 -0700 ReadVcdActivities rm sta_ Signed-off-by: James Cherry <cherry@parallaxsw.com> commit fc0327c39c5aef6d09580795f6a13abf9b9f8266 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 9 09:36:30 2025 -0700 var name Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a5b6e2ac66cef9355a9a87edcc185b483f5781ce Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 9 08:23:50 2025 -0700 vcd passes Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c0f6d268542b3dd431882cfa4e3d131d6d2fb933 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 20:19:27 2025 -0700 vcd Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8181e206ee39e4c3fdd69ef1d3463092763c3d2b Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 19:41:59 2025 -0700 vcd debug Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 652736654b853d1f7fb64545c6a48500e1e3b83f Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 19:17:06 2025 -0700 vcd bus support Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 03c877512d92b0148fd62cbc636da58ef6fb25ff Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 19:11:21 2025 -0700 vcd Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 53bbd97a28d619ca87a546f34a3643c227b9df78 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 16:02:47 2025 -0700 rm Vcd structs, ReadVcdActivities -> VcdReader Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 745efff41221c3b06ba19931e4f8a58e5b0758ae Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 15:46:49 2025 -0700 vcd skip hpins Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a9a6177e8b671f0619809611984ed16f2d1a5b7a Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 15:39:41 2025 -0700 ReadVcdActivies rm vcd_ Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8b51b13b02c257d10385312d246e0da1f11b72f2 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 15:28:31 2025 -0700 power_vcd1 passes Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 744669797d1a4189c417d9d2f359cbd1f5bc7113 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 8 10:16:35 2025 -0700 vcd Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 0f0aeac1cd8349302b758ce4b79fd753063565f2 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 6 16:20:13 2025 -0800 vcd reader Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 01d296ce9b3ad8ac7e6dddf28a41a718b4138869 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 5 16:08:41 2025 -0800 vcd rm max_var_width Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 9ffdb19074e5c38464b88ead0ec751ae7d3c506c Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 5 16:03:06 2025 -0800 vcd rm max_var_name_length_ Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 5c577143d4a166bd133a9d97d1761b52b8e122dd Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 5 15:58:29 2025 -0800 ReadVcdActivities isa VcdReader Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 6914405d0799b967a92634fe1aa251aaea4cdfbc Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 4 17:24:57 2025 -0800 vcd parse rm StaState dependence Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a0bd7aa5eee2e87c883776bf4840d117335e4a8b Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 4 16:41:55 2025 -0800 vcd headers Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 4842d19d7a5c47d6ee46f297cb9404ab77fe2662 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 4 15:59:46 2025 -0800 refactor vcd parser Signed-off-by: James Cherry <cherry@parallaxsw.com> Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-01-16 00:20:21 +01:00
if (ch == EOF)
return "";
else
return token;
}
////////////////////////////////////////////////////////////////
char
VcdValue::value(int value_bit) const
{
if (value_ == '\0')
return ((bus_value_ >> value_bit) & 0x1) ? '1' : '0';
else
return value_;
}
void
VcdValue::setValue(VcdTime time,
char value)
{
time_ = time;
value_ = value;
}
} // namespace