From 042b038dd577fab45c21c2b2e95322405c19ffc1 Mon Sep 17 00:00:00 2001 From: dalance Date: Wed, 29 May 2024 18:26:07 +0900 Subject: [PATCH] Add source map generation support --- .gitignore | 1 + Cargo.lock | 147 ++++++++++++++++- Cargo.toml | 1 + Veryl.toml | 1 + crates/emitter/Cargo.toml | 1 + crates/emitter/src/emitter.rs | 81 +++++++--- crates/metadata/src/build.rs | 14 ++ crates/metadata/src/lib.rs | 2 +- crates/metadata/src/metadata.rs | 6 +- crates/sourcemap/Cargo.toml | 17 ++ crates/sourcemap/src/lib.rs | 4 + crates/sourcemap/src/sourcemap.rs | 151 ++++++++++++++++++ crates/sourcemap/src/sourcemap_error.rs | 17 ++ crates/tests/src/lib.rs | 32 ++-- crates/veryl/Cargo.toml | 1 + crates/veryl/src/cmd_build.rs | 49 +++++- crates/veryl/src/runner/verilator.rs | 56 +++++-- testcases/map/testcases/sv/01_number.sv.map | 1 + .../map/testcases/sv/02_builtin_type.sv.map | 1 + testcases/map/testcases/sv/03_operator.sv.map | 1 + testcases/map/testcases/sv/04_module.sv.map | 1 + .../map/testcases/sv/05_interface.sv.map | 1 + testcases/map/testcases/sv/06_function.sv.map | 1 + .../map/testcases/sv/07_statement.sv.map | 1 + .../sv/08_generate_declaration.sv.map | 1 + .../map/testcases/sv/09_struct_enum.sv.map | 1 + .../sv/10_various_line_comment.sv.map | 1 + testcases/map/testcases/sv/11_let.sv.map | 1 + testcases/map/testcases/sv/12_always.sv.map | 1 + .../map/testcases/sv/13_range_operator.sv.map | 1 + testcases/map/testcases/sv/14_inst.sv.map | 1 + .../map/testcases/sv/15_named_block.sv.map | 1 + testcases/map/testcases/sv/16_case.sv.map | 1 + testcases/map/testcases/sv/17_package.sv.map | 1 + .../map/testcases/sv/18_concatenation.sv.map | 1 + .../map/testcases/sv/19_import_export.sv.map | 1 + .../testcases/sv/20_if_case_expression.sv.map | 1 + testcases/map/testcases/sv/21_cast.sv.map | 1 + .../map/testcases/sv/22_type_modifier.sv.map | 1 + testcases/map/testcases/sv/23_ifdef.sv.map | 1 + .../map/testcases/sv/24_sv_attribute.sv.map | 1 + .../map/testcases/sv/25_dependency.sv.map | 1 + testcases/map/testcases/sv/26_array.sv.map | 1 + testcases/map/testcases/sv/27_string.sv.map | 1 + testcases/map/testcases/sv/28_msblsb.sv.map | 1 + testcases/map/testcases/sv/29_allow.sv.map | 1 + testcases/map/testcases/sv/30_empty.sv.map | 1 + .../map/testcases/sv/31_initial_final.sv.map | 1 + .../map/testcases/sv/32_inside_outside.sv.map | 1 + .../map/testcases/sv/33_widthless_num.sv.map | 1 + .../map/testcases/sv/34_width_all_set.sv.map | 1 + .../testcases/sv/35_unconnected_port.sv.map | 1 + .../map/testcases/sv/36_doc_comment.sv.map | 1 + .../map/testcases/sv/37_package_ref.sv.map | 1 + testcases/map/testcases/sv/38_typedef.sv.map | 1 + testcases/map/testcases/sv/39_modport.sv.map | 1 + .../map/testcases/sv/40_enum_resolve.sv.map | 1 + testcases/map/testcases/sv/41_union.sv.map | 1 + .../map/testcases/sv/42_sv_namespace.sv.map | 1 + .../map/testcases/sv/43_sv_member.sv.map | 1 + .../map/testcases/sv/44_import_resolve.sv.map | 1 + .../map/testcases/sv/45_let_in_always.sv.map | 1 + .../map/testcases/sv/46_let_anywhere.sv.map | 1 + testcases/map/testcases/sv/47_embed.sv.map | 1 + testcases/map/testcases/sv/48_test.sv.map | 1 + .../testcases/sv/49_system_function.sv.map | 1 + .../testcases/sv/50_enum_over_typedef.sv.map | 1 + .../map/testcases/sv/51_array_literal.sv.map | 1 + testcases/map/testcases/sv/52_include.sv.map | 1 + .../sv/53_multiline_comment_case.sv.map | 1 + .../testcases/sv/54_generic_function.sv.map | 1 + .../map/testcases/sv/55_generic_module.sv.map | 1 + .../testcases/sv/56_generic_interface.sv.map | 1 + .../testcases/sv/57_generic_package.sv.map | 1 + .../map/testcases/sv/58_generic_struct.sv.map | 1 + .../map/testcases/sv/59_same_name.sv.map | 1 + testcases/sv/01_number.sv | 1 + testcases/sv/02_builtin_type.sv | 1 + testcases/sv/03_operator.sv | 1 + testcases/sv/04_module.sv | 1 + testcases/sv/05_interface.sv | 1 + testcases/sv/06_function.sv | 1 + testcases/sv/07_statement.sv | 1 + testcases/sv/08_generate_declaration.sv | 1 + testcases/sv/09_struct_enum.sv | 1 + testcases/sv/10_various_line_comment.sv | 1 + testcases/sv/11_let.sv | 1 + testcases/sv/12_always.sv | 1 + testcases/sv/13_range_operator.sv | 1 + testcases/sv/14_inst.sv | 1 + testcases/sv/15_named_block.sv | 1 + testcases/sv/16_case.sv | 1 + testcases/sv/17_package.sv | 1 + testcases/sv/18_concatenation.sv | 1 + testcases/sv/19_import_export.sv | 1 + testcases/sv/20_if_case_expression.sv | 1 + testcases/sv/21_cast.sv | 1 + testcases/sv/22_type_modifier.sv | 1 + testcases/sv/23_ifdef.sv | 1 + testcases/sv/24_sv_attribute.sv | 1 + testcases/sv/25_dependency.sv | 1 + testcases/sv/26_array.sv | 1 + testcases/sv/27_string.sv | 1 + testcases/sv/28_msblsb.sv | 1 + testcases/sv/29_allow.sv | 1 + testcases/sv/30_empty.sv | 1 + testcases/sv/31_initial_final.sv | 1 + testcases/sv/32_inside_outside.sv | 1 + testcases/sv/33_widthless_num.sv | 1 + testcases/sv/34_width_all_set.sv | 1 + testcases/sv/35_unconnected_port.sv | 1 + testcases/sv/36_doc_comment.sv | 1 + testcases/sv/37_package_ref.sv | 1 + testcases/sv/38_typedef.sv | 1 + testcases/sv/39_modport.sv | 1 + testcases/sv/40_enum_resolve.sv | 1 + testcases/sv/41_union.sv | 1 + testcases/sv/42_sv_namespace.sv | 1 + testcases/sv/43_sv_member.sv | 1 + testcases/sv/44_import_resolve.sv | 1 + testcases/sv/45_let_in_always.sv | 1 + testcases/sv/46_let_anywhere.sv | 1 + testcases/sv/47_embed.sv | 1 + testcases/sv/48_test.sv | 1 + testcases/sv/49_system_function.sv | 1 + testcases/sv/50_enum_over_typedef.sv | 1 + testcases/sv/51_array_literal.sv | 1 + testcases/sv/52_include.sv | 1 + testcases/sv/53_multiline_comment_case.sv | 1 + testcases/sv/54_generic_function.sv | 1 + testcases/sv/55_generic_module.sv | 1 + testcases/sv/56_generic_interface.sv | 1 + testcases/sv/57_generic_package.sv | 1 + testcases/sv/58_generic_struct.sv | 1 + testcases/sv/59_same_name.sv | 1 + 135 files changed, 650 insertions(+), 49 deletions(-) create mode 100644 crates/sourcemap/Cargo.toml create mode 100644 crates/sourcemap/src/lib.rs create mode 100644 crates/sourcemap/src/sourcemap.rs create mode 100644 crates/sourcemap/src/sourcemap_error.rs create mode 100644 testcases/map/testcases/sv/01_number.sv.map create mode 100644 testcases/map/testcases/sv/02_builtin_type.sv.map create mode 100644 testcases/map/testcases/sv/03_operator.sv.map create mode 100644 testcases/map/testcases/sv/04_module.sv.map create mode 100644 testcases/map/testcases/sv/05_interface.sv.map create mode 100644 testcases/map/testcases/sv/06_function.sv.map create mode 100644 testcases/map/testcases/sv/07_statement.sv.map create mode 100644 testcases/map/testcases/sv/08_generate_declaration.sv.map create mode 100644 testcases/map/testcases/sv/09_struct_enum.sv.map create mode 100644 testcases/map/testcases/sv/10_various_line_comment.sv.map create mode 100644 testcases/map/testcases/sv/11_let.sv.map create mode 100644 testcases/map/testcases/sv/12_always.sv.map create mode 100644 testcases/map/testcases/sv/13_range_operator.sv.map create mode 100644 testcases/map/testcases/sv/14_inst.sv.map create mode 100644 testcases/map/testcases/sv/15_named_block.sv.map create mode 100644 testcases/map/testcases/sv/16_case.sv.map create mode 100644 testcases/map/testcases/sv/17_package.sv.map create mode 100644 testcases/map/testcases/sv/18_concatenation.sv.map create mode 100644 testcases/map/testcases/sv/19_import_export.sv.map create mode 100644 testcases/map/testcases/sv/20_if_case_expression.sv.map create mode 100644 testcases/map/testcases/sv/21_cast.sv.map create mode 100644 testcases/map/testcases/sv/22_type_modifier.sv.map create mode 100644 testcases/map/testcases/sv/23_ifdef.sv.map create mode 100644 testcases/map/testcases/sv/24_sv_attribute.sv.map create mode 100644 testcases/map/testcases/sv/25_dependency.sv.map create mode 100644 testcases/map/testcases/sv/26_array.sv.map create mode 100644 testcases/map/testcases/sv/27_string.sv.map create mode 100644 testcases/map/testcases/sv/28_msblsb.sv.map create mode 100644 testcases/map/testcases/sv/29_allow.sv.map create mode 100644 testcases/map/testcases/sv/30_empty.sv.map create mode 100644 testcases/map/testcases/sv/31_initial_final.sv.map create mode 100644 testcases/map/testcases/sv/32_inside_outside.sv.map create mode 100644 testcases/map/testcases/sv/33_widthless_num.sv.map create mode 100644 testcases/map/testcases/sv/34_width_all_set.sv.map create mode 100644 testcases/map/testcases/sv/35_unconnected_port.sv.map create mode 100644 testcases/map/testcases/sv/36_doc_comment.sv.map create mode 100644 testcases/map/testcases/sv/37_package_ref.sv.map create mode 100644 testcases/map/testcases/sv/38_typedef.sv.map create mode 100644 testcases/map/testcases/sv/39_modport.sv.map create mode 100644 testcases/map/testcases/sv/40_enum_resolve.sv.map create mode 100644 testcases/map/testcases/sv/41_union.sv.map create mode 100644 testcases/map/testcases/sv/42_sv_namespace.sv.map create mode 100644 testcases/map/testcases/sv/43_sv_member.sv.map create mode 100644 testcases/map/testcases/sv/44_import_resolve.sv.map create mode 100644 testcases/map/testcases/sv/45_let_in_always.sv.map create mode 100644 testcases/map/testcases/sv/46_let_anywhere.sv.map create mode 100644 testcases/map/testcases/sv/47_embed.sv.map create mode 100644 testcases/map/testcases/sv/48_test.sv.map create mode 100644 testcases/map/testcases/sv/49_system_function.sv.map create mode 100644 testcases/map/testcases/sv/50_enum_over_typedef.sv.map create mode 100644 testcases/map/testcases/sv/51_array_literal.sv.map create mode 100644 testcases/map/testcases/sv/52_include.sv.map create mode 100644 testcases/map/testcases/sv/53_multiline_comment_case.sv.map create mode 100644 testcases/map/testcases/sv/54_generic_function.sv.map create mode 100644 testcases/map/testcases/sv/55_generic_module.sv.map create mode 100644 testcases/map/testcases/sv/56_generic_interface.sv.map create mode 100644 testcases/map/testcases/sv/57_generic_package.sv.map create mode 100644 testcases/map/testcases/sv/58_generic_struct.sv.map create mode 100644 testcases/map/testcases/sv/59_same_name.sv.map diff --git a/.gitignore b/.gitignore index 2384f4cd6..4fc7efa00 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,4 @@ veryl_testcase.* /dependencies/ /book/po/messages.pot /book/po/*~ +/testcases/map/dependencies/ diff --git a/Cargo.lock b/Cargo.lock index 848ecb892..a0b28aba9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -263,6 +263,15 @@ version = "0.21.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" +[[package]] +name = "base64-simd" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "781dd20c3aff0bd194fe7d2a977dd92f21c173891f3a03b677359e5fa457e5d5" +dependencies = [ + "simd-abstraction", +] + [[package]] name = "bimap" version = "0.6.3" @@ -281,6 +290,18 @@ version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" +[[package]] +name = "bitvec" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" +dependencies = [ + "funty", + "radium", + "tap", + "wyz", +] + [[package]] name = "block-buffer" version = "0.10.4" @@ -767,6 +788,7 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bef552e6f588e446098f6ba40d89ac146c8c7b64aade83c051ee00bb5d2bc18d" dependencies = [ + "serde", "uuid", ] @@ -1110,6 +1132,12 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "673464e1e314dd67a0fd9544abc99e8eb28d0c7e3b69b033bcff9b2d00b87333" +[[package]] +name = "funty" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" + [[package]] name = "futf" version = "0.1.5" @@ -2176,6 +2204,12 @@ dependencies = [ "unicode-normalization", ] +[[package]] +name = "if_chain" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb56e1aa765b4b4f3aadfab769793b7087bb03a4ea4920644a6d238e2df5b9ed" + [[package]] name = "ignore" version = "0.4.22" @@ -2569,7 +2603,7 @@ dependencies = [ "mdbook", "pulldown-cmark 0.11.0", "regex", - "semver", + "semver 1.0.23", "serde_json", "similar", "toml 0.7.8", @@ -2842,6 +2876,12 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" +[[package]] +name = "outref" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f222829ae9293e33a9f5e9f440c6760a3d450a64affe1846486b140db81c1f4" + [[package]] name = "owo-colors" version = "3.5.0" @@ -3307,6 +3347,12 @@ dependencies = [ "proc-macro2", ] +[[package]] +name = "radium" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" + [[package]] name = "rand" version = "0.8.5" @@ -3425,6 +3471,12 @@ version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56" +[[package]] +name = "relative-path" +version = "1.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba39f3699c378cd8970968dcbff9c43159ea4cfbd88d43c00b22f2ef10a435d2" + [[package]] name = "reqwest" version = "0.11.27" @@ -3517,6 +3569,21 @@ version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" +[[package]] +name = "rustc-hash" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" + +[[package]] +name = "rustc_version" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" +dependencies = [ + "semver 0.9.0", +] + [[package]] name = "rustix" version = "0.38.34" @@ -3604,6 +3671,15 @@ dependencies = [ "untrusted", ] +[[package]] +name = "semver" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" +dependencies = [ + "semver-parser", +] + [[package]] name = "semver" version = "1.0.23" @@ -3613,6 +3689,12 @@ dependencies = [ "serde", ] +[[package]] +name = "semver-parser" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" + [[package]] name = "serde" version = "1.0.203" @@ -3739,6 +3821,15 @@ dependencies = [ "libc", ] +[[package]] +name = "simd-abstraction" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9cadb29c57caadc51ff8346233b5cec1d240b68ce55cf1afc764818791876987" +dependencies = [ + "outref", +] + [[package]] name = "similar" version = "2.5.0" @@ -3782,6 +3873,25 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "sourcemap" +version = "8.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "208d40b9e8cad9f93613778ea295ed8f3c2b1824217c6cfc7219d3f6f45b96d4" +dependencies = [ + "base64-simd", + "bitvec", + "data-encoding", + "debugid", + "if_chain", + "rustc-hash", + "rustc_version", + "serde", + "serde_json", + "unicode-id-start", + "url", +] + [[package]] name = "spdx" version = "0.10.6" @@ -3972,6 +4082,12 @@ dependencies = [ "libc", ] +[[package]] +name = "tap" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" + [[package]] name = "tempfile" version = "3.10.1" @@ -4442,6 +4558,12 @@ version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "63ec69f541d875b783ca40184d655f2927c95f0bffd486faa83cd3ac3529ec32" +[[package]] +name = "unicode-id-start" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8f73150333cb58412db36f2aca8f2875b013049705cc77b94ded70a1ab1f5da" + [[package]] name = "unicode-ident" version = "1.0.12" @@ -4549,6 +4671,7 @@ dependencies = [ "veryl-formatter", "veryl-metadata", "veryl-parser", + "veryl-sourcemap", ] [[package]] @@ -4576,6 +4699,7 @@ dependencies = [ "veryl-analyzer", "veryl-metadata", "veryl-parser", + "veryl-sourcemap", ] [[package]] @@ -4616,7 +4740,7 @@ dependencies = [ "miette", "once_cell", "regex", - "semver", + "semver 1.0.23", "serde", "serde_regex", "spdx", @@ -4645,6 +4769,16 @@ dependencies = [ "walkdir", ] +[[package]] +name = "veryl-sourcemap" +version = "0.10.1" +dependencies = [ + "miette", + "relative-path", + "sourcemap", + "thiserror", +] + [[package]] name = "veryl-tests" version = "0.1.0" @@ -5064,6 +5198,15 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "wyz" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" +dependencies = [ + "tap", +] + [[package]] name = "xml_writer" version = "0.4.0" diff --git a/Cargo.toml b/Cargo.toml index 89d0c2110..1bb2c5687 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -7,6 +7,7 @@ members = [ "crates/mdbook", "crates/metadata", "crates/parser", + "crates/sourcemap", "crates/tests", "crates/veryl", ] diff --git a/Veryl.toml b/Veryl.toml index 76311579d..c47313052 100644 --- a/Veryl.toml +++ b/Veryl.toml @@ -12,6 +12,7 @@ reset_type = "async_low" reset_low_suffix = "_n" filelist_type = "absolute" target = {type = "directory", path = "testcases/sv"} +sourcemap_target = {type = "directory", path = "testcases/map"} [format] indent_width = 4 diff --git a/crates/emitter/Cargo.toml b/crates/emitter/Cargo.toml index ad3971889..624f59f20 100644 --- a/crates/emitter/Cargo.toml +++ b/crates/emitter/Cargo.toml @@ -18,3 +18,4 @@ strnum_bitwidth = {workspace = true} veryl-analyzer = {version = "0.10.1", path = "../analyzer"} veryl-metadata = {version = "0.10.1", path = "../metadata"} veryl-parser = {version = "0.10.1", path = "../parser"} +veryl-sourcemap = {version = "0.10.1", path = "../sourcemap"} diff --git a/crates/emitter/src/emitter.rs b/crates/emitter/src/emitter.rs index 2d4585293..7a15b1262 100644 --- a/crates/emitter/src/emitter.rs +++ b/crates/emitter/src/emitter.rs @@ -1,5 +1,6 @@ use crate::aligner::{Aligner, Location}; use std::fs; +use std::path::Path; use veryl_analyzer::attribute::Attribute as Attr; use veryl_analyzer::attribute_table; use veryl_analyzer::namespace::Namespace; @@ -8,12 +9,13 @@ use veryl_analyzer::symbol::{GenericMap, Symbol, SymbolId, SymbolKind, TypeKind} use veryl_analyzer::symbol_path::{GenericSymbolPath, SymbolPath}; use veryl_analyzer::symbol_table; use veryl_analyzer::{msb_table, namespace_table}; -use veryl_metadata::{Build, BuiltinType, ClockType, Format, Metadata, ResetType}; +use veryl_metadata::{Build, BuiltinType, ClockType, Format, Metadata, ResetType, SourceMapTarget}; use veryl_parser::resource_table::{self, StrId}; use veryl_parser::veryl_grammar_trait::*; use veryl_parser::veryl_token::{Token, TokenSource, VerylToken}; use veryl_parser::veryl_walker::VerylWalker; use veryl_parser::Stringifier; +use veryl_sourcemap::SourceMap; #[cfg(target_os = "windows")] const NEWLINE: &str = "\r\n"; @@ -32,7 +34,9 @@ pub struct Emitter { format_opt: Format, string: String, indent: usize, - line: u32, + src_line: u32, + dst_line: u32, + dst_column: u32, aligner: Aligner, in_start_token: bool, consumed_next_newline: bool, @@ -53,6 +57,7 @@ pub struct Emitter { attribute: Vec, assignment_lefthand_side: Option, generic_map: Vec, + source_map: Option, } impl Default for Emitter { @@ -63,7 +68,9 @@ impl Default for Emitter { format_opt: Format::default(), string: String::new(), indent: 0, - line: 1, + src_line: 1, + dst_line: 1, + dst_column: 1, aligner: Aligner::new(), in_start_token: false, consumed_next_newline: false, @@ -84,19 +91,24 @@ impl Default for Emitter { attribute: Vec::new(), assignment_lefthand_side: None, generic_map: Vec::new(), + source_map: None, } } } impl Emitter { - pub fn new(metadata: &Metadata) -> Self { + pub fn new(metadata: &Metadata, src_path: &Path, dst_path: &Path, map_path: &Path) -> Self { let mut aligner = Aligner::new(); aligner.set_metadata(metadata); + + let source_map = SourceMap::new(src_path, dst_path, map_path); + Self { project_name: Some(metadata.project.name.as_str().into()), build_opt: metadata.build.clone(), format_opt: metadata.format.clone(), aligner, + source_map: Some(source_map), ..Default::default() } } @@ -111,12 +123,32 @@ impl Emitter { &self.string } - fn column(&self) -> usize { - self.string.len() - self.string.rfind('\n').unwrap_or(0) + pub fn source_map(&mut self) -> &mut SourceMap { + self.source_map.as_mut().unwrap() } fn str(&mut self, x: &str) { self.string.push_str(x); + + let new_lines = x.matches('\n').count() as u32; + self.dst_line += new_lines; + if new_lines == 0 { + self.dst_column += x.len() as u32; + } else { + self.dst_column = (x.len() - x.rfind('\n').unwrap_or(0)) as u32; + } + } + + fn truncate(&mut self, x: usize) { + let removed = self.string.split_off(x); + + let removed_lines = removed.matches('\n').count() as u32; + if removed_lines == 0 { + self.dst_column -= removed.len() as u32; + } else { + self.dst_line -= removed_lines; + self.dst_column = (self.string.len() - self.string.rfind('\n').unwrap_or(0)) as u32; + } } fn unindent(&mut self) { @@ -124,8 +156,7 @@ impl Emitter { .string .ends_with(&" ".repeat(self.indent * self.format_opt.indent_width)) { - self.string - .truncate(self.string.len() - self.indent * self.format_opt.indent_width); + self.truncate(self.string.len() - self.indent * self.format_opt.indent_width); } } @@ -191,7 +222,7 @@ impl Emitter { } fn consume_adjust_line(&mut self, x: &Token) { - if self.adjust_line && x.line > self.line + 1 { + if self.adjust_line && x.line > self.src_line + 1 { self.newline(); } self.adjust_line = false; @@ -210,9 +241,16 @@ impl Emitter { } else { &text }; + + if x.line != 0 && x.column != 0 { + if let Some(ref mut map) = self.source_map { + map.add(self.dst_line, self.dst_column, x.line, x.column, text); + } + } + let newlines_in_text = text.matches('\n').count() as u32; self.str(text); - self.line = x.line + newlines_in_text; + self.src_line = x.line + newlines_in_text; } fn process_token(&mut self, x: &VerylToken, will_push: bool, duplicated: Option) { @@ -237,10 +275,10 @@ impl Emitter { self.consumed_next_newline = false; for x in &x.comments { // insert space between comments in the same line - if x.line == self.line && !self.in_start_token { + if x.line == self.src_line && !self.in_start_token { self.space(1); } - for _ in 0..x.line - self.line { + for _ in 0..x.line - self.src_line { self.unindent(); self.str(NEWLINE); self.indent(); @@ -545,7 +583,7 @@ impl VerylWalker for Emitter { /// Semantic action for non-terminal 'Comma' fn comma(&mut self, arg: &Comma) { if self.string.ends_with("`endif") { - self.string.truncate(self.string.len() - "`endif".len()); + self.truncate(self.string.len() - "`endif".len()); let trailing_endif = format!( "`endif{}{}", @@ -554,8 +592,7 @@ impl VerylWalker for Emitter { ); let mut additional_endif = 0; while self.string.ends_with(&trailing_endif) { - self.string - .truncate(self.string.len() - trailing_endif.len()); + self.truncate(self.string.len() - trailing_endif.len()); additional_endif += 1; } @@ -1557,7 +1594,7 @@ impl VerylWalker for Emitter { /// Semantic action for non-terminal 'CaseItem' fn case_item(&mut self, arg: &CaseItem) { - let start = self.column(); + let start = self.dst_column; match &*arg.case_item_group { CaseItemGroup::ExpressionCaseItemGroupList(x) => { self.expression(&x.expression); @@ -1571,7 +1608,7 @@ impl VerylWalker for Emitter { } self.colon(&arg.colon); self.space(1); - self.case_item_indent = Some(self.column() - start); + self.case_item_indent = Some((self.dst_column - start) as usize); match &*arg.case_item_group0 { CaseItemGroup0::Statement(x) => self.statement(&x.statement), CaseItemGroup0::LBraceCaseItemGroup0ListRBrace(x) => { @@ -1605,8 +1642,7 @@ impl VerylWalker for Emitter { if let Some(ref x) = arg.attribute_opt { let comma = if self.string.trim_end().ends_with(',') { self.unindent(); - self.string - .truncate(self.string.len() - format!(",{}", NEWLINE).len()); + self.truncate(self.string.len() - format!(",{}", NEWLINE).len()); self.newline(); true } else { @@ -3154,6 +3190,13 @@ impl VerylWalker for Emitter { self.description_group(&x.description_group); } self.newline(); + + // build map and insert link to map + if self.build_opt.sourcemap_target != SourceMapTarget::None { + self.source_map.as_mut().unwrap().build(); + self.str(&self.source_map.as_ref().unwrap().get_link()); + self.newline(); + } } } diff --git a/crates/metadata/src/build.rs b/crates/metadata/src/build.rs index 08f3baede..a94325a5f 100644 --- a/crates/metadata/src/build.rs +++ b/crates/metadata/src/build.rs @@ -26,6 +26,8 @@ pub struct Build { pub omit_project_prefix: bool, #[serde(default)] pub strip_comments: bool, + #[serde(default)] + pub sourcemap_target: SourceMapTarget, } #[derive(Clone, Copy, Debug, Default, Serialize, Deserialize, PartialEq, Eq)] @@ -73,6 +75,18 @@ pub enum Target { Bundle { path: PathBuf }, } +#[derive(Clone, Debug, Default, Serialize, Deserialize, PartialEq, Eq)] +#[serde(tag = "type")] +pub enum SourceMapTarget { + #[default] + #[serde(rename = "source")] + Source, + #[serde(rename = "directory")] + Directory { path: PathBuf }, + #[serde(rename = "none")] + None, +} + #[derive(Clone, Copy, Debug, Serialize, Deserialize, PartialEq, Eq)] pub enum BuiltinType { #[serde(rename = "u32")] diff --git a/crates/metadata/src/lib.rs b/crates/metadata/src/lib.rs index 20d3de7fd..61c6a8da9 100644 --- a/crates/metadata/src/lib.rs +++ b/crates/metadata/src/lib.rs @@ -13,7 +13,7 @@ mod test; #[cfg(test)] mod tests; mod utils; -pub use build::{Build, BuiltinType, ClockType, FilelistType, ResetType, Target}; +pub use build::{Build, BuiltinType, ClockType, FilelistType, ResetType, SourceMapTarget, Target}; pub use doc::Doc; pub use format::Format; pub use lint::{Case, Lint}; diff --git a/crates/metadata/src/metadata.rs b/crates/metadata/src/metadata.rs index a5f0d27d7..139654cbd 100644 --- a/crates/metadata/src/metadata.rs +++ b/crates/metadata/src/metadata.rs @@ -232,7 +232,11 @@ impl Metadata { let src_files = if files.is_empty() { utils::gather_files_with_extension(&base, "veryl", symlink)? } else { - files.iter().map(|x| x.as_ref().to_path_buf()).collect() + let mut ret = Vec::new(); + for file in files { + ret.push(fs::canonicalize(file.as_ref())?); + } + ret }; let mut ret = Vec::new(); diff --git a/crates/sourcemap/Cargo.toml b/crates/sourcemap/Cargo.toml new file mode 100644 index 000000000..331fe0a71 --- /dev/null +++ b/crates/sourcemap/Cargo.toml @@ -0,0 +1,17 @@ +[package] +name = "veryl-sourcemap" +version = "0.10.1" +edition = "2021" +authors.workspace = true +repository.workspace = true +keywords.workspace = true +categories.workspace = true +license.workspace = true +readme.workspace = true +description.workspace = true + +[dependencies] +miette = {workspace = true} +relative-path = "1.9" +sourcemap = "8.0" +thiserror = {workspace = true} diff --git a/crates/sourcemap/src/lib.rs b/crates/sourcemap/src/lib.rs new file mode 100644 index 000000000..1ab0104fb --- /dev/null +++ b/crates/sourcemap/src/lib.rs @@ -0,0 +1,4 @@ +mod sourcemap; +mod sourcemap_error; +pub use sourcemap::SourceMap; +pub use sourcemap_error::SourceMapError; diff --git a/crates/sourcemap/src/sourcemap.rs b/crates/sourcemap/src/sourcemap.rs new file mode 100644 index 000000000..63200d999 --- /dev/null +++ b/crates/sourcemap/src/sourcemap.rs @@ -0,0 +1,151 @@ +use crate::SourceMapError; +use relative_path::PathExt; +use sourcemap::SourceMapBuilder; +use std::fs; +use std::path::{Path, PathBuf}; + +const LINK_HEADER: &str = "//# sourceMappingURL="; + +pub struct SourceMap { + pub src_path: PathBuf, + pub dst_path: PathBuf, + pub map_path: PathBuf, + pub src_path_from_map: String, + pub map_path_from_dst: String, + builder: SourceMapBuilder, + source_map: Option, +} + +impl SourceMap { + pub fn new(src_path: &Path, dst_path: &Path, map_path: &Path) -> Self { + let src_path = src_path.to_path_buf(); + let dst_path = dst_path.to_path_buf(); + let map_path = map_path.to_path_buf(); + let src_path_from_map = if let Ok(x) = src_path.relative_to(map_path.parent().unwrap()) { + x.as_str().to_owned() + } else { + src_path.to_string_lossy().to_string() + }; + let map_path_from_dst = if let Ok(x) = map_path.relative_to(dst_path.parent().unwrap()) { + x.as_str().to_owned() + } else { + map_path.to_string_lossy().to_string() + }; + let builder = SourceMapBuilder::new(Some(&map_path.file_name().unwrap().to_string_lossy())); + Self { + src_path, + dst_path, + map_path, + src_path_from_map, + map_path_from_dst, + builder, + source_map: None, + } + } + + pub fn from_src(src_path: &Path) -> Result { + let src = fs::read_to_string(src_path)?; + + if let Some(line) = src.lines().last() { + if line.starts_with(LINK_HEADER) { + let map_path = line.strip_prefix(LINK_HEADER).unwrap(); + let map_path = src_path.parent().unwrap().join(map_path); + let text = fs::read(&map_path)?; + + let src_path = src_path.to_path_buf(); + let dst_path = PathBuf::new(); + let src_path_from_map = String::new(); + let map_path_from_dst = String::new(); + let builder = + SourceMapBuilder::new(Some(&map_path.file_name().unwrap().to_string_lossy())); + let source_map = Some(sourcemap::SourceMap::from_reader(text.as_slice())?); + + return Ok(Self { + src_path, + dst_path, + map_path, + src_path_from_map, + map_path_from_dst, + builder, + source_map, + }); + } + } + + Err(SourceMapError::NotFound) + } + + pub fn add( + &mut self, + dst_line: u32, + dst_column: u32, + src_line: u32, + src_column: u32, + name: &str, + ) { + // Line and column of sourcemap crate is 0-based + let dst_line = dst_line - 1; + let dst_column = dst_column - 1; + let src_line = src_line - 1; + let src_column = src_column - 1; + + self.builder.add( + dst_line, + dst_column, + src_line, + src_column, + Some(&self.src_path_from_map), + Some(name), + false, + ); + } + + pub fn set_source_content(&mut self, content: &str) { + let id = self.builder.add_source(&self.src_path_from_map); + self.builder.set_source_contents(id, Some(content)); + } + + pub fn build(&mut self) { + let mut builder = + SourceMapBuilder::new(Some(&self.map_path.file_name().unwrap().to_string_lossy())); + std::mem::swap(&mut builder, &mut self.builder); + self.source_map = Some(builder.into_sourcemap()); + } + + pub fn get_link(&self) -> String { + format!("{}{}", LINK_HEADER, self.map_path_from_dst) + } + + pub fn to_bytes(&self) -> Result, SourceMapError> { + if let Some(ref x) = self.source_map { + let mut ret = Vec::new(); + x.to_writer(&mut ret)?; + Ok(ret) + } else { + Err(SourceMapError::NotFound) + } + } + + pub fn lookup(&self, line: u32, column: u32) -> Option<(PathBuf, u32, u32)> { + if let Some(ref x) = self.source_map { + if let Some(token) = x.lookup_token(line - 1, column - 1) { + if let Some(path) = token.get_source() { + let path = self.map_path.parent().unwrap().join(path); + if let Ok(path) = fs::canonicalize(path) { + let line = token.get_src_line() + 1; + let column = token.get_src_col() + 1; + Some((path, line, column)) + } else { + None + } + } else { + None + } + } else { + None + } + } else { + None + } + } +} diff --git a/crates/sourcemap/src/sourcemap_error.rs b/crates/sourcemap/src/sourcemap_error.rs new file mode 100644 index 000000000..3999410b5 --- /dev/null +++ b/crates/sourcemap/src/sourcemap_error.rs @@ -0,0 +1,17 @@ +use miette::{self, Diagnostic}; +use thiserror::Error; + +#[derive(Error, Diagnostic, Debug)] +pub enum SourceMapError { + #[diagnostic(code(MetadataError::Io), help(""))] + #[error("IO error")] + Io(#[from] std::io::Error), + + #[diagnostic(code(MetadataError::SourceMap), help(""))] + #[error("sourcemap error")] + SourceMap(#[from] sourcemap::Error), + + #[diagnostic(code(MetadataError::NotFound), help(""))] + #[error("map is not found")] + NotFound, +} diff --git a/crates/tests/src/lib.rs b/crates/tests/src/lib.rs index 23df0372f..eeac048c4 100644 --- a/crates/tests/src/lib.rs +++ b/crates/tests/src/lib.rs @@ -100,6 +100,7 @@ mod formatter { #[cfg(test)] mod emitter { use std::fs; + use std::path::PathBuf; use veryl_analyzer::Analyzer; use veryl_emitter::Emitter; use veryl_metadata::Metadata; @@ -122,21 +123,34 @@ mod emitter { } } - let file = format!("../../testcases/veryl/{}.veryl", name); - let input = fs::read_to_string(&file).unwrap(); + let src_path = PathBuf::from(format!("../../testcases/veryl/{}.veryl", name)); + let dst_path = PathBuf::from(format!("../../testcases/sv/{}.sv", name)); + let map_path = PathBuf::from(format!("../../testcases/map/testcases/sv/{}.sv.map", name)); - let ret = Parser::parse(&input, &file).unwrap(); + let input = fs::read_to_string(&src_path).unwrap(); + let ret = Parser::parse(&input, &src_path).unwrap(); let prj = &metadata.project.name; let analyzer = Analyzer::new(&metadata); - let _ = analyzer.analyze_pass1(&prj, &input, &file, &ret.veryl); - let _ = analyzer.analyze_pass2(&prj, &input, &file, &ret.veryl); - let mut emitter = Emitter::new(&metadata); + let _ = analyzer.analyze_pass1(&prj, &input, &src_path, &ret.veryl); + let _ = analyzer.analyze_pass2(&prj, &input, &src_path, &ret.veryl); + let mut emitter = Emitter::new(&metadata, &src_path, &dst_path, &map_path); emitter.emit(&prj, &ret.veryl); - let file = format!("../../testcases/sv/{}.sv", name); - let reference = fs::read_to_string(&file).unwrap(); + let out_code = emitter.as_str(); + let ref_code = fs::read_to_string(&dst_path).unwrap(); + + assert_eq!(ref_code, out_code); + + let out_map = String::from_utf8(emitter.source_map().to_bytes().unwrap()).unwrap(); + let ref_map = if cfg!(target_os = "windows") { + fs::read_to_string(&map_path) + .unwrap() + .replace("\\n", "\\r\\n") + } else { + fs::read_to_string(&map_path).unwrap() + }; - assert_eq!(reference, emitter.as_str()); + assert_eq!(ref_map, out_map); } include!(concat!(env!("OUT_DIR"), "/test.rs")); diff --git a/crates/veryl/Cargo.toml b/crates/veryl/Cargo.toml index a8da3fc01..f9b873a10 100644 --- a/crates/veryl/Cargo.toml +++ b/crates/veryl/Cargo.toml @@ -49,3 +49,4 @@ veryl-emitter = {version = "0.10.1", path = "../emitter"} veryl-formatter = {version = "0.10.1", path = "../formatter"} veryl-metadata = {version = "0.10.1", path = "../metadata"} veryl-parser = {version = "0.10.1", path = "../parser"} +veryl-sourcemap = {version = "0.10.1", path = "../sourcemap"} diff --git a/crates/veryl/src/cmd_build.rs b/crates/veryl/src/cmd_build.rs index 2df1bc069..4f16cd4fe 100644 --- a/crates/veryl/src/cmd_build.rs +++ b/crates/veryl/src/cmd_build.rs @@ -11,7 +11,7 @@ use tempfile::TempDir; use veryl_analyzer::symbol::SymbolKind; use veryl_analyzer::{type_dag, Analyzer}; use veryl_emitter::Emitter; -use veryl_metadata::{FilelistType, Metadata, PathPair, Target}; +use veryl_metadata::{FilelistType, Metadata, PathPair, SourceMapTarget, Target}; use veryl_parser::{veryl_token::TokenSource, Parser}; pub struct CmdBuild { @@ -60,10 +60,7 @@ impl CmdBuild { None }; - for (path, _, parser, _) in &contexts { - let mut emitter = Emitter::new(metadata); - emitter.emit(&path.prj, &parser.veryl); - + for (path, input, parser, _) in &contexts { let dst = if let Some(ref temp_dir) = temp_dir { temp_dir.path().join( path.dst @@ -74,6 +71,26 @@ impl CmdBuild { path.dst.clone() }; + let map = match &metadata.build.sourcemap_target { + SourceMapTarget::Directory { path: map_dir } => { + let dst = path + .dst + .strip_prefix(metadata.project_path()) + .into_diagnostic()?; + let mut map = dst.to_path_buf(); + map.set_extension("sv.map"); + metadata.project_path().join(map_dir).join(map) + } + _ => { + let mut map = dst.clone(); + map.set_extension("sv.map"); + map + } + }; + + let mut emitter = Emitter::new(metadata, &path.src, &dst, &map); + emitter.emit(&path.prj, &parser.veryl); + let dst_dir = dst.parent().unwrap(); if !dst_dir.exists() { std::fs::create_dir_all(dst.parent().unwrap()).into_diagnostic()?; @@ -90,6 +107,28 @@ impl CmdBuild { file.flush().into_diagnostic()?; debug!("Output file ({})", dst.to_string_lossy()); + + if metadata.build.sourcemap_target != SourceMapTarget::None { + let source_map = emitter.source_map(); + source_map.set_source_content(input); + let source_map = source_map.to_bytes().into_diagnostic()?; + + let map_dir = map.parent().unwrap(); + if !map_dir.exists() { + std::fs::create_dir_all(map.parent().unwrap()).into_diagnostic()?; + } + + let mut file = OpenOptions::new() + .create(true) + .write(true) + .truncate(true) + .open(&map) + .into_diagnostic()?; + file.write_all(&source_map).into_diagnostic()?; + file.flush().into_diagnostic()?; + + debug!("Output map ({})", map.to_string_lossy()); + } } self.gen_filelist(metadata, &paths, temp_dir)?; diff --git a/crates/veryl/src/runner/verilator.rs b/crates/veryl/src/runner/verilator.rs index 771f27516..d7cc4ee6f 100644 --- a/crates/veryl/src/runner/verilator.rs +++ b/crates/veryl/src/runner/verilator.rs @@ -4,12 +4,14 @@ use log::{error, info}; use miette::{IntoDiagnostic, Result}; use once_cell::sync::Lazy; use regex::Regex; +use std::path::PathBuf; use std::process::Stdio; use tokio::process::{Child, Command}; use tokio::runtime::Runtime; use tokio_util::codec::{FramedRead, LinesCodec}; use veryl_metadata::Metadata; use veryl_parser::resource_table::StrId; +use veryl_sourcemap::SourceMap; #[derive(Copy, Clone, Debug, PartialEq, Eq)] enum State { @@ -33,6 +35,36 @@ fn parse_msg(line: &str) -> String { } } +fn remap_msg(line: &str) -> String { + let mut ret = line.to_string(); + + static RE: Lazy = Lazy::new(|| Regex::new(r"([^: ]+):([0-9]+)(?::([0-9]+))?").unwrap()); + if let Some(caps) = RE.captures(line) { + let start = caps.get(1).unwrap().start(); + let path = &caps[1].to_string(); + let line = &caps[2].parse::().unwrap(); + let column = if let Some(x) = caps.get(3) { + Some(x.as_str().parse::().unwrap()) + } else { + None + }; + + if let Ok(source_map) = SourceMap::from_src(&PathBuf::from(path)) { + if let Some((path, line, column)) = source_map.lookup(*line, column.unwrap_or(1)) { + ret.push_str(&format!( + "\n{}^ from: {}:{}:{}", + " ".repeat(start), + path.to_string_lossy(), + line, + column + )); + } + } + } + + ret +} + impl Verilator { pub fn new() -> Self { Self { @@ -60,34 +92,34 @@ impl Verilator { self.fatal(&parse_msg(line)); } else if line.starts_with("%Warning:") { self.state = State::CompileWarning; - self.warning(line); + self.warning(&remap_msg(line)); } else if line.starts_with("%Error:") { self.state = State::CompileError; - self.error(line); + self.error(&remap_msg(line)); } } State::CompileWarning => { if line.starts_with(' ') { - self.warning(line); - } else if line.starts_with("%Warning-") { + self.warning(&remap_msg(line)); + } else if line.starts_with("%Warning") { self.state = State::CompileWarning; - self.warning(line); - } else if line.starts_with("%Error:") { + self.warning(&remap_msg(line)); + } else if line.starts_with("%Error") { self.state = State::CompileError; - self.error(line); + self.error(&remap_msg(line)); } else { self.state = State::Idle; } } State::CompileError => { if line.starts_with(' ') { - self.error(line); - } else if line.starts_with("%Warning-") { + self.error(&remap_msg(line)); + } else if line.starts_with("%Warning") { self.state = State::CompileWarning; - self.warning(line); - } else if line.starts_with("%Error:") { + self.warning(&remap_msg(line)); + } else if line.starts_with("%Error") { self.state = State::CompileError; - self.error(line); + self.error(&remap_msg(line)); } else { self.state = State::Idle; } diff --git a/testcases/map/testcases/sv/01_number.sv.map b/testcases/map/testcases/sv/01_number.sv.map new file mode 100644 index 000000000..18aed1321 --- /dev/null +++ b/testcases/map/testcases/sv/01_number.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"01_number.sv.map","sources":["../../../veryl/01_number.veryl"],"names":["","module","Module01",";","localparam","int unsigned","a","=","0123456789","aa","01234_56789","b","32'b01xzXZ","bb","32'b01_xz_XZ","bbb","32'sb01_xz_XZ","c","32'o01234567xzXZ","cc","32'o01234_567xzXZ","ccc","32'so01234_567xzXZ","d","32'd0123456789","dd","32'd01234_56789","ddd","32'sd01234_56789","e","128'h0123456789abcdefxzABCDEFXZ","ee","128'h01234_5678_9abc_defxz_ABCD_EFXZ","eee","128'sh01234_5678_9abc_defxz_ABCD_EFXZ","f","'0","ff","'1","fff","'x","ffff","'X","fffff","'z","ffffff","'Z","g","0123456789.0123456789","gg","0123456789.0123456789e+0123456789","ggg","0123456789.0123456789e-0123456789","gggg","0123456789.0123456789E+0123456789","ggggg","0123456789.0123456789E-0123456789","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;;IAEZC,WAAUC,aAAJC,GAAQC,EAAEC,UAAUL;IAC1BC,WAAUC,aAAJI,GAAQF,EAAEG,WAAWP;;;IAG3BC,WAAWC,aAALM,IAASJ,EAAEK,UAAUT;IAC3BC,WAAWC,aAALQ,IAASN,EAAEO,YAAYX;IAC7BC,WAAWC,aAALU,IAASR,EAAES,aAAab;;;IAG9BC,WAAWC,aAALY,IAASV,EAAEW,gBAAgBf;IACjCC,WAAWC,aAALc,IAASZ,EAAEa,iBAAiBjB;IAClCC,WAAWC,aAALgB,IAASd,EAAEe,kBAAkBnB;;;IAGnCC,WAAWC,aAALkB,IAAShB,EAAEiB,cAAcrB;IAC/BC,WAAWC,aAALoB,IAASlB,EAAEmB,eAAevB;IAChCC,WAAWC,aAALsB,IAASpB,EAAEqB,gBAAgBzB;;;IAGjCC,WAAWC,aAALwB,IAAStB,EAAEuB,+BAA+B3B;IAChDC,WAAWC,aAAL0B,IAASxB,EAAEyB,oCAAoC7B;IACrDC,WAAWC,aAAL4B,IAAS1B,EAAE2B,qCAAqC/B;;;IAGtDC,WAAcC,aAAR8B,OAAY5B,EAAE6B,EAAEjC;IACtBC,WAAcC,aAARgC,OAAY9B,EAAE+B,EAAEnC;IACtBC,WAAcC,aAARkC,OAAYhC,EAAEiC,EAAErC;IACtBC,WAAcC,aAARoC,OAAYlC,EAAEmC,EAAEvC;IACtBC,WAAcC,aAARsC,OAAYpC,EAAEqC,EAAEzC;IACtBC,WAAcC,aAARwC,OAAYtC,EAAEuC,EAAE3C;;;IAGtBC,WAAaC,aAAP0C,MAAWxC,EAAEyC,qBAAqB7C;IACxCC,WAAaC,aAAP4C,MAAW1C,EAAE2C,iCAAiC/C;IACpDC,WAAaC,aAAP8C,MAAW5C,EAAE6C,iCAAiCjD;IACpDC,WAAaC,aAAPgD,MAAW9C,EAAE+C,iCAAiCnD;IACpDC,WAAaC,aAAPkD,MAAWhD,EAAEiD,iCAAiCrD;AACxDsD"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/02_builtin_type.sv.map b/testcases/map/testcases/sv/02_builtin_type.sv.map new file mode 100644 index 000000000..c03422789 --- /dev/null +++ b/testcases/map/testcases/sv/02_builtin_type.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"02_builtin_type.sv.map","sources":["../../../veryl/02_builtin_type.veryl"],"names":["","module","Module02",";","int unsigned","_a","=","1","longint unsigned","_aa","int signed","_b","longint signed","_bb","shortreal","_c","real","_cc","logic","_d","[","10","]","_dd","][","_ddd","bit","_e","_ee","_eee","_f","_ff","_fff","_ffff","_fffff","_ffffff","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;;IAEHC,iBAALC;mBAASC,EAAEC,CAACJ;IACPK,iBAALC;oBAASH,EAAEC,CAACJ;;;IAGPO,eAALC;mBAASL,EAAEC,CAACJ;IACPS,eAALC;oBAASP,EAAEC,CAACJ;;;IAGPW,UAALC;mBAAST,EAAEC,CAACJ;IACPa,UAALC;oBAASX,EAAEC,CAACJ;;;IAGNe,uBAANC;mBAAoBb,EAAEC,CAACJ;IACjBe,MAAKE,CAACC,MAAEC,UAAdC;oBAAoBjB,EAAEC,CAACJ;IACjBe,MAAKE,CAACC,MAAEG,EAAEH,MAAEC,EAAlBG;qBAAoBnB,EAAEC,CAACJ;;;IAGjBuB,qBAANC;mBAAkBrB,EAAEC,CAACJ;IACfuB,IAAGN,CAACC,MAAEC,UAAZM;oBAAkBtB,EAAEC,CAACJ;IACfuB,IAAGN,CAACC,MAAEG,EAAEH,MAAEC,EAAhBO;qBAAkBvB,EAAEC,CAACJ;;;IAGZC,iBAAT0B,QAAaV,GAACC,IAAEC;mBAAEhB,EAAEC,CAACJ;IACZK,iBAATuB,QAAaX,GAACC,IAAEC;oBAAEhB,EAAEC,CAACJ;IACZO,iBAATsB,QAAaZ,GAACC,IAAEC;qBAAEhB,EAAEC,CAACJ;IACZS,iBAATqB,QAAab,GAACC,IAAEC;sBAAEhB,EAAEC,CAACJ;IACZW,iBAAToB,QAAad,GAACC,IAAEC;uBAAEhB,EAAEC,CAACJ;IACZa,iBAATmB,QAAaf,GAACC,IAAEC;wBAAEhB,EAAEC,CAACJ;AAC7BiC"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/03_operator.sv.map b/testcases/map/testcases/sv/03_operator.sv.map new file mode 100644 index 000000000..2ccefe5a1 --- /dev/null +++ b/testcases/map/testcases/sv/03_operator.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"03_operator.sv.map","sources":["../../../veryl/03_operator.veryl"],"names":["","module","Module03",";","logic","_a","=","+","1","_aa","-","_b","!","_bb","~","_c","&","_cc","|","_ccc","^","_cccc","~&","_ccccc","~|","_cccccc","~^","_ccccccc","^~","_d","**","_dd","*","_ddd","/","_dddd","%","_ddddd","_dddddd","_e","<<","_ee",">>","_eee","<<<","_eeee",">>>","_f","_ff","<=","_fff","_ffff",">=","_fffff","==","_ffffff","!=","_fffffff","===","_ffffffff","!==","_fffffffff","==?","_ffffffffff","!=?","_g","_gg","_ggg","_gggg","_ggggg","_h","&&","_hh","||","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;;IAEHC,MAALC;mBAAWC,EAAEC,CAACC,CAACL;IACVC,MAALK;oBAAWH,EAAEI,CAACF,CAACL;;;IAGVC,MAALO;mBAAWL,EAAEM,CAACJ,CAACL;IACVC,MAALS;oBAAWP,EAAEQ,CAACN,CAACL;;;IAGLC,MAAVW;mBAAgBT,EAAEU,CAACR,CAACL;IACVC,MAAVa;oBAAgBX,EAAEY,CAACV,CAACL;IACVC,MAAVe;qBAAgBb,EAAEc,CAACZ,CAACL;IACVC,MAAViB;sBAAgBf,EAAEgB,EAAEd,CAACL;IACXC,MAAVmB;uBAAgBjB,EAAEkB,EAAEhB,CAACL;IACXC,MAAVqB;wBAAgBnB,EAAEoB,EAAElB,CAACL;IACXC,MAAVuB;yBAAgBrB,EAAEsB,EAAEpB,CAACL;;;IAGZC,MAATyB;mBAAevB,EAAEE,EAAEsB,GAAGtB,CAACL;IACdC,MAAT2B;oBAAezB,EAAEE,EAAEwB,EAAExB,CAACL;IACbC,MAAT6B;qBAAe3B,EAAEE,EAAE0B,EAAE1B,CAACL;IACbC,MAAT+B;sBAAe7B,EAAEE,EAAE4B,EAAE5B,CAACL;IACbC,MAATiC;uBAAe/B,EAAEE,EAAED,EAAEC,CAACL;IACbC,MAATkC;wBAAehC,EAAEE,EAAEE,EAAEF,CAACL;;;IAGfC,MAAPmC;mBAAajC,EAAEE,EAAEgC,GAAGhC,CAACL;IACdC,MAAPqC;oBAAanC,EAAEE,EAAEkC,GAAGlC,CAACL;IACdC,MAAPuC;qBAAarC,EAAEE,EAAEoC,IAAIpC,CAACL;IACfC,MAAPyC;sBAAavC,EAAEE,EAAEsC,IAAItC,CAACL;;;IAGTC,MAAb2C;mBAAmBzC,EAAEE,IAAKA,CAACL;IACdC,MAAb4C;oBAAmB1C,EAAEE,EAAEyC,GAAGzC,CAACL;IACdC,MAAb8C;qBAAmB5C,EAAEE,IAAKA,CAACL;IACdC,MAAb+C;sBAAmB7C,EAAEE,EAAE4C,GAAG5C,CAACL;IACdC,MAAbiD;uBAAmB/C,EAAEE,EAAE8C,GAAG9C,CAACL;IACdC,MAAbmD;wBAAmBjD,EAAEE,EAAEgD,GAAGhD,CAACL;IACdC,MAAbqD;yBAAmBnD,EAAEE,EAAEkD,IAAIlD,CAACL;IACfC,MAAbuD;0BAAmBrD,EAAEE,EAAEoD,IAAIpD,CAACL;IACfC,MAAbyD;2BAAmBvD,EAAEE,EAAEsD,IAAItD,CAACL;IACfC,MAAb2D;4BAAmBzD,EAAEE,EAAEwD,IAAIxD,CAACL;;;IAGpBC,MAAR6D;mBAAc3D,EAAEE,EAAEQ,EAAER,CAACL;IACbC,MAAR8D;oBAAc5D,EAAEE,EAAEY,EAAEZ,CAACL;IACbC,MAAR+D;qBAAc7D,EAAEE,EAAEkB,GAAGlB,CAACL;IACdC,MAARgE;sBAAc9D,EAAEE,EAAEoB,GAAGpB,CAACL;IACdC,MAARiE;uBAAc/D,EAAEE,EAAEU,EAAEV,CAACL;;;IAGhBC,MAALkE;mBAAWhE,EAAEE,EAAE+D,GAAG/D,CAACL;IACdC,MAALoE;oBAAWlE,EAAEE,EAAEiE,GAAGjE,CAACL;AAC3BuE"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/04_module.sv.map b/testcases/map/testcases/sv/04_module.sv.map new file mode 100644 index 000000000..aca2e2ecb --- /dev/null +++ b/testcases/map/testcases/sv/04_module.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"04_module.sv.map","sources":["../../../veryl/04_module.veryl"],"names":["","module","Module04","#","(","parameter","int unsigned","a","=","1",",","localparam","aa","type","aaa","logic","[","10","]",")","input","b","output","bb","inout","tri","bbb","interface","bbbb","veryl_testcase_Interface04.d","bbbbb",";","c","longint unsigned","cc","_d","_dd","bit","][","_ddd","always_comb","0","assign","endmodule","Interface04","modport","d","endinterface"],"mappings":"AAAAA;AACAC,sBAAOC,SAASC,CAACC;;IAEbC,WAAWC,aAALC,IAAUC,EAAEC,cAASC;IAC3BC,WAAWL,aAALM,IAAUJ,EAAEC,cAASC;IAC3BC,WAAWE,aAALC,IAAUN,EAAEO,MAAKC,CAACC,MAAEC,CAAClB;AAC/BmB,EAAEf;;IAESgB,OAAOL,UAASC,CAACC,MAAEC,EAA1BG,KAA2BX;IACpBY,OAAOP,UAASC,CAACC,MAAEC,EAA1BK,KAA2Bb;IACpBc,OAAOC,IAAIV,MAAKC,CAACC,MAAEC,EAA1BQ,KAA2BhB;IACpBiB,UAAPC,KAAgBlB;IACDmB,6BAAfC,KAA6B9B;AACjCmB,CAAEY;;IAEEpB,WAAUL,iBAAJ0B,GAAQxB,EAAEC,CAACsB;IACjBpB,WAAUsB,iBAAJC,GAAQ1B,EAAEC,CAACsB;;;IAGPhB,uBAANoB;mBAAoB3B,EAAEC,CAACsB;IACjBhB,MAAKC,CAACC,MAAEC,UAAdkB;oBAAoB5B,EAAEC,CAACsB;IACjBM,MAAKrB,CAACC,MAAEqB,EAAErB,MAAEC,EAAlBqB;qBAAoB/B,EAAEC,CAACsB;;IAE3BS,YAAOjB,IAAIf,EAAEiC,CAACV;IACdW,OAAOhB,IAAIlB,EAAEiC,CAACV;AAClBY;;AAEAhB,yBAAUiB,WAAYb;IACXhB,MAAHiB,CAAQD;;IAEZc,QAAQC,EAAE1C;QACHgB,MAAHY,CAAQhC;IACZmB;AACJ4B"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/05_interface.sv.map b/testcases/map/testcases/sv/05_interface.sv.map new file mode 100644 index 000000000..f43706a61 --- /dev/null +++ b/testcases/map/testcases/sv/05_interface.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"05_interface.sv.map","sources":["../../../veryl/05_interface.veryl"],"names":["","interface","Interface05","#","(","parameter","int unsigned","a","=","1",",","aa","localparam","aaa",")",";","b","longint unsigned","bb","logic","c","[","10","]","cc","tri","][","ccc","modport","d","input","output","inout","endinterface"],"mappings":"AAAAA;AACAC,yBAAUC,YAAYC,CAACC;;IAEnBC,WAAWC,aAALC,IAASC,EAAEC,CAACC;IAClBL,WAAWC,aAALK,IAASH,EAAEC,CAACC;IAClBE,WAAWN,aAALO,IAASL,EAAEC,CAACT;AACtBc,CAAEC;;IAEEH,WAAUN,iBAAJU,GAAQR,EAAEC,CAACM;IACjBH,WAAUK,iBAAJC,GAAQV,EAAEC,CAACM;;;IAGRI,2BAALC,GAAsBL;IACjBI,UAASE,CAACC,MAAEC,UAAjBC,GAAsBT;IACjBU,IAAIN,MAAKE,CAACC,MAAEI,EAAEJ,MAAEC,EAArBI,GAAsBZ;;;IAG1Ba,QAAQC,EAAEzB;QACD0B,OAALV,GAAWV;QACNqB,OAALP,GAAWd;QACNsB,OAALL,GAAW3B;IACfc;AACJmB"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/06_function.sv.map b/testcases/map/testcases/sv/06_function.sv.map new file mode 100644 index 000000000..654dfa7a1 --- /dev/null +++ b/testcases/map/testcases/sv/06_function.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"06_function.sv.map","sources":["../../../veryl/06_function.veryl"],"names":["","module","Module06",";","localparam","int unsigned","ParamX","=","1","function","logic","[","]","FuncA","(","input","a",",","output","b","ref","c",")","d","+","/","return","2","endfunction","FuncC","e","always_comb","initial","begin","end","$clog2","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;IACZC,WAAcC,aAARC,OAAYC,EAAEC,CAACL;;;IAGrBM,mBAIKC,MAAKC,CAACL,UAAMM,EAJRC,KAAMC;QACRC,OAAOL,MAAKC,CAACL,UAAMM,EAAtBI,CAAuBC;QACpBC,OAAOR,MAAKC,CAACL,UAAMM,EAAtBO,CAAuBF;QACpBG,OAAOV,MAAKC,CAACL,UAAMM,EAAtBS,CAAuBrB;IAC3BsB,EAAEtB,CAAiBA;QACRK,aAAHkB;UAAOhB,EAAEC,CAACL;QACdgB,EAAEZ,EAAES,EAAEQ,EAAEhB,EAAEgB,EAAED,CAACpB;QACbkB,EAAEd,EAAES,EAAES,EAAEjB,CAACL;QACTuB,OAAOV,EAAEQ,EAAEG,CAACxB;IAChByB;;;IAGAnB,wBAASoB,KAAMf;QACRC,MAAML,MAAKC,CAACL,UAAMM,EAArBI,CAAsBC;QACnBG,MAAMV,MAAKC,CAACL,UAAMM,EAArBS,CAAsBrB;IAC1BsB,GAAEtB;QACEqB,EAAEd,EAAES,EAAES,EAAEjB,CAACL;IACbyB;;IAEOlB,MAAKC,CAACL,UAAMM,EAAfI;kBAAiBT,EAAEC,CAACL;IACjBO,MAAKC,CAACL,UAAMM,EAAfO;kBAAiBZ,EAAEC,CAACL;IACjBO,MAAKC,CAACL,UAAMM,EAAfS;kBAAiBd,EAAEC,CAACL;IACjBO,MAAKC,CAACL,UAAMM,EAAfW,CAAgBpB;IACbO,MAAKC,CAACL,UAAMM,EAAfkB,CAAgB3B;;;IAGpB4B,YAAOR,EAAEhB,EAAEM,KAAKC,CAACE,CAACC,EAAEE,CAACF,EAAEI,CAACC,CAACnB;;;IAGzB6B,QAAQC;QACJJ,KAAKf,CAACE,CAACC,EAAEI,CAACC,CAACnB;IACf+B;;;IAGAH,YAAOD,EAAEvB,EAAE4B,MAAMrB,CAACE,CAACM,CAACnB;AACxBiC"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/07_statement.sv.map b/testcases/map/testcases/sv/07_statement.sv.map new file mode 100644 index 000000000..0a0aea4a7 --- /dev/null +++ b/testcases/map/testcases/sv/07_statement.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"07_statement.sv.map","sources":["../../../veryl/07_statement.veryl"],"names":["","module","Module07",";","logic","a","aa","clk","=","1","always_comb","begin","+=","-=","*=","/=","%=","&=","|=","^=","<<=",">>=","<<<=",">>>=","if","end","else","for","int unsigned","i","0","10","+","2","==","break","j","&&","always_ff","(",")","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;IACHC,MAALC,GAAUF;IACLC,MAALE,GAAUH;IACLC,MAALG;oBAAWC,EAAEC,CAACN;;IAElBO,YAAYC;;QAERN,EAAEG,KAAKC,CAACN;QACRE,EAAEO,KAAKH,CAACN;QACRE,EAAEQ,KAAKJ,CAACN;QACRE,EAAES,KAAKL,CAACN;QACRE,EAAEU,KAAKN,CAACN;QACRE,EAAEW,KAAKP,CAACN;QACRE,EAAEY,KAAKR,CAACN;QACRE,EAAEa,KAAKT,CAACN;QACRE,EAAEc,KAAKV,CAACN;QACRE,EAAEe,KAAKX,CAACN;QACRE,EAAEgB,KAAKZ,CAACN;QACRE,EAAEiB,KAAKb,CAACN;QACRE,EAAEkB,KAAKd,CAACN;;;QAGRqB,IAAGnB,GAAEM;YACDN,GAAGG,EAAEC,CAACN;YACNG,GAAGE,EAAEC,CAACN;QACVsB,IAAEC,KAAKF,IAAGnB,GAAEM;YACRN,GAAGG,EAAEC,CAACN;YACNG,GAAGE,EAAEC,CAACN;QACVsB,IAAEC,KAAKf;YACHN,GAAGG,EAAEC,CAACN;YACNG,GAAGE,EAAEC,CAACN;QACVsB;;;QAGAE,KAAOC,aAAHC,IAAUC,GAAVD,IAAaE,IAAbF,KAAgBlB;YAChBN,GAAGG,EAAEqB,CAAC1B;YACNG,GAAGE,EAAEqB,EAAEG,EAAEvB,CAACN;QACdsB;;;QAGAE,KAAOC,aAAHC,IAAUC,GAAVD,KAAcE,IAAdF,KAAiBlB;YACjBN,GAAGG,EAAEqB,CAAC1B;YACNG,GAAGE,EAAEqB,EAAEG,EAAEvB,CAACN;QACdsB;;;QAGAE,KAAOC,aAAHC,IAAUC,GAAVD,IAAaE,IAAbF,EAAqBjB,GAAGqB,GAAEtB;YAC1BN,GAAGG,EAAEqB,CAAC1B;YACNG,GAAGE,EAAEqB,EAAEG,EAAEvB,CAACN;QACdsB;QACAE,KAAOC,aAAHC,IAAUC,GAAVD,IAAaE,IAAbF,EAAqBf,GAAGmB,GAAEtB;YAC1BN,GAAGG,EAAEqB,CAAC1B;YACNG,GAAGE,EAAEqB,EAAEG,EAAEvB,CAACN;QACdsB;;;QAGAE,KAAOC,aAAHC,IAAUC,GAAVD,IAAaE,IAAbF,KAAgBlB;YAChBN,GAAGG,EAAEqB,CAAC1B;YACNG,GAAGE,EAAEqB,EAAEG,EAAEvB,CAACN;YACVqB,IAAGK,EAAEK,GAAGJ,GAAEnB;gBACNwB,KAAKhC;YACTsB;QACJA;;QAEAE,KAAOC,aAAHC,IAAUC,GAAVD,IAAaE,IAAbF,KAAgBlB;YAChBgB,KAAOC,aAAHQ,IAAUN,GAAVM,IAAaL,IAAbK,KAAgBzB;gBAChBN,GAAGG,EAAEqB,CAAC1B;gBACNG,GAAGE,EAAEqB,EAAEG,EAAEI,CAACjC;gBACVqB,IAAGK,EAAEK,GAAGJ,EAAEO,GAAGD,EAAEF,GAAGJ,GAAEnB;oBAChBwB,KAAKhC;gBACTsB;YACJA;QACJA;IACJA;;IAEAa,YAAUC,SAAChC,GAAGiC,EAAE7B;QACZN,KAAAA,KAAOI,EAACN;QACRE,KAAAA,KAAOI,EAACN;QACRE,KAAAA,KAAOI,EAACN;QACRE,KAAAA,KAAOI,EAACN;QACRE,KAAAA,KAAOI,EAACN;QACRE,KAAAA,KAAOI,EAACN;QACRE,KAAAA,KAAOI,EAACN;QACRE,KAAAA,KAAOI,EAACN;QACRE,KAAAA,MAAOI,EAACN;QACRE,KAAAA,MAAOI,EAACN;QACRE,KAAAA,OAAOI,EAACN;QACRE,KAAAA,OAAOI,EAACN;IACZsB;AACJgB"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/08_generate_declaration.sv.map b/testcases/map/testcases/sv/08_generate_declaration.sv.map new file mode 100644 index 000000000..aa23bb07f --- /dev/null +++ b/testcases/map/testcases/sv/08_generate_declaration.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"08_generate_declaration.sv.map","sources":["../../../veryl/08_generate_declaration.veryl"],"names":["","module","Module08",";","localparam","int unsigned","a","=","1","b","logic","i_clk","if","==",":","label","always_ff","(",")","begin","end","else","label1","for","i","0","10","label2","+=","2","label3","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;IACZC,WAAaC,aAAPC,MAAaC,EAAEC,CAACL;IACtBC,WAAaC,aAAPI,MAAaF,EAAEC,CAACL;IACXO,aAAPC;sBAAaJ,EAAEC,CAACL;;;IAGpBS,IAAGN,EAAEO,GAAGL,SAAEM,CAACC,KAAMf;QACNU,MAAHJ,CAAQH;QACZa,YAAUC,SAACN,KAAKO,EAAEC;YACdb,GAAEC,EAAEC,CAACL;QACTiB;IACJA,IAAEC,KAAKT,IAAGH,EAAEI,GAAGL,eAAER;QACNU,MAAHJ,CAAQH;QACZa,YAAUC,SAACN,KAAKO,EAAEC;YACdb,GAAEC,EAAEC,CAACL;QACTiB;IACJA,IAAEC,KAAKT,IAAGH,EAAEI,GAAGL,SAAEM,CAACQ,MAAOtB;QACdU,MAAHJ,CAAQH;QACZa,YAAUC,SAACN,KAAKO,EAAEC;YACdb,GAAEC,EAAEC,CAACL;QACTiB;IACJA,IAAEC,iBAAKrB;QACIU,MAAHJ,CAAQH;QACZa,YAAUC,SAACN,KAAKO,EAAEC;YACdb,GAAEC,EAAEC,CAACL;QACTiB;IACJA;;;IAGAG,YAAIC,IAAKC,GAALD,IAAQE,IAARF,WAAWV,CAACa,MAAO3B;QACZU,MAAHJ,CAAQH;QACZa,YAAUC,SAACN,KAAKO,EAAEC;YACdb,GAAEC,EAAEiB,CAACrB;QACTiB;IACJA;;;IAGAG,YAAIC,IAAKC,GAALD,IAAQE,IAARF,EAAgBI,GAAGC,SAAEf,CAACgB,MAAO9B;QACtBU,MAAHJ,CAAQH;QACZa,YAAUC,SAACN,KAAKO,EAAEC;YACdb,GAAEC,EAAEiB,CAACrB;QACTiB;IACJA;AACJW"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/09_struct_enum.sv.map b/testcases/map/testcases/sv/09_struct_enum.sv.map new file mode 100644 index 000000000..8e904de96 --- /dev/null +++ b/testcases/map/testcases/sv/09_struct_enum.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"09_struct_enum.sv.map","sources":["../../../veryl/09_struct_enum.veryl"],"names":["","module","Module09",";","typedef struct packed","{","logic","[","10","]","a","aa","int unsigned","aaa","A","typedef enum","2","B_X","=","1",",","B_Y","B_Z","B","FOO_C_0","FOO_C_1","C","b","c","always_comb",".","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;;IAEZC,sBAASC;QACAC,aAAKC,CAACC,MAAEC,EAAbC,GAAcP;QACTG,aAAKC,CAACC,MAAEC,EAAbE,GAAcR;QACTS,sBAALC,GAAcV;MAHXW,EAIPd;;;IAGAe,aAAQT,MAAKC,CAACS,KAACP,EAAEJ;QACbY,IAAEC,EAAEC,CAACC;QACLC,IAAEH,EAAEF,CAACI;QACLE,GAACtB;MAHAuB,EAILvB;;IAGAe,aAAQT,MAAMD;QACVmB,OAAGJ;QACHK,OAAGzB;MAFF0B,EAGL1B;;IAEOc,EAAHJ,CAAIP;IACDoB,EAAHI,CAAIxB;IACDuB,EAAHE,CAAIzB;;IAER0B,YAAOnB,CAACoB,CAACpB,IAAIQ,EAAEC,CAAChB;IAChB0B,YAAOnB,CAACoB,CAACnB,IAAIO,EAAEC,CAAChB;IAChB0B,YAAOnB,CAACoB,CAACjB,IAAIK,EAAEC,CAAChB;IAChB0B,YAAOF,MAAMT,EAAED,GAAId;IACnB0B,YAAOD,MAAMV,EAAEM,OAAMrB;AACzB4B"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/10_various_line_comment.sv.map b/testcases/map/testcases/sv/10_various_line_comment.sv.map new file mode 100644 index 000000000..2dad4a425 --- /dev/null +++ b/testcases/map/testcases/sv/10_various_line_comment.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"10_various_line_comment.sv.map","sources":["../../../veryl/10_various_line_comment.veryl"],"names":["","module","Module10","(","input","logic","i_clk",",","i_rst_n","i_up","i_down","output","[","8","]","o_count",")",";","count","2","up_down","always_comb","=","begin","<<","1","|","end","always_ff","if","0","else","==","2'b10","+","2'b01","-","endmodule"],"mappings":"AAAAA,AAAAC;gBACCC;CACAC;;IAGIC;KACAC;KAHDC;IAIAC;IACOH,MAAMC,MAAbG,OAAkBD;IACXH,MAAMC,MAAbI,OAAkBF;;IAETH,OAAOC,cAAhBK,OAAwBH;IACfI,OAAON,MAAKO,CAACC,KAACC,EAAvBC,OAAwBf;AAC5BgB,CAAEC;;IAEIZ;KACFO;IACAC;QACAC;KAJII;IAKJD;IACaZ,MAAKO,CAACO,KAACL,EAAhBM,OAAiBH;;IAErBI,YAAON,QAAQO,EAAEJ,KAAKD;;IAEtBI;KACCE;QACGH,QAAQE;SACPnB,CAACM;SACDe;SACAC,CAACT;SACDU,EAAEhB,MAAMO;IACbU;;IAEAC;OACCzB,SAACG;IACFC;aACCC;IACDQ;KACCO;QACGM;oBACCN;YACGL,OAAMI,EAAEQ,CAACb;QACbU;SACCI;SACAF;UACAT;SACAY;SACAC,OAAMV;YACHL,OAAMI,EAAEJ;aACPgB,EAAET;YACHR;QACJU;SACCI;SACAF;UACAT,QAAQY,GAAGG,OAAMZ;YACdL;cACCI,EAAEJ,MAAMkB;aACRX,CAACR;QACNU;IACJA;AACJU"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/11_let.sv.map b/testcases/map/testcases/sv/11_let.sv.map new file mode 100644 index 000000000..5a8be32d4 --- /dev/null +++ b/testcases/map/testcases/sv/11_let.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"11_let.sv.map","sources":["../../../veryl/11_let.veryl"],"names":["","module","Module11",";","logic","b","[","10","]","bb","bit","][","_bbb","=","1","_c","always_comb","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;;IAEFC,uBAANC,IAAmBF;IACbC,MAAKE,CAACC,MAAEC,UAAdC,IAAmBN;IACbO,MAAKJ,CAACC,MAAEI,EAAEJ,MAAEC,EAAlBI;qBAAoBC,EAAEC,CAACX;;;IAGnBC,MAAKE,CAACC,MAAEC,EAAZO;mBAAcF,EAAEC,CAACX;;;IAGrBa,YAAOX,GAAGQ,EAAEC,CAACX;IACba,YAAOP,GAAGI,EAAEC,CAACX;AACjBc"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/12_always.sv.map b/testcases/map/testcases/sv/12_always.sv.map new file mode 100644 index 000000000..029149b2f --- /dev/null +++ b/testcases/map/testcases/sv/12_always.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"12_always.sv.map","sources":["../../../veryl/12_always.veryl"],"names":["","module","Module12_1","(","input","logic","i_clk",",","i_rst_n",")",";","a","b","always_ff","begin","if","=","0","end","else","~","endmodule","Module12_2","i_clk_p","i_clk_n","i_rst_ah","i_rst_al","i_rst_sh","i_rst_sl","aa","1","c","1'b0","[","]","5",":","always_comb","10","10'b0",".","10'b01z","+","16'hffff","*","3","/","4"],"mappings":"AAAAA,AAAAC,sBAAOC,WAAWC;IACPC,MAAMC,MAAbC,OAAkBC;IACXH,MAAMC,MAAbG,OAAkBR;AACtBS,CAAEC;IACSL,MAAHM,CAAQD;IACLL,MAAHO,CAAQF;;IAEZG,6CAAUC;QACNC,cAASD;YACLH,GAAEK,EAAEC,CAACP;QACTQ,IAAEC,KAAKL;YACHH,GAAEK,EAAEI,CAACT,CAACD;QACVQ;IACJA;;IAEAL,4BAAUC;QACNF,GAAEI,EAAEL,CAACD;IACTQ;AACJG;;AAEApB,sBAAOqB,WAAWnB;IACJC,MAAMC,MAAhBC,QAAgCC;IACtBH,MAAMC,MAAhBkB,QAAgChB;IACtBH,MAAMC,MAAhBmB,QAAgCjB;IACtBH,MAAMC,MAAhBG,QAAgCD;IACtBH,MAAMC,MAAhBoB,QAAgClB;IACtBH,MAAMC,MAAhBqB,QAAgCnB;IACtBH,MAAMC,MAAhBsB,QAAgCpB;IACtBH,MAAMC,MAAhBuB,QAAgC5B;AACpCS,CAAEC;IACUL,MAAJM,EAASD;IACLL,MAAJwB,EAASnB;IACLL,MAAJO;kBAAUI,EAAEc,CAACpB;IACTL,MAAJ0B;kBAAUf,EAAEc,CAACpB;;;IAGjBG,YAAUV,SAACG,KAAKC,UAAEC,OAAKC,EAAEK;QACrBC,cAASD;YACLH,GAAEK,EAAEgB,IAAItB;QACZQ,IAAEC,KAAKJ,IAAGJ,GAAEG;YACRH,GAAEK,EAAEJ,CAACqB,CAAChB,CAACiB,CAACxB;QACZQ,IAAEC,KAAKL;YACHH,GAAEK,EAAEe,CAACE,CAACE,CAACC,CAACnB,CAACiB,CAACxB;QACdQ;IACJA;;;IAGAL,YAAUV,SAACG,KAAKG,EAAEK;QACdC,IAAGJ,GAAEG;YACDH,GAAEK,EAAEJ,CAACF;QACTQ,IAAEC,KAAKL;YACHH,GAAEK,EAAEe,CAACE,CAACE,CAACC,CAACnB,CAACiB,CAACxB;QACdQ;IACJA;;;IAGAL,YAAUV,SAACoB,OAAOhB,UAAEkB,QAAQhB,EAAEK;QAC1BC,cAASD;YACLH,GAAEK,EAAEgB,IAAItB;QACZQ,IAAEC,KAAKL;YACHH,GAAEK,EAAEe,CAACE,CAACE,CAACC,CAACnB,CAACiB,CAACxB;QACdQ;IACJA;IACAL,YAAUV,SAACqB,OAAOjB,UAAEmB,QAAQjB,EAAEK;QAC1BC,eAASD;YACLH,GAAEK,EAAEgB,IAAItB;QACZQ,IAAEC,KAAKL;YACHH,GAAEK,EAAEe,CAACE,CAACE,CAACC,CAACnB,CAACiB,CAACxB;QACdQ;IACJA;IACAL,YAAUV,SAACoB,OAAiBd,EAAEK;QAC1BC,cAASD;YACLH,GAAEK,EAAEgB,IAAItB;QACZQ,IAAEC,KAAKL;YACHH,GAAEK,EAAEe,CAACE,CAACE,CAACC,CAACnB,CAACiB,CAACxB;QACdQ;IACJA;IACAL,YAAUV,SAACqB,OAAiBf,EAAEK;QAC1BC,eAASD;YACLH,GAAEK,EAAEgB,IAAItB;QACZQ,IAAEC,KAAKL;YACHH,GAAEK,EAAEe,CAACE,CAACE,CAACC,CAACnB,CAACiB,CAACxB;QACdQ;IACJA;;;IAGAmB,YAAYvB;QACRH,KAAKK,EAAEsB,EAAE5B;QACTmB,KAAKb,EAAEuB,KAAK7B;QACZmB,EAAEW,CAAC7B,EAAEK,EAAEyB,OAAO/B;;QAEdC,GAAGK,EAAEsB,GAAGI,EAAEJ,EAAE5B;QACZmB,GAAGb,EAAEsB,GAAGI,EAAEC,SAASC,EAAEzC,CAAC0C,EAAEC,EAAEC,CAACtC,CAACC;IAChCQ;AACJG"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/13_range_operator.sv.map b/testcases/map/testcases/sv/13_range_operator.sv.map new file mode 100644 index 000000000..982881467 --- /dev/null +++ b/testcases/map/testcases/sv/13_range_operator.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"13_range_operator.sv.map","sources":["../../../veryl/13_range_operator.veryl"],"names":["","module","Module13",";","logic","a","b","c","d","e","X","=","1","always_comb","[","0","]",":","+:","2","-:","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;IACLC,MAAHC,CAAQF;IACLC,MAAHE,CAAQH;IACLC,MAAHG,CAAQJ;IACLC,MAAHI,CAAQL;IACLC,MAAHK,CAAQN;IACLC,MAAHM;kBAASC,EAAEC,CAACT;;;IAGhBU,YAAOR,EAAEM,EAAED,CAACI,CAACC,CAACC,CAACb;;;IAGfU,YAAOP,EAAEK,EAAED,CAACI,CAACF,CAACK,CAACF,CAACC,CAACb;;;IAGjBU,YAAON,EAAEI,EAAED,CAACI,CAACF,CAACM,EAAEC,CAACH,CAACb;IAClBU,YAAOL,EAAEG,EAAED,CAACI,CAACF,CAACQ,EAAED,CAACH,CAACb;;;IAGlBU,YAAOJ,EAAEE,EAAED,CAACI,CAACF,GAAOO,KAAAA,EAACH,CAACb;AAC1BkB"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/14_inst.sv.map b/testcases/map/testcases/sv/14_inst.sv.map new file mode 100644 index 000000000..a2899caf8 --- /dev/null +++ b/testcases/map/testcases/sv/14_inst.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"14_inst.sv.map","sources":["../../../veryl/14_inst.veryl"],"names":["","module","Module14",";","localparam","int unsigned","X","=","1","logic","a","aa","bbb","veryl_testcase_Module14B","x","veryl_testcase_Module14C","#","(",",","Y","10",")","xx","bb","bbbb","veryl_testcase_InterfaceA","y","b","yy","xxx","yyy","[","]","endmodule","Module14B","Module14C","parameter","input","interface","InterfaceA","endinterface"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;IACZC,WAASC,aAAHC,EAAOC,EAAEC,CAACL;;IAEPM,MAALC;kBAAWH,EAAEC,CAACL;IACTM,MAALE;mBAAWJ,EAAEC,CAACL;IACTM,MAALG;oBAAWL,EAAEC,CAACL;;;IAGlBH,AAAQa,yBAAHC,IAAYX;;;IAGjBH,AAASe,yBAAUC,CAACC;SAChBX,GAAAA,GAAKY;SACLC,GAACnB,AAAEoB,GAAEpB;IACTqB,EAHKC,GAGHL;SACEP,MAAAA,IAASQ;SACTK,MAAIvB,AAAEW,IAAGO;SACTM,MAAIxB,AAAEY,IAAGZ;IACbqB,CAAClB;;;IAGDH,AAAQyB,0BAAHC,IAAavB;;;IAGlBH,AAAUyB,0BAAWT,CAACC,EAACP,GAAAA,EAACQ,GAAES,GAAC3B,AAAEoB,GAAEpB,AAACqB,EAA3BO,MAA4BzB;IACjCH,AAAUyB,0BAAWT,CAACC,EAACP,GAAAA,EAACQ,GAAES,GAAC3B,AAAEoB,GAAEpB,AAACqB,EAA3BQ,MAA4B1B;;;IAGjCH,AAAUyB,0BAALK,IAAgBC,GAACX,IAAEY,IAAC7B;AAC7B8B;;AAEAhC,sBAAOiC,SAAU/B;AAAC8B;;AAElBhC,sBAAOkC,UAAUnB,CAACC;IACdmB,UAAS/B,aAAHC,EAAOC,EAAEC,CAACU;IAChBkB,UAAS/B,aAAHc,EAAOZ,EAAEC,CAACR;AACpBqB,EAAEJ;IACQoB,MAAMhC,aAAZK,IAAeQ;IACTmB,MAAMhC,aAAZkB,IAAeL;IACTmB,MAAMhC,aAAZmB,IAAexB;AACnBqB,CAAElB;AAAC8B;;AAEHK,yBAAUC,WAAWvB,CAACC;IAClBmB,UAAS/B,aAAHK,EAAOH,EAAEC,CAACU;IAChBkB,UAAS/B,aAAHsB,EAAOpB,EAAEC,CAACR;AACpBqB,CAAElB;AAACqC"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/15_named_block.sv.map b/testcases/map/testcases/sv/15_named_block.sv.map new file mode 100644 index 000000000..2c89fb701 --- /dev/null +++ b/testcases/map/testcases/sv/15_named_block.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"15_named_block.sv.map","sources":["../../../veryl/15_named_block.veryl"],"names":["","module","Module15",";","logic","_a","=","1",":","label","end","label1","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;IACJC,MAAJC;mBAAUC,EAAEC,CAACJ;;IAEjBK,CAACC,KAAMT;QACKI,MAAJC;uBAAUC,EAAEC,CAACJ;IACrBO;;IAEAF,CAACG,MAAOX;QACII,MAAJC;uBAAUC,EAAEC,CAACJ;IACrBO;AACJE"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/16_case.sv.map b/testcases/map/testcases/sv/16_case.sv.map new file mode 100644 index 000000000..2363327e5 --- /dev/null +++ b/testcases/map/testcases/sv/16_case.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"16_case.sv.map","sources":["../../../veryl/16_case.veryl"],"names":["","module","Module16",";","logic","a","x","=","1","y","always_comb","begin","case",")","0",":","2","end","3",",","4","-","default","endcase","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;IACLC,MAAHC,CAAQF;IACLC,MAAHE;kBAASC,EAAEC,CAACL;IACTC,MAAHK;kBAASF,EAAEC,CAACL;;IAEhBO,YAAYC;QACRC,MAAKN,CAAEO;YACHC,CAACC,EAAEV,EAAEE,EAAEC,CAACL;YACRK,CAACO,EAAEV,EAAEE,EAAEC,CAACL;YACRa,CAACD,EAAEJ;mBACIN,EAAEE,EAAEC,CAACL;mBACLE,EAAEE,EAAEC,CAACL;mBACLE,EAAEE,EAAEC,CAACL;eACTc;YACHC,CAACC,EAAEC,IAAIL,EAAEV,EAAEE,EAAEC,CAACL;YACdM,EAAEY,EAAEb,GAAGO,EAAEV,EAAEE,EAAEC,CAACL;YACdmB,OAAOP,EAAEV,EAAEE,EAAEC,CAACL;QAClBoB;IACJN;AACJO"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/17_package.sv.map b/testcases/map/testcases/sv/17_package.sv.map new file mode 100644 index 000000000..347c326a7 --- /dev/null +++ b/testcases/map/testcases/sv/17_package.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"17_package.sv.map","sources":["../../../veryl/17_package.veryl"],"names":["","package","Package17",";","localparam","int unsigned","ParamX","=","1","logic","_b","typedef struct packed","{","[","10","]","a","aa","aaa","A","typedef enum","2","B_X",",","B_Y","B_Z","B","function","FuncA","(","input","output","b","ref","c",")","d","+","/","return","endfunction","endpackage"],"mappings":"AAAAA,AAAAC,uBAAQC,SAAUC;;IAEdC,WAAcC,aAARC,OAAYC,EAAEC,CAACL;;;IAGbM,MAAJC,EAASP;;;IAGbQ,sBAASC;QACAH,aAAKI,CAACC,MAAEC,EAAbC,GAAcb;QACTM,aAAKI,CAACC,MAAEC,EAAbE,GAAcd;QACTE,sBAALa,GAAcf;MAHXgB,EAIPnB;;;IAGAoB,aAAQX,MAAKI,CAACQ,KAACN,EAAEH;QACbU,IAAEf,EAAEC,CAACe;QACLC,IAAEjB,EAAEc,CAACE;QACLE,GAACzB;MAHA0B,EAIL1B;;;IAGA2B,mBAIKlB,MAAKI,CAACP,UAAMS,EAJRa,KAAMC;QACRC,OAAOrB,MAAKI,CAACP,UAAMS,EAAtBC,CAAuBO;QACpBQ,OAAOtB,MAAKI,CAACP,UAAMS,EAAtBiB,CAAuBT;QACpBU,OAAOxB,MAAKI,CAACP,UAAMS,EAAtBmB,CAAuBlC;IAC3BmC,EAAEnC,CAAiBA;QACRK,aAAH+B;UAAO7B,EAAEC,CAACL;QACd6B,EAAEzB,EAAES,EAAEqB,EAAE7B,EAAE6B,EAAED,CAACjC;QACb+B,EAAE3B,EAAES,EAAEsB,EAAE9B,CAACL;QACToC,OAAOvB,EAAEqB,EAAEhB,CAAClB;IAChBqC;AACJC"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/18_concatenation.sv.map b/testcases/map/testcases/sv/18_concatenation.sv.map new file mode 100644 index 000000000..1b0668647 --- /dev/null +++ b/testcases/map/testcases/sv/18_concatenation.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"18_concatenation.sv.map","sources":["../../../veryl/18_concatenation.veryl"],"names":["","module","Module18",";","logic","a","b","c","=","1","always_comb","{","[","10",":","0","]",",","}","4","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;IACLC,MAAHC,CAAQF;IACLC,MAAHE,CAAQH;IACLC,MAAHG;kBAASC,EAAEC,CAACN;;IAEhBO,YAAOL,EAAEG,EAAEG,CAACN,CAACO,CAACC,EAAEC,CAACC,CAACC,CAACC,EAAEV,CAACW,CAACf;IACvBO,YAAOJ,EAAEE,EAAEG,EAAgBE,GAAfR,CAACO,CAACC,EAAEC,CAACC,CAACC,GAAWC,GAAWE,EAATZ,GAAUW,CAACf;AAC9CiB"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/19_import_export.sv.map b/testcases/map/testcases/sv/19_import_export.sv.map new file mode 100644 index 000000000..751a2be7b --- /dev/null +++ b/testcases/map/testcases/sv/19_import_export.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"19_import_export.sv.map","sources":["../../../veryl/19_import_export.veryl"],"names":["","module","Module19",";","import","veryl_testcase_PackageA::A","veryl_testcase_PackageA","::","*","endmodule","interface","Interface19","endinterface","package","Package19","export","A","*::*","endpackage","PackageA","localparam","int unsigned","=","0"],"mappings":"AAAAA;;;AAGAC,sBAAOC;;;AAASC;IACZC,OAAOC,0BAAWF;IAClBC,OAAOE,uBAAQC,EAAEC,CAACL;AACtBM;;AAEAC,yBAAUC;;;AAAYR;IAClBC,OAAOC,0BAAWF;IAClBC,OAAOE,uBAAQC,EAAEC,CAACL;AACtBS;;AAEAC,uBAAQC,SAAUX;;;IACdC,OAAOC,0BAAWF;IAClBC,OAAOE,uBAAQC,EAAEC,CAACL;IAClBY,OAAOC,CAAWb;IAClBY,OAAOE,IAACd;AACZe;;AAEAL,uBAAQM,QAAShB;;;IACbiB,WAASC,aAAHL,EAAOM,EAAEC,CAACpB;AACpBe"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/20_if_case_expression.sv.map b/testcases/map/testcases/sv/20_if_case_expression.sv.map new file mode 100644 index 000000000..58f7ed1ed --- /dev/null +++ b/testcases/map/testcases/sv/20_if_case_expression.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"20_if_case_expression.sv.map","sources":["../../../veryl/20_if_case_expression.veryl"],"names":["","module","Module20",";","logic","a","b","x","=","1","y","always_comb","((",") ? (",")",":","(","2","))","0","3","4","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;IACLC,MAAHC,CAAQF;IACLC,MAAHE,CAAQH;IACLC,MAAHG;kBAASC,EAAEC,CAACN;IACTC,MAAHM;kBAASF,EAAEC,CAACN;;IAEhBQ,YAAON,EAAEG,EAAEI,EAAGL,CAAEM;QACZJ;IACJK,EAAEC,EAAKC;QACHJ,EAAGF,CAAEG;YACDJ;QACJK,EAAEC,EAAKC;YACHC;QACJC;IACJA,EAACf;;IAEDQ,YAAOL,EAAEE,EAAEI,EAAKP,KACZI;QAASU;SADGd,KAEZY;QAASR;IAACK,KAFET,KAGZe;QAASH;IAACH,KAHET,KAGTgB;QAAMJ;IAACH;QACDM;IACbF,EAACf;AACLmB"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/21_cast.sv.map b/testcases/map/testcases/sv/21_cast.sv.map new file mode 100644 index 000000000..c168322fa --- /dev/null +++ b/testcases/map/testcases/sv/21_cast.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"21_cast.sv.map","sources":["../../../veryl/21_cast.veryl"],"names":["","module","Module21",";","logic","a","b","=","1","typedef enum","{","EnumA_A",",","EnumA_B","EnumA","EnumB_C","EnumB_D","EnumB","always_comb","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;IACLC,MAAHC,CAAQF;IACLC,MAAHE;kBAASC,EAAEC,CAACL;;IAEhBM,aAAYL,MAAMM;QACdC,OAACC;QACDC,OAACb;MAFAc,MAGLd;;IAEAS,aAAYL,MAAMM;QACdK,OAACH;QACDI,OAAChB;MAFAiB,MAGLjB;;IAEAkB,YAAOb,EAAEE,EAAOO,OAASG,OAAdX,GAAmBH;AAClCgB"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/22_type_modifier.sv.map b/testcases/map/testcases/sv/22_type_modifier.sv.map new file mode 100644 index 000000000..0dea356e3 --- /dev/null +++ b/testcases/map/testcases/sv/22_type_modifier.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"22_type_modifier.sv.map","sources":["../../../veryl/22_type_modifier.veryl"],"names":["","module","Module22",";","logic","[","10","]","_a","=","1","tri","_b","_c","_d","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;IACGC,iBAASC,CAACC,MAAEC,EAAvBC;mBAAyBC,EAAEC,CAACP;IACxBQ,IAAWP,aAAKC,CAACC,MAAEC,EAAvBK;cAAyBH,EAAEC,CAACP;IACjBQ,IAAIP,aAAKC,CAACC,MAAEC,EAAvBM;cAAyBJ,EAAEC,CAACP;IACxBC,iBAAgBC,CAACC,MAAEC,EAAvBO;mBAAyBL,EAAEC,CAACP;AACpCY"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/23_ifdef.sv.map b/testcases/map/testcases/sv/23_ifdef.sv.map new file mode 100644 index 000000000..8260803a8 --- /dev/null +++ b/testcases/map/testcases/sv/23_ifdef.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"23_ifdef.sv.map","sources":["../../../veryl/23_ifdef.veryl"],"names":["","module","Module23","#","(","ifdef","DEFINE_A","DEFINE_B","DEFINE_C","DEFINE_D","parameter","int unsigned","ParamA","=","1",",","ParamB","ParamC",")","input","logic","port_a","port_b","port_c",";","[","10","]","_a","_b","_c","endmodule","Module23_A","ifndef","Module23_B","Module23_C"],"mappings":"AAAAA,AAAAC,sBAAOC,SAASC,CAACC;KACXC,MAAMC;KACND,MAAME;KACNF,MAAMG;KACNH,MAAMI;IACRC,UAAcC,aAARC,OAAYC,EAAEC;IAACC;;;;IACrBL,UAAcC,aAARK,OAAYH,EAAEC,CAACC;KACnBV,MAAMC;;IAEJI,UAAcC,aAARM,OAAYJ,EAAEC,CAACd;UACxBA;AACLkB,EAAEd;KACIC,MAAMC;IACAa,MAAMC,MAAdC;IAAmBN;IACXI,MAAMC,MAAdE,MAAmBP;;KAEjBV,MAAMC;;IAEIa,MAAMC,MAAdG,MAAmBvB;UACtBA;AACLkB,CAAEM;KACInB,MAAMC;KACND,MAAME;IACAa,MAAKK,CAACC,MAAEC,EAAZC;mBAAcf,EAAEC,CAACU;;;;KAEnBnB,MAAMC;IAEIc,MAAKK,CAACC,MAAEC,EAAZE;mBAAchB,EAAEC,CAACU;IACbJ,MAAKK,CAACC,MAAEC,EAAZG;mBAAcjB,EAAEC,CAACU;;;AAE7BO;;CAEE1B,MAAMC;AACRL,sBAAO+B,UAAWR;AAACO;;;CAEjBE,OAAO3B;AAELL,sBAAOiC,UAAWV;AAACO;AACnB9B,sBAAOkC,UAAWX;AAACO"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/24_sv_attribute.sv.map b/testcases/map/testcases/sv/24_sv_attribute.sv.map new file mode 100644 index 000000000..cbe917a0f --- /dev/null +++ b/testcases/map/testcases/sv/24_sv_attribute.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"24_sv_attribute.sv.map","sources":["../../../veryl/24_sv_attribute.veryl"],"names":["","module","Module24",";","ram_style=\"block\"","logic","_a","=","1","mark_debug=\"true\"","_b","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;OACPC;IACGC,MAAJC;mBAAUC,EAAEC,CAACL;OACZM;IACGJ,MAAJK;mBAAUH,EAAEC,CAACL;AACrBQ"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/25_dependency.sv.map b/testcases/map/testcases/sv/25_dependency.sv.map new file mode 100644 index 000000000..922ec8507 --- /dev/null +++ b/testcases/map/testcases/sv/25_dependency.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"25_dependency.sv.map","sources":["../../../veryl/25_dependency.veryl"],"names":["","module","Module25","(","input","logic","i_clk",",","i_rst_n","i_d","output","o_d0","o_d1",")",";","veryl_sample1_delay","u0","o_d","veryl_sample2_delay","u1","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,SAASC;IACHC,OAAOC,MAAhBC,OAAqBC;IACZH,OAAOC,MAAhBG,OAAqBD;IACZH,OAAOC,MAAhBI,OAAqBF;IACZG,OAAOL,MAAhBM,OAAqBJ;IACZG,OAAOL,MAAhBO,OAAqBZ;AACzBa,CAAEC;IACEd,AAASe,oBAAJC,GAAyBb;SAC1BG,SAAAA,QAAaC;SACbC,SAAAA,QAAaD;SACbE,SAAAA,QAAaF;SACbU,SAAOjB,AAAEW,QAAIX;IACjBa,CAACC;;IAEDd,AAASkB,oBAAJC,GAAyBhB;SAC1BG,SAAAA,QAAaC;SACbC,SAAAA,QAAaD;SACbE,SAAAA,QAAaF;SACbU,SAAOjB,AAAEY,QAAIZ;IACjBa,CAACC;AACLM"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/26_array.sv.map b/testcases/map/testcases/sv/26_array.sv.map new file mode 100644 index 000000000..89881fc45 --- /dev/null +++ b/testcases/map/testcases/sv/26_array.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"26_array.sv.map","sources":["../../../veryl/26_array.veryl"],"names":["","module","Module26",";","logic","[","10","]","_a","=","1","][","_b","_c","_d","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;IACJC,MAAKC,CAACC,MAAEC,UAAZC;mBAA2BC,EAAEC,CAACP;IAC1BC,MAAKC,CAACC,MAAEK,EAAEL,MAAEC,EAAhBK;mBAA2BH,EAAEC,CAACP;IAC1BC,MAAKC,CAACC,MAAEK,EAAEL,MAAEC,EAAhBM,GAAkBR,GAACC,IAAEC;mBAAME,EAAEC,CAACP;IAC1BC,MAAKC,CAACC,MAAEK,EAAEL,MAAEC,EAAhBO,GAAkBT,GAACC,IAAEK,IAAEL,IAAEC;mBAAEE,EAAEC,CAACP;AACtCY"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/27_string.sv.map b/testcases/map/testcases/sv/27_string.sv.map new file mode 100644 index 000000000..6e8b27533 --- /dev/null +++ b/testcases/map/testcases/sv/27_string.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"27_string.sv.map","sources":["../../../veryl/27_string.veryl"],"names":["","module","Module27",";","localparam","string","a","=","\"aaa\"","_b","\"bbb\"","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;IACZC,WAASC,OAAHC,EAAUC,EAAEC,KAAKL;;IAEfE,OAAJI;mBAAWF,EAAEG,KAAKP;AAC1BQ"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/28_msblsb.sv.map b/testcases/map/testcases/sv/28_msblsb.sv.map new file mode 100644 index 000000000..0a20f2c0f --- /dev/null +++ b/testcases/map/testcases/sv/28_msblsb.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"28_msblsb.sv.map","sources":["../../../veryl/28_msblsb.veryl"],"names":["","module","Module28",";","localparam","int unsigned","WIDTH0","=","10","WIDTH1","20","logic","[","][","]","a","1","+","b","_x",":","0","_y","-","3","5","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;IACZC,WAAcC,aAARC,OAAYC,EAAEC,EAAEL;IACtBC,WAAcC,aAARI,OAAYF,EAAEG,EAAEP;;IAEfQ,MAAKC,CAACJ,MAAEK,EAAEH,MAAEI,eAAfC;kBAA8BR,EAAES,CAACb;IAC9BQ,MAAKC,CAACN,OAAOW,EAAET,MAAEK,EAAEJ,UAAMK,EAA5BI;kBAA8BX,EAAES,CAACb;;IAE7BQ,MAAJQ;mBAAUZ,EAAEQ,CAACH,GAHJJ,QAGQM,CAACF,GAHLF,QAGSU,CAACC,EAAIJ,EAAED,CAACF,CAACX;IAC3BQ,MAAJW;mBAAUf,EAAEW,CAACN,GAHJN,OAAOW,EAAET,SAGAe,EAAEC,CAACV,CAACF,GAHAH,aAGKQ,EAAEQ,CAACL,CAACC,CAAGP,CAACX;AAC3CuB"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/29_allow.sv.map b/testcases/map/testcases/sv/29_allow.sv.map new file mode 100644 index 000000000..5fbb83e1a --- /dev/null +++ b/testcases/map/testcases/sv/29_allow.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"29_allow.sv.map","sources":["../../../veryl/29_allow.veryl"],"names":["","module","Module29","(","input","logic","clk",",","rst_n",")",";","a","b","c","=","1","always_ff","begin","if","0","end","else","veryl_testcase_Module29","u0","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,SAASC;IACPC,MAAMC,MAAXC,KAAgBC;IACXH,MAAMC,MAAXG,KAAgBR;AACpBS,CAAEC;IACSL,MAAHM,CAAQD;IACLL,MAAHO,CAAQF;;IAELL,MAAHQ;kBAASC,EAAEC,CAACL;;IAGhBM,YAAUb,SAACG,GAAGC,UAAEC,KAAGC,EAAEQ;QACjBC,YAASD;YACLN,GAAEG,EAAEK,CAACT;QACTU,IAAEC,KAAKJ;YACHN,GAAEG,EAAEK,CAACT;YACLE,GAAEE,EAAEK,CAACT;QACTU;IACJA;;IAGApB,AAASsB,wBAAJC,GAAapB;;;IAGlBM,CAACC;AACLc"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/30_empty.sv.map b/testcases/map/testcases/sv/30_empty.sv.map new file mode 100644 index 000000000..f1d7417d1 --- /dev/null +++ b/testcases/map/testcases/sv/30_empty.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"30_empty.sv.map","sources":["../../../veryl/30_empty.veryl"],"names":[""],"mappings":"AAAAA"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/31_initial_final.sv.map b/testcases/map/testcases/sv/31_initial_final.sv.map new file mode 100644 index 000000000..7464b8e2b --- /dev/null +++ b/testcases/map/testcases/sv/31_initial_final.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"31_initial_final.sv.map","sources":["../../../veryl/31_initial_final.veryl"],"names":["","module","Module31",";","initial","begin","$display","(","\"initial\"",")","end","final","\"final\"","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;IACZC,QAAQC;QACJC,QAAQC,CAACC,SAASC,CAACN;IACvBO;;IAEAC,MAAMN;QACFC,QAAQC,CAACK,OAAOH,CAACN;IACrBO;AACJG"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/32_inside_outside.sv.map b/testcases/map/testcases/sv/32_inside_outside.sv.map new file mode 100644 index 000000000..b7cb5ef2a --- /dev/null +++ b/testcases/map/testcases/sv/32_inside_outside.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"32_inside_outside.sv.map","sources":["../../../veryl/32_inside_outside.veryl"],"names":["","module","Module32",";","logic","a","b","always_comb","=","1","+","2","/","3","inside","{","0",",","10","}","*","-","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;IACLC,MAAHC,CAAQF;IACLC,MAAHE,CAAQH;;IAEZI,YAAOF,EAAEG,IAASC,EAAEC,EAAEC,EAAEC,EAAEC,GAAfC,OAAiBC,CAACC,CAACC,GAAED,GAAGE,MAAED,GAAER,EAAIS,GAAEC,EAAChB;IAC9CI,YAAOD,EAAEE,KAAUC,EAAEW,EAAET,EAAEU,EAAEZ,GAAhBK,OAAkBC,CAACC,CAACC,GAAED,GAAGE,MAAED,GAAER,EAAIS,GAAEC,EAAChB;AACnDmB"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/33_widthless_num.sv.map b/testcases/map/testcases/sv/33_widthless_num.sv.map new file mode 100644 index 000000000..525fd68fa --- /dev/null +++ b/testcases/map/testcases/sv/33_widthless_num.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"33_widthless_num.sv.map","sources":["../../../veryl/33_widthless_num.veryl"],"names":["","module","Module33",";","localparam","int unsigned","a0","=","1'b1","a1","4'b1010","a2","1'o1","a3","10'o1234","a4","1'd1","a5","24'd12345678","a6","1'h1","a7","32'hffffffff","a8","208'hffff_ffff_ffff_ffff_ffff_ffff_ffff_ffff_ffff_ffff_ffff_ffff_ffff","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;IACZC,WAAUC,aAAJC,GAAQC,EAAEC,IAAGL;IACnBC,WAAUC,aAAJI,GAAQF,EAAEG,OAAMP;IACtBC,WAAUC,aAAJM,GAAQJ,EAAEK,IAAGT;IACnBC,WAAUC,aAAJQ,GAAQN,EAAEO,QAAMX;IACtBC,WAAUC,aAAJU,GAAQR,EAAES,IAAGb;IACnBC,WAAUC,aAAJY,GAAQV,EAAEW,YAAUf;IAC1BC,WAAUC,aAAJc,GAAQZ,EAAEa,IAAGjB;IACnBC,WAAUC,aAAJgB,GAAQd,EAAEe,YAAUnB;IAC1BC,WAAUC,aAAJkB,GAAQhB,EAAEiB,qEAAkErB;AACtFsB"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/34_width_all_set.sv.map b/testcases/map/testcases/sv/34_width_all_set.sv.map new file mode 100644 index 000000000..bffed72e6 --- /dev/null +++ b/testcases/map/testcases/sv/34_width_all_set.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"34_width_all_set.sv.map","sources":["../../../veryl/34_width_all_set.veryl"],"names":["","module","Module34",";","localparam","int unsigned","a0","=","'0","a1","'1","a2","'x","a3","'z","a4","10'b0000000000","a5","10'b1111111111","a6","10'bxxxxxxxxxx","a7","10'bzzzzzzzzzz","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;IACZC,WAAUC,aAAJC,GAAQC,EAAEC,EAAEL;IAClBC,WAAUC,aAAJI,GAAQF,EAAEG,EAAEP;IAClBC,WAAUC,aAAJM,GAAQJ,EAAEK,EAAET;IAClBC,WAAUC,aAAJQ,GAAQN,EAAEO,EAAEX;IAClBC,WAAUC,aAAJU,GAAQR,EAAES,cAAIb;IACpBC,WAAUC,aAAJY,GAAQV,EAAEW,cAAIf;IACpBC,WAAUC,aAAJc,GAAQZ,EAAEa,cAAIjB;IACpBC,WAAUC,aAAJgB,GAAQd,EAAEe,cAAInB;AACxBoB"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/35_unconnected_port.sv.map b/testcases/map/testcases/sv/35_unconnected_port.sv.map new file mode 100644 index 000000000..7c8a56178 --- /dev/null +++ b/testcases/map/testcases/sv/35_unconnected_port.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"35_unconnected_port.sv.map","sources":["../../../veryl/35_unconnected_port.veryl"],"names":["","module","Module35",";","logic","aa","=","1","veryl_testcase_Module35B","xx","(",",","bb","bbbb",")","endmodule","Module35B","input","int unsigned"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;IACJC,MAAJC;mBAAUC,EAAEC,CAACJ;;IAEjBH,AAASQ,yBAAJC,GAAcC;SACfL,MAAAA,KAAOM;SACPC,MAAIZ,CAAGW;SACPE,MAAIb,CAAGA;IACXc,CAACX;AACLY;;AAEAd,sBAAOe,UAAUN;IACPO,MAAMC,aAAZb,IAAeM;IACTM,MAAMC,aAAZN,IAAeD;IACTM,MAAMC,aAAZL,IAAeb;AACnBc,CAAEX;AAACY"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/36_doc_comment.sv.map b/testcases/map/testcases/sv/36_doc_comment.sv.map new file mode 100644 index 000000000..21e9e4527 --- /dev/null +++ b/testcases/map/testcases/sv/36_doc_comment.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"36_doc_comment.sv.map","sources":["../../../veryl/36_doc_comment.veryl"],"names":["","module","Module36","#","(","parameter","int unsigned","ParamA","=","1",",","localparam","ParamB",")","input","logic","i_clk","i_rst_n","[","]","i_data","output","o_data",";","always_comb","0","endmodule","interface","Interface36","endinterface","package","Package36","endpackage"],"mappings":"AAAAA;;;;;;;;;;;;;;;;AAgBIC,sBAAOC,SAASC,CAACC;;IAEjBC,WAAcC,aAARC,OAAYC,EAAEC,CAACC;IACrBC,WAAcL,aAARM,OAAYJ,EAAEC,CAACT;AACzBa,EAAET;IACWU,OAAOC,mBAAhBC,OAA6BN;IACpBI,OAAOC,mBAAhBE,OAA6BP;IACpBI,OAAOC,MAAKG,CAACX,UAAMY,EAA5BC,OAA6BV;IACpBW,OAAON,MAAKG,CAACX,UAAMY,EAA5BG,OAA6BtB;AACjCa,CAAEU;IACEC,YAAOF,OAAOd,EAAEiB,CAACF;AACrBG;;;;;;AAMIC,yBAAUC,YAAYzB,CAACC;IACvBC,WAAcC,aAARC,OAAYC,EAAEC,CAACC;IACrBC,WAAcL,aAARM,OAAYJ,EAAEC,CAACT;AACzBa,CAAEU;AAACM;;;;;;AAMCC,uBAAQC,SAAUR;AAACS"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/37_package_ref.sv.map b/testcases/map/testcases/sv/37_package_ref.sv.map new file mode 100644 index 000000000..f39329fc8 --- /dev/null +++ b/testcases/map/testcases/sv/37_package_ref.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"37_package_ref.sv.map","sources":["../../../veryl/37_package_ref.veryl"],"names":["","module","Module37",";","int unsigned","_a","=","veryl_testcase_Package37::A","_b","veryl_testcase_Package37::B_C","_c","veryl_testcase_Package37::X","(",")","endmodule","package","Package37","localparam","A","1","typedef enum","logic","{","B_C","B","function","X","return","0","endfunction","endpackage"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;IACJC,aAAJC;mBAAQC,EAAEC,2BAAYJ;IAClBC,aAAJI;mBAAQF,EAAEG,6BAAeN;IACrBC,aAAJM;mBAAQJ,EAAEK,2BAAYC,CAACC,CAACV;AAChCW;AACAC,uBAAQC,SAAUb;IACdc,WAASb,aAAHc,EAAOZ,EAAEa,CAAChB;;IAEhBiB,aAAQC,MAAMC;QACVC,GAACvB;MADAwB,EAELxB;;IAEAyB,mBAAcrB,aAALsB,CAAE1B,CAAOA;QACd2B,OAAOC,CAACzB;IACZ0B;AACJC"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/38_typedef.sv.map b/testcases/map/testcases/sv/38_typedef.sv.map new file mode 100644 index 000000000..c41d696d0 --- /dev/null +++ b/testcases/map/testcases/sv/38_typedef.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"38_typedef.sv.map","sources":["../../../veryl/38_typedef.veryl"],"names":["","module","Module38",";","typedef","logic","[","16","]","word_t","][","words_t","regfile_t","bit","8","octbyte","rf","always_comb","0","=","'0","endmodule","interface","Interface38","endinterface","package","Package38","endpackage"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;IACZC,QAAiBC,OAAMC,CAACC,MAAEC,UAArBC,SAA+BN;IACpCC,QAAiBC,OAAMC,CAACC,MAAEG,EAAEH,MAAEC,EAAzBG,SAA+BR;IACpCC,QAAiBK,wBAAZG,UAA2BN,GAACC,IAAEC,CAACL;;IAEpCC,QAAeS,IAAGP,CAACQ,KAACN,EAAfO,QAAiBT,GAACQ,GAACN,CAACL;;IAEdS,UAAPI,KAAgBb;IACpBc,YAAOD,EAAEV,CAACY,CAACV,EAAEW,EAAEC,EAAEjB;AACrBkB;;AAEAC,yBAAUC,WAAYpB;IAClBC,QAAiBC,OAAMC,CAACC,MAAEC,UAArBC,SAA+BN;IACpCC,QAAiBC,OAAMC,CAACC,MAAEG,EAAEH,MAAEC,EAAzBG,SAA+BR;IACpCC,QAAiBK,wBAAZG,UAA2BN,GAACC,IAAEC,CAACL;;IAEpCC,QAAeS,IAAGP,CAACQ,KAACN,EAAfO,QAAiBT,GAACQ,GAACN,CAACL;AAC7BqB;;AAEAC,uBAAQC,SAAUvB;IACdC,QAAiBC,OAAMC,CAACC,MAAEC,UAArBC,SAA+BN;IACpCC,QAAiBC,OAAMC,CAACC,MAAEG,EAAEH,MAAEC,EAAzBG,SAA+BR;IACpCC,QAAiBK,wBAAZG,UAA2BN,GAACC,IAAEC,CAACL;;IAEpCC,QAAeS,IAAGP,CAACQ,KAACN,EAAfO,QAAiBT,GAACQ,GAACN,CAACL;AAC7BwB"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/39_modport.sv.map b/testcases/map/testcases/sv/39_modport.sv.map new file mode 100644 index 000000000..f09a73d12 --- /dev/null +++ b/testcases/map/testcases/sv/39_modport.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"39_modport.sv.map","sources":["../../../veryl/39_modport.veryl"],"names":["","module","Module39","(","veryl_testcase_Interface39.master","mst",",","veryl_testcase_Interface39.slave","slv",")",";","logic","a","always_comb",".","=","get_a","endmodule","interface","Interface39","function","return","endfunction","modport","master","output","slave","input","import","endinterface"],"mappings":"AAAAA,AAAAC,sBAAOC,SAASC;IACCC,kCAAbC,GAAgCC;IACnBC,kCAAbC,GAAgCR;AACpCS,CAAEC;IACaC,MAAPC,KAAYF;IAChBG,YAAOR,GAAGS,CAACF,EAAEG,EAAEH,CAACF;IAChBG,YAAOD,MAAMG,EAAEP,GAAGM,CAACE,KAAKb,CAACM,CAACC;AAC9BO;;AAEAC,yBAAUC,WAAYT;IACXC,MAAHC,CAAQF;;IAEZU,mBAAqBT,MAAZK,KAAMb,CAACM,EAAET,CAASA;QACvBqB,OAAOT,CAACF;IACZY;;IAEAC,QAAQC,OAAOrB;QACRsB,OAAHb,CAASZ;IACbS;;IAEAc,QAAQG,MAAMvB;QACHwB,OAAPf,KAAaN;QACNsB,OAAPZ,KAAahB;IACjBS;AACJoB"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/40_enum_resolve.sv.map b/testcases/map/testcases/sv/40_enum_resolve.sv.map new file mode 100644 index 000000000..759d0f008 --- /dev/null +++ b/testcases/map/testcases/sv/40_enum_resolve.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"40_enum_resolve.sv.map","sources":["../../../veryl/40_enum_resolve.veryl"],"names":["","module","Module40",";","typedef enum","logic","[","2","]","{","EnumA_member_a",",","EnumA_member_b","EnumA_member_c","=","3","EnumA","a","always_comb","function","is_a","(","input","e",")","return","==","endfunction","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;;IAEZC,aAAYC,MAAKC,CAACC,KAACC,EAAEC;QACjBC,cAAQC;;QAERC,cAAQD;QACRE,eAASC,EAAEC,CAACf;MAJXgB,MAKLhB;;IAEOgB,MAAHC,CAAQd;;IAEZe,YAAOD,EAAEH,EAAEJ,cAAeP;IAC1BgB,mBAEKd,MAFIe,IAAKC;QACPC,MAAMN,MAATO,CAAcvB;IAClBwB,EAAExB,CAASA;QACPyB,OAAOF,EAAEG,GAAGhB,cAAeP;IAC/BwB;AACJC"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/41_union.sv.map b/testcases/map/testcases/sv/41_union.sv.map new file mode 100644 index 000000000..687dd2e6c --- /dev/null +++ b/testcases/map/testcases/sv/41_union.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"41_union.sv.map","sources":["../../../veryl/41_union.veryl"],"names":["","module","Module41",";","typedef enum","logic","{","Boolean_True","=","1",",","Boolean_False","0","Boolean","typedef union packed","b","c","A","foo","always_comb",".","1'b0","bar","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;IACZC,aAAcC,MAAMC;QAChBC,aAAKC,EAAEC,CAACC;QACRC,cAAMH,EAAEI,CAACZ;MAFRa,QAGLb;;IAEAc,qBAAQR;QACDD,QAAHU,CAAUZ;QACPU,QAAHG,CAAUb;MAFRc,EAGNjB;;IAEWiB,EAAPC,KAAQf;IACZgB,YAAOD,GAAGE,CAACL,EAAEP,EAAEa,IAAIlB;;IAERc,EAAPK,KAAQnB;IACZgB,YAAOG,GAAGF,CAACJ,EAAER,EAAED,YAAaJ;AAChCoB"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/42_sv_namespace.sv.map b/testcases/map/testcases/sv/42_sv_namespace.sv.map new file mode 100644 index 000000000..fa7cc9fee --- /dev/null +++ b/testcases/map/testcases/sv/42_sv_namespace.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"42_sv_namespace.sv.map","sources":["../../../veryl/42_sv_namespace.veryl"],"names":["","module","Module42","(","input","logic","i_clk",",","i_rst_n","i_d","output","o_d",")",";","localparam","int unsigned","a","=","pkg::paramA","delay","u0","u1","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,SAASC;IACHC,OAAOC,MAAhBC,OAAqBC;IACZH,OAAOC,MAAhBG,OAAqBD;IACZH,OAAOC,MAAhBI,OAAqBF;IACZG,OAAOL,MAAhBM,OAAqBX;AACzBY,CAAEC;IACEC,WAASC,aAAHC,EAAOC,EAAEC,WAAgBL;;;IAG/Bb,AAASmB,MAAJC,GAAejB;SAChBG,SAAAA,QAASC;SACTC,SAAAA,QAASD;SACTE,SAAAA,QAASF;SACTI,SAAAA,QAASX;IACbY,CAACC;;IAEDb,AAASmB,MAAJE,GAAelB;SAChBG,SAAAA,QAASC;SACTC,SAAAA,QAASD;SACTE,SAAAA,QAASF;SACTI,SAAAA,QAASX;IACbY,CAACC;AACLS"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/43_sv_member.sv.map b/testcases/map/testcases/sv/43_sv_member.sv.map new file mode 100644 index 000000000..4c60d42a9 --- /dev/null +++ b/testcases/map/testcases/sv/43_sv_member.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"43_sv_member.sv.map","sources":["../../../veryl/43_sv_member.veryl"],"names":["","module","Module43",";","StructA","a","logic","[","10","]","b","always_comb","=",".","memberA","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;IACLC,iBAAHC,CAAmBF;IAChBG,QAAYC,CAACC,MAAEC,EAAlBC,CAAmBP;;IAEvBQ,YAAOD,EAAEE,EAAEP,CAACQ,CAACC,OAAOX;AACxBY"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/44_import_resolve.sv.map b/testcases/map/testcases/sv/44_import_resolve.sv.map new file mode 100644 index 000000000..8059861e0 --- /dev/null +++ b/testcases/map/testcases/sv/44_import_resolve.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"44_import_resolve.sv.map","sources":["../../../veryl/44_import_resolve.veryl"],"names":["","module","Module44",";","logic","[","10","]","a","b","c","import","veryl_testcase_Package44A::z","veryl_testcase_Package44B","::","*","always_comb","=","z","y","endmodule","package","Package44A","localparam","int unsigned","0","endpackage","Package44B"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;IACLC,MAAKC,CAACC,MAAEC,EAAXC,CAAYL;IACTC,MAAKC,CAACC,MAAEC,EAAXE,CAAYN;IACTC,MAAKC,CAACC,MAAEC,EAAXG,CAAYP;;IAEhBQ,OAAOC,4BAAaT;IACpBQ,OAAOE,yBAAUC,EAAEC,CAACZ;;IAEpBa,YAAOR,EAAES,EAAEC,CAAaf;IACxBa,YAAOP,EAAEQ,EAAEC,CAACf;IACZa,YAAON,EAAEO,EAAEE,CAAChB;AAChBiB;;AAEAC,uBAAQC,UAAWnB;IACfoB,WAASC,aAAHN,EAAOD,EAAEQ,CAACtB;AACpBuB;;AAEAL,uBAAQM,UAAWxB;IACfoB,WAASC,aAAHL,EAAOF,EAAEQ,CAACtB;AACpBuB"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/45_let_in_always.sv.map b/testcases/map/testcases/sv/45_let_in_always.sv.map new file mode 100644 index 000000000..30e57c227 --- /dev/null +++ b/testcases/map/testcases/sv/45_let_in_always.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"45_let_in_always.sv.map","sources":["../../../veryl/45_let_in_always.veryl"],"names":["","module","Module45",";","logic","a","=","1","[","10","]","b","c","always_ff","(",")","begin","x","*","end","always_comb","y","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;IACLC,eAAHC;kBAAaC,EAAEC,CAACJ;IACbC,MAAKI,CAACC,MAAEC,EAAXC,CAAYR;IACTC,MAAKI,CAACC,MAAEC,EAAXE,CAAYT;;IAEhBU,YAAUC,SAACT,CAACU,EAAEC;QACHZ,MAAKI,CAACC,MAAEC,EAAXO;UAAaX,EAAEC,CAACJ;QACpBQ,GAAEL,EAAEW,EAAEC,EAAEX,CAACJ;IACbgB;;IAEAC,YAAYJ;QACDZ,MAAKI,CAACC,MAAEC,EAAXW;UAAaf,EAAEC,CAACJ;QACpBS,EAAEN,EAAEe,EAAEH,EAAEX,CAACJ;IACbgB;AACJG"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/46_let_anywhere.sv.map b/testcases/map/testcases/sv/46_let_anywhere.sv.map new file mode 100644 index 000000000..6f69f82c2 --- /dev/null +++ b/testcases/map/testcases/sv/46_let_anywhere.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"46_let_anywhere.sv.map","sources":["../../../veryl/46_let_anywhere.veryl"],"names":["","module","Module46",";","logic","a","=","1","[","10","]","b","c","d","e","always_ff","(",")","begin","x","*","end","always_comb","y","function","FuncA","input",",","output","ref","int unsigned","/","+","return","2","endfunction","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;IACLC,eAAHC;kBAAaC,EAAEC,CAACJ;IACbC,MAAKI,CAACC,MAAEC,EAAXC,CAAYR;IACTC,MAAKI,CAACC,MAAEC,EAAXE,CAAYT;IACTC,MAAKI,CAACC,MAAEC,EAAXG,CAAYV;IACTC,MAAKI,CAACC,MAAEC,EAAXI,CAAYX;;IAEhBY,YAAUC,SAACX,CAACY,EAAEC;QAEHd,MAAKI,CAACC,MAAEC,EAAXS;QADJN,GAAEP,EAAEC,CAACJ;UACYG,EAAEC,CAACJ;QACpBQ,GAAEL,EAAEa,EAAEC,EAAEb,CAACJ;IACbkB;;IAEAC,YAAYJ;QAEDd,MAAKI,CAACC,MAAEC,EAAXa;QADJT,EAAER,EAAEC,CAACJ;UACYG,EAAEC,CAACJ;QACpBS,EAAEN,EAAEiB,EAAEH,EAAEb,CAACJ;IACbkB;;IAEAG,mBAIKpB,MAAKI,CAACC,MAAEC,EAJJe,KAAMT;QACRU,OAAOtB,MAAKI,CAACC,MAAEC,EAAlBL,CAAmBsB;QAChBC,OAAOxB,MAAKI,CAACC,MAAEC,EAAlBC,CAAmBgB;QAChBE,OAAOzB,MAAKI,CAACC,MAAEC,EAAlBE,CAAmBZ;IACvBiB,EAAEjB,CAAaA;QAEJ8B,aAAHjB;QADJD,EAAEN,EAAED,EAAE0B,EAAExB,CAACJ;UACEG,EAAEC,CAACJ;QACdQ,EAAEL,EAAED,EAAE2B,EAAEzB,EAAEyB,EAAEnB,CAACV;QACb8B,OAAO5B,EAAE2B,EAAEE,CAAC/B;IAChBgC;AACJC"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/47_embed.sv.map b/testcases/map/testcases/sv/47_embed.sv.map new file mode 100644 index 000000000..21505fa97 --- /dev/null +++ b/testcases/map/testcases/sv/47_embed.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"47_embed.sv.map","sources":["../../../veryl/47_embed.veryl"],"names":["","module","Module47",";","endmodule","\nmodule test;\n initial begin\n $display(\"hello\");\n end\nendmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;AAACC;;AAEAC"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/48_test.sv.map b/testcases/map/testcases/sv/48_test.sv.map new file mode 100644 index 000000000..7565ed035 --- /dev/null +++ b/testcases/map/testcases/sv/48_test.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"48_test.sv.map","sources":["../../../veryl/48_test.veryl"],"names":["","module","Module48",";","endmodule","`ifdef __veryl_test_veryl_testcase_test1__","\nmodule test1;\n initial begin\n $display(\"hello\");\n assert(0) else $info(\"info\");\n assert(0) else $warning(\"warning\");\n assert(0) else $error(\"error\");\n assert(0) else $fatal(1, \"fatal\");\n $finish();\n end\nendmodule","`ifdef __veryl_test_veryl_testcase_test2__","\nmodule test2;\n // parse error\n initial\nendmodule","`ifdef __veryl_test_veryl_testcase_test3__","\nmodule test3;\n // elaborate error\n tri logic a;\n always_comb a = 1;\nendmodule","`ifdef __veryl_test_veryl_testcase_test4__","test4","initial","begin","$display","(","\"test4\"",")","end"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;AAACC;;AAEjBC;AACiBC;;;;;;;;;;;;;AAajBC;AACiBC;;;;;;;AAOjBC;AACiBC;;;;;;;;AAQjBC;AACAV,sBAAOW,KAAMT;IACTU,QAAQC;QACJC,QAAQC,CAACC,OAAOC,CAACf;IACrBgB;AACJf"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/49_system_function.sv.map b/testcases/map/testcases/sv/49_system_function.sv.map new file mode 100644 index 000000000..ee5939c42 --- /dev/null +++ b/testcases/map/testcases/sv/49_system_function.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"49_system_function.sv.map","sources":["../../../veryl/49_system_function.veryl"],"names":["","module","Module49",";","logic","a","always_comb","begin","=","$acos","(",")","$acosh","$asin","$asinh","$assertcontrol","$assertfailoff","$assertfailon","$assertkill","$assertnonvacuouson","$assertoff","$asserton","$assertpassoff","$assertpasson","$assertvacuousoff","$async$and$array","$async$and$plane","$async$nand$array","$async$nand$plane","$async$nor$array","$async$nor$plane","$async$or$array","$async$or$plane","$atan","$atan2","$atanh","$bits","$bitstoreal","$bitstoshortreal","$cast","$ceil","$changed","$changed_gclk","$changing_gclk","$clog2","$cos","$cosh","$countbits","$countones","$coverage_control","$coverage_get","$coverage_get_max","$coverage_merge","$coverage_save","$dimensions","$display","$displayb","$displayh","$displayo","$dist_chi_square","$dist_erlang","$dist_exponential","$dist_normal","$dist_poisson","$dist_t","$dist_uniform","$dumpall","$dumpfile","$dumpflush","$dumplimit","$dumpoff","$dumpon","$dumpports","$dumpportsall","$dumpportsflush","$dumpportslimit","$dumpportsoff","$dumpportson","$dumpvars","$error","$exit","$exp","$falling_gclk","$fatal","$fclose","$fdisplay","$fdisplayb","$fdisplayh","$fdisplayo","$fell","$fell_gclk","$feof","$ferror","$fflush","$fgetc","$fgets","$finish","$floor","$fmonitor","$fmonitorb","$fmonitorh","$fmonitoro","$fopen","$fread","$fscanf","$fseek","$fstrobe","$fstrobeb","$fstrobeh","$fstrobeo","$ftell","$future_gclk","$fwrite","$fwriteb","$fwriteh","$fwriteo","$get_coverage","$high","$hypot","$increment","$info","$isunbounded","$isunknown","$itor","$left","$ln","$load_coverage_db","$log10","$low","$monitor","$monitorb","$monitorh","$monitoro","$monitoroff","$monitoron","$onehot","$onehot0","$past","$past_gclk","$pow","$printtimescale","$q_add","$q_exam","$q_full","$q_initialize","$q_remove","$random","$readmemb","$readmemh","$realtime","$realtobits","$rewind","$right","$rising_gclk","$rose","$rose_gclk","$rtoi","$sampled","$set_coverage_db_name","$sformat","$sformatf","$shortrealtobits","$signed","$sin","$sinh","$size","$sqrt","$sscanf","$stable","$stable_gclk","$steady_gclk","$stime","$stop","$strobe","$strobeb","$strobeh","$strobeo","$swrite","$swriteb","$swriteh","$swriteo","$sync$and$array","$sync$and$plane","$sync$nand$array","$sync$nand$plane","$sync$nor$array","$sync$nor$plane","$sync$or$array","$sync$or$plane","$system","$tan","$tanh","$test$plusargs","$time","$timeformat","$typename","$ungetc","$unpacked_dimensions","$unsigned","$value$plusargs","$warning","$write","$writeb","$writeh","$writememb","$writememh","$writeo","end","endmodule"],"mappings":"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"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/50_enum_over_typedef.sv.map b/testcases/map/testcases/sv/50_enum_over_typedef.sv.map new file mode 100644 index 000000000..0ea7db3bc --- /dev/null +++ b/testcases/map/testcases/sv/50_enum_over_typedef.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"50_enum_over_typedef.sv.map","sources":["../../../veryl/50_enum_over_typedef.veryl"],"names":["","package","Package50",";","typedef enum","logic","[","1","]","{","EnumA_memberA",",","EnumA_memberB","EnumA","endpackage","module","Module50","typedef","veryl_testcase_Package50::EnumA","EnumB","_a","=","veryl_testcase_Package50::EnumA_memberA","_b","veryl_testcase_Package50::EnumA_memberB","endmodule"],"mappings":"AAAAA,AAAAC,uBAAQC,SAAUC;IACdC,aAAYC,MAAKC,CAACC,KAACC,EAAEC;QACjBC,aAAOC;QACPC,aAAOZ;MAFNa,MAGLb;AACJc;;AAEAC,sBAAOC,QAASb;IACZc,QAAaC,gCAARC,KAAwBhB;;IAErBe,gCAAJE;mBAAqBC,EAAEC,uCAAyBnB;IAC5CgB,gCAAJI;mBAAqBF,EAAEG,uCAAcrB;AAC7CsB"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/51_array_literal.sv.map b/testcases/map/testcases/sv/51_array_literal.sv.map new file mode 100644 index 000000000..cb7686231 --- /dev/null +++ b/testcases/map/testcases/sv/51_array_literal.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"51_array_literal.sv.map","sources":["../../../veryl/51_array_literal.veryl"],"names":["","module","Module51",";","logic","_a","[","2","]","=","'{","1",",","}","_b","_c","default",":","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;IACJC,MAAJC,GAAUC,GAACC,GAACC;mBAAEC,EAAEC,EAAEC,CAACC,EAAED,CAACE,CAACV;IACnBC,MAAJU,GAAUR,GAACC,GAACC;mBAAEC,EAAEC,EAAWH,EAATI,EAAUE,CAACV;IACzBC,MAAJW,GAAUT,GAACC,GAACC;mBAAEC,EAAEC,EAAEM,OAAOC,EAAEN,CAACE,CAACV;AACrCe"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/52_include.sv.map b/testcases/map/testcases/sv/52_include.sv.map new file mode 100644 index 000000000..9694726c5 --- /dev/null +++ b/testcases/map/testcases/sv/52_include.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"52_include.sv.map","sources":["../../../veryl/52_include.veryl"],"names":["","module","Module52",";","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;AAACC"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/53_multiline_comment_case.sv.map b/testcases/map/testcases/sv/53_multiline_comment_case.sv.map new file mode 100644 index 000000000..44cba8345 --- /dev/null +++ b/testcases/map/testcases/sv/53_multiline_comment_case.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"53_multiline_comment_case.sv.map","sources":["../../../veryl/53_multiline_comment_case.veryl"],"names":["","module","Module53",";","typedef enum","logic","{","EnumA_A","EnumA","_a","always_comb","begin","case",")",":","=","0","default","1","endcase","end","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;IACZC,aAAYC,MAAMC;QACdC,OAACP;MADAQ,MAELR;;IAEQK,MAAJI,EAASN;IACbO,YAAYC;QACRC,MAAKL,OAASM;;;YAGVN,OAAQO,EAAEL,GAAGM,EAAEC,CAACb;YAChBc,OAAQH,EAAEL,GAAGM,EAAEG,CAACf;QACpBgB;IACJC;AACJC"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/54_generic_function.sv.map b/testcases/map/testcases/sv/54_generic_function.sv.map new file mode 100644 index 000000000..1b883324b --- /dev/null +++ b/testcases/map/testcases/sv/54_generic_function.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"54_generic_function.sv.map","sources":["../../../veryl/54_generic_function.veryl"],"names":["","module","Module54",";","function","logic","[","10","]","(","input","a",")","return","+","1","endfunction","20","_a","=","__FuncA__10","_b","__FuncA__20","2","4","12","_c","__FuncB__10__2","14","_d","__FuncB__10__4","endmodule"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;IACZC,mBAEKC,MAAKC,CAACC,MAACC,aAFQC;QACbC,MAAML,MAAKC,CAACC,MAACC,EAAhBG,CAAiBX;IACrBY,EAAEZ,CAAYA;QACVa,OAAOF,EAAEG,EAAEC,CAACZ;IAChBa;IAJAZ,mBAEKC,MAAKC,CAACW,MAACT,aAFQC;QACbC,MAAML,MAAKC,CAACW,MAACT,EAAhBG,CAAiBX;IACrBY,EAAEZ,CAAYA;QACVa,OAAOF,EAAEG,EAAEC,CAACZ;IAChBa;;IAEQX,MAAKC,CAACC,MAAEC,EAAZU;mBAAcC,EAAEC,WAAWX,CAACM,CAACH,CAACT;IAC1BE,MAAKC,CAACW,MAAET,EAAZa;mBAAcF,EAAEG,WAAWb,CAACM,CAACH,CAACT;;IAElCC,mBAEKC,MAAKC,CAACC,GAAEO,EAAES,KAACf,gBAFWC;QACpBC,MAAML,MAAKC,CAACC,GAAEO,EAAES,KAACf,EAApBG,CAAqBX;IACzBY,EAAEZ,CAAgBA;QACda,OAAOF,EAAEG,EAAEC,CAACZ;IAChBa;IAJAZ,mBAEKC,MAAKC,CAACC,GAAEO,EAAEU,KAAChB,gBAFWC;QACpBC,MAAML,MAAKC,CAACC,GAAEO,EAAEU,KAAChB,EAApBG,CAAqBX;IACzBY,EAAEZ,CAAgBA;QACda,OAAOF,EAAEG,EAAEC,CAACZ;IAChBa;;IAEQX,MAAKC,CAACmB,MAAEjB,EAAZkB;mBAAcP,EAAEQ,cAAWlB,CAACM,CAACH,CAACT;IAC1BE,MAAKC,CAACsB,MAAEpB,EAAZqB;mBAAcV,EAAEW,cAAcrB,CAACM,CAACH,CAACT;AACzC4B"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/55_generic_module.sv.map b/testcases/map/testcases/sv/55_generic_module.sv.map new file mode 100644 index 000000000..2becdf34c --- /dev/null +++ b/testcases/map/testcases/sv/55_generic_module.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"55_generic_module.sv.map","sources":["../../../veryl/55_generic_module.veryl"],"names":["","module","Module55",";","veryl_testcase___Module55A__Module55B","u0","veryl_testcase___Module55A__Module55C","u1","veryl_testcase___Module55E__Module55C","u2","veryl_testcase___Module55E__Module55D","u3","veryl_testcase___Module55F__Module55C","u4","veryl_testcase___Module55F__Module55B","u5","endmodule","veryl_testcase_Module55B","u","veryl_testcase_Module55C","veryl_testcase_Module55D","Module55B","Module55C","Module55D","veryl_testcase___Module55A__Module55D"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;IACZH,AAASI,sCAAJC,KAA0BF;IAC/BH,AAASM,sCAAJC,KAA0BJ;IAC/BH,AAASQ,sCAAJC,KAA0BN;IAC/BH,AAASU,sCAAJC,KAA0BR;IAC/BH,AAASY,sCAAJC,KAA0BV;IAC/BH,AAASc,sCAAJC,KAAiBZ;AAC1Ba;;AAEAf,4CAAsBE;IAClBH,AAAQiB,yBAAHC,IAAIf;AACba;AAFAf,4CAAsBE;IAClBH,AAAQmB,yBAAHD,IAAIf;AACba;AAFAf,4CAAsBE;IAClBH,AAAQoB,yBAAHF,IAAIf;AACba;;AAEAf,sBAAOoB,SAAUlB;AAACa;;AAElBf,sBAAOqB,SAAUnB;AAACa;;AAElBf,sBAAOsB,SAAUpB;AAACa;;AAElBf,4CAAsBE;IAClBH,AAAQM,sCAAHY,IAAiBf;AAC1Ba;AAFAf,4CAAsBE;IAClBH,AAAQwB,sCAAHN,IAAiBf;AAC1Ba;;AAEAf,4CAAkCE;IAC9BH,AAAQmB,yBAAHD,IAAIf;AACba;AAFAf,4CAAkCE;IAC9BH,AAAQiB,yBAAHC,IAAIf;AACba"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/56_generic_interface.sv.map b/testcases/map/testcases/sv/56_generic_interface.sv.map new file mode 100644 index 000000000..e135d42b3 --- /dev/null +++ b/testcases/map/testcases/sv/56_generic_interface.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"56_generic_interface.sv.map","sources":["../../../veryl/56_generic_interface.veryl"],"names":["","module","Module56",";","veryl_testcase___Interface56A__Package56A","u0","veryl_testcase___Interface56A__Package56B","u1","veryl_testcase___Interface56B__Package56A","u2","veryl_testcase___Interface56B__Package56B","u3","endmodule","interface","logic","[","veryl_testcase_Package56A::X","]","_a","endinterface","veryl_testcase_Package56B::X","_b","package","Package56A","localparam","int unsigned","X","=","1","endpackage","Package56B","2"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;IACZH,AAASI,0CAAJC,KAA8BF;IACnCH,AAASM,0CAAJC,KAA8BJ;IACnCH,AAASQ,0CAAJC,KAA8BN;IACnCH,AAASU,0CAAJC,KAAoBR;AAC7BS;;AAEAC,mDAA4BV;IAChBW,MAAKC,CAACC,gCAAIC,EAAdC,EAAef;AACvBgB;AAFAN,mDAA4BV;IAChBW,MAAKC,CAACK,gCAAIH,EAAdC,EAAef;AACvBgB;;AAEAN,mDAAyCV;IAC7BW,MAAKC,CAACC,gCAAIC,EAAdI,EAAelB;AACvBgB;AAFAN,mDAAyCV;IAC7BW,MAAKC,CAACK,gCAAIH,EAAdI,EAAelB;AACvBgB;;AAEAG,uBAAQC,UAAWpB;IACfqB,WAASC,aAAHC,EAAOC,EAAEC,CAACzB;AACpB0B;;AAEAP,uBAAQQ,UAAW3B;IACfqB,WAASC,aAAHC,EAAOC,EAAEI,CAAC5B;AACpB0B"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/57_generic_package.sv.map b/testcases/map/testcases/sv/57_generic_package.sv.map new file mode 100644 index 000000000..96bf53654 --- /dev/null +++ b/testcases/map/testcases/sv/57_generic_package.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"57_generic_package.sv.map","sources":["../../../veryl/57_generic_package.veryl"],"names":["","module","Module57",";","localparam","int unsigned","A","=","veryl_testcase___Package57A__1::X","longint unsigned","B","veryl_testcase___Package57A__2::X","C","veryl_testcase___Package57B__3::X","D","veryl_testcase___Package57B__4::X","veryl_testcase___Package57C__2::StructC","_e","always_comb",".","c","1","endmodule","package","X","endpackage","2","3","4","typedef struct packed","{","logic","[","]","StructC"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;IACZC,WAASC,iBAAHC,EAAOC,EAAEC,iCAAkBL;IACjCC,WAASK,iBAAHC,EAAOH,EAAEI,iCAAkBR;IACjCC,WAASC,iBAAHO,EAAOL,EAAEM,iCAAkBV;IACjCC,WAASK,iBAAHK,EAAOP,EAAEQ,iCAAiBZ;;IAEtBa,wCAANC,IAA8Bd;IAClCe,YAAOD,EAAEE,CAACC,EAAEb,EAAEc,CAAClB;AACnBmB;;AAEAC,sCAAwBpB;IACpBC,WAASC,aAAHmB,EAAOjB,EAAEc,CAAClB;AACpBsB;AAFAF,sCAAwBpB;IACpBC,WAASC,aAAHmB,EAAOjB,EAAEmB,CAACvB;AACpBsB;;AAEAF,sCAA4BpB;IACxBC,WAASC,aAAHmB,EAAOjB,EAAEoB,CAACxB;AACpBsB;AAFAF,sCAA4BpB;IACxBC,WAASC,aAAHmB,EAAOjB,EAAEqB,CAACzB;AACpBsB;;AAEAF,sCAAwBpB;IACpB0B,sBAAeC;QACRC,MAAKC,CAACN,KAACO,EAAVb,CAAWjB;MADR+B,QAEPlC;AACJyB"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/58_generic_struct.sv.map b/testcases/map/testcases/sv/58_generic_struct.sv.map new file mode 100644 index 000000000..91b02d199 --- /dev/null +++ b/testcases/map/testcases/sv/58_generic_struct.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"58_generic_struct.sv.map","sources":["../../../veryl/58_generic_struct.veryl"],"names":["","module","Module58",";","typedef struct packed","{","veryl_testcase_Package58::B","A","veryl_testcase_Package58::C","C","typedef","int signed","B","__StructA__Package58_B","_a","__StructA__Package58_C","_b","__StructA__C","_c","__StructB__Package58_C","_d","__StructB__C","_e","endmodule","package","Package58","int unsigned","longint unsigned","endpackage"],"mappings":"AAAAA,AAAAC,sBAAOC,QAASC;IACZC,sBAAoBC;QACbC,4BAAHC,CAAIJ;6BACRH;IAFAI,sBAAoBC;QACbG,4BAAHD,CAAIJ;6BACRH;IAFAI,sBAAoBC;QACbI,EAAHF,CAAIJ;mBACRH;;IAEAU,QAASC,WAAJF,CAAON;;IAEZC,sBAAwBC;QACjBG,4BAAHI,CAAIT;6BACRH;IAFAI,sBAAwBC;QACjBI,EAAHG,CAAIT;mBACRH;;IAEQa,uBAAJC,EAA2BX;IACvBY,uBAAJC,EAA2Bb;IACvBc,uBAAJC,EAA2Bf;IACvBgB,uBAAJC,EAA2BjB;IACvBkB,aAAJC,EAA2BnB;AACnCoB;;AAEAC,uBAAQC,SAAUtB;IACdO,QAASgB,iBAAJd,CAAOT;IACZO,QAASiB,iBAAJlB,CAAON;AAChByB"} \ No newline at end of file diff --git a/testcases/map/testcases/sv/59_same_name.sv.map b/testcases/map/testcases/sv/59_same_name.sv.map new file mode 100644 index 000000000..ea4c1176a --- /dev/null +++ b/testcases/map/testcases/sv/59_same_name.sv.map @@ -0,0 +1 @@ +{"version":3,"file":"59_same_name.sv.map","sources":["../../../veryl/59_same_name.veryl"],"names":["","package","Package59A",";","localparam","int unsigned","XLEN","=","32","endpackage","Package59B","veryl_testcase_Package59A::XLEN"],"mappings":"AAAAA,AAAAC,uBAAQC,UAAWC;IACfC,WAAYC,aAANC,KAAUC,EAAEC,EAAEL;AACxBM;;AAEAR,uBAAQS,UAAWP;IACfC,WAAYC,aAANC,KAAUC,EAAEI,+BAAgBR;AACtCM"} \ No newline at end of file diff --git a/testcases/sv/01_number.sv b/testcases/sv/01_number.sv index 7f9e34b66..278c6ad7e 100644 --- a/testcases/sv/01_number.sv +++ b/testcases/sv/01_number.sv @@ -38,3 +38,4 @@ module veryl_testcase_Module01; localparam int unsigned gggg = 0123456789.0123456789E+0123456789; localparam int unsigned ggggg = 0123456789.0123456789E-0123456789; endmodule +//# sourceMappingURL=../map/testcases/sv/01_number.sv.map diff --git a/testcases/sv/02_builtin_type.sv b/testcases/sv/02_builtin_type.sv index 2aa5ba606..819350af5 100644 --- a/testcases/sv/02_builtin_type.sv +++ b/testcases/sv/02_builtin_type.sv @@ -47,3 +47,4 @@ module veryl_testcase_Module02; real _ffffff [0:10-1]; always_comb _ffffff = 1; endmodule +//# sourceMappingURL=../map/testcases/sv/02_builtin_type.sv.map diff --git a/testcases/sv/03_operator.sv b/testcases/sv/03_operator.sv index 7de94c509..491c17b86 100644 --- a/testcases/sv/03_operator.sv +++ b/testcases/sv/03_operator.sv @@ -91,3 +91,4 @@ module veryl_testcase_Module03; logic _hh; always_comb _hh = 1 || 1; endmodule +//# sourceMappingURL=../map/testcases/sv/03_operator.sv.map diff --git a/testcases/sv/04_module.sv b/testcases/sv/04_module.sv index c9350e429..ef67b9102 100644 --- a/testcases/sv/04_module.sv +++ b/testcases/sv/04_module.sv @@ -35,3 +35,4 @@ interface veryl_testcase_Interface04; input c ); endinterface +//# sourceMappingURL=../map/testcases/sv/04_module.sv.map diff --git a/testcases/sv/05_interface.sv b/testcases/sv/05_interface.sv index 8e713b881..5200b213f 100644 --- a/testcases/sv/05_interface.sv +++ b/testcases/sv/05_interface.sv @@ -21,3 +21,4 @@ interface veryl_testcase_Interface05 #( inout ccc ); endinterface +//# sourceMappingURL=../map/testcases/sv/05_interface.sv.map diff --git a/testcases/sv/06_function.sv b/testcases/sv/06_function.sv index bc4f3398f..b02506114 100644 --- a/testcases/sv/06_function.sv +++ b/testcases/sv/06_function.sv @@ -42,3 +42,4 @@ module veryl_testcase_Module06; // system function call always_comb e = $clog2(a); endmodule +//# sourceMappingURL=../map/testcases/sv/06_function.sv.map diff --git a/testcases/sv/07_statement.sv b/testcases/sv/07_statement.sv index 782bbb0f4..d190b9660 100644 --- a/testcases/sv/07_statement.sv +++ b/testcases/sv/07_statement.sv @@ -89,3 +89,4 @@ module veryl_testcase_Module07; a <= a >>> (1); end endmodule +//# sourceMappingURL=../map/testcases/sv/07_statement.sv.map diff --git a/testcases/sv/08_generate_declaration.sv b/testcases/sv/08_generate_declaration.sv index 21902e6df..65d7aef89 100644 --- a/testcases/sv/08_generate_declaration.sv +++ b/testcases/sv/08_generate_declaration.sv @@ -43,3 +43,4 @@ module veryl_testcase_Module08; end end endmodule +//# sourceMappingURL=../map/testcases/sv/08_generate_declaration.sv.map diff --git a/testcases/sv/09_struct_enum.sv b/testcases/sv/09_struct_enum.sv index 0473040b9..82d943e2d 100644 --- a/testcases/sv/09_struct_enum.sv +++ b/testcases/sv/09_struct_enum.sv @@ -28,3 +28,4 @@ module veryl_testcase_Module09; always_comb b = B_X; always_comb c = FOO_C_0; endmodule +//# sourceMappingURL=../map/testcases/sv/09_struct_enum.sv.map diff --git a/testcases/sv/10_various_line_comment.sv b/testcases/sv/10_various_line_comment.sv index b29dbfc83..1c4b940e1 100644 --- a/testcases/sv/10_various_line_comment.sv +++ b/testcases/sv/10_various_line_comment.sv @@ -60,3 +60,4 @@ module //a end end endmodule +//# sourceMappingURL=../map/testcases/sv/10_various_line_comment.sv.map diff --git a/testcases/sv/11_let.sv b/testcases/sv/11_let.sv index cf375fd5c..c0e663070 100644 --- a/testcases/sv/11_let.sv +++ b/testcases/sv/11_let.sv @@ -13,3 +13,4 @@ module veryl_testcase_Module11; always_comb b = 1; always_comb bb = 1; endmodule +//# sourceMappingURL=../map/testcases/sv/11_let.sv.map diff --git a/testcases/sv/12_always.sv b/testcases/sv/12_always.sv index 9a68a1765..eab05d6b2 100644 --- a/testcases/sv/12_always.sv +++ b/testcases/sv/12_always.sv @@ -95,3 +95,4 @@ module veryl_testcase_Module12_2 ( aa = 10 + 16'hffff * (3 / 4); end endmodule +//# sourceMappingURL=../map/testcases/sv/12_always.sv.map diff --git a/testcases/sv/13_range_operator.sv b/testcases/sv/13_range_operator.sv index 1d65cd54c..1e26f0361 100644 --- a/testcases/sv/13_range_operator.sv +++ b/testcases/sv/13_range_operator.sv @@ -20,3 +20,4 @@ module veryl_testcase_Module13; // index by step always_comb e = X[1*(2)+:(2)]; endmodule +//# sourceMappingURL=../map/testcases/sv/13_range_operator.sv.map diff --git a/testcases/sv/14_inst.sv b/testcases/sv/14_inst.sv index 35734498a..aa78cdeb1 100644 --- a/testcases/sv/14_inst.sv +++ b/testcases/sv/14_inst.sv @@ -50,3 +50,4 @@ interface veryl_testcase_InterfaceA #( parameter int unsigned b = 1 ); endinterface +//# sourceMappingURL=../map/testcases/sv/14_inst.sv.map diff --git a/testcases/sv/15_named_block.sv b/testcases/sv/15_named_block.sv index 536935914..2f87044aa 100644 --- a/testcases/sv/15_named_block.sv +++ b/testcases/sv/15_named_block.sv @@ -12,3 +12,4 @@ module veryl_testcase_Module15; always_comb _a = 1; end endmodule +//# sourceMappingURL=../map/testcases/sv/15_named_block.sv.map diff --git a/testcases/sv/16_case.sv b/testcases/sv/16_case.sv index 38bca5f28..690756e09 100644 --- a/testcases/sv/16_case.sv +++ b/testcases/sv/16_case.sv @@ -20,3 +20,4 @@ module veryl_testcase_Module16; endcase end endmodule +//# sourceMappingURL=../map/testcases/sv/16_case.sv.map diff --git a/testcases/sv/17_package.sv b/testcases/sv/17_package.sv index 0fd1540df..467b71925 100644 --- a/testcases/sv/17_package.sv +++ b/testcases/sv/17_package.sv @@ -32,3 +32,4 @@ package veryl_testcase_Package17; return a + 2; endfunction endpackage +//# sourceMappingURL=../map/testcases/sv/17_package.sv.map diff --git a/testcases/sv/18_concatenation.sv b/testcases/sv/18_concatenation.sv index 70c026a6a..025af14f6 100644 --- a/testcases/sv/18_concatenation.sv +++ b/testcases/sv/18_concatenation.sv @@ -7,3 +7,4 @@ module veryl_testcase_Module18; always_comb a = {a[10:0], c}; always_comb b = {{10{a[10:0]}}, {4{c}}}; endmodule +//# sourceMappingURL=../map/testcases/sv/18_concatenation.sv.map diff --git a/testcases/sv/19_import_export.sv b/testcases/sv/19_import_export.sv index 11dd2ffab..0eebbdf01 100644 --- a/testcases/sv/19_import_export.sv +++ b/testcases/sv/19_import_export.sv @@ -31,3 +31,4 @@ package veryl_testcase_PackageA; import PackageA::*; localparam int unsigned A = 0; endpackage +//# sourceMappingURL=../map/testcases/sv/19_import_export.sv.map diff --git a/testcases/sv/20_if_case_expression.sv b/testcases/sv/20_if_case_expression.sv index 42d49bfe6..662bd5e73 100644 --- a/testcases/sv/20_if_case_expression.sv +++ b/testcases/sv/20_if_case_expression.sv @@ -28,3 +28,4 @@ module veryl_testcase_Module20; 3 )); endmodule +//# sourceMappingURL=../map/testcases/sv/20_if_case_expression.sv.map diff --git a/testcases/sv/21_cast.sv b/testcases/sv/21_cast.sv index a42076923..0b1396e42 100644 --- a/testcases/sv/21_cast.sv +++ b/testcases/sv/21_cast.sv @@ -15,3 +15,4 @@ module veryl_testcase_Module21; always_comb a = EnumA'(EnumB'(b)); endmodule +//# sourceMappingURL=../map/testcases/sv/21_cast.sv.map diff --git a/testcases/sv/22_type_modifier.sv b/testcases/sv/22_type_modifier.sv index d19f07926..c0fc8201a 100644 --- a/testcases/sv/22_type_modifier.sv +++ b/testcases/sv/22_type_modifier.sv @@ -8,3 +8,4 @@ module veryl_testcase_Module22; logic [10-1:0] _d; always_comb _d = 1; endmodule +//# sourceMappingURL=../map/testcases/sv/22_type_modifier.sv.map diff --git a/testcases/sv/23_ifdef.sv b/testcases/sv/23_ifdef.sv index e48539677..def79feb8 100644 --- a/testcases/sv/23_ifdef.sv +++ b/testcases/sv/23_ifdef.sv @@ -51,3 +51,4 @@ endmodule module veryl_testcase_Module23_C; endmodule `endif +//# sourceMappingURL=../map/testcases/sv/23_ifdef.sv.map diff --git a/testcases/sv/24_sv_attribute.sv b/testcases/sv/24_sv_attribute.sv index 75334046a..5a6011355 100644 --- a/testcases/sv/24_sv_attribute.sv +++ b/testcases/sv/24_sv_attribute.sv @@ -6,3 +6,4 @@ module veryl_testcase_Module24; logic _b; always_comb _b = 1; endmodule +//# sourceMappingURL=../map/testcases/sv/24_sv_attribute.sv.map diff --git a/testcases/sv/25_dependency.sv b/testcases/sv/25_dependency.sv index b3df2662c..0dcaede47 100644 --- a/testcases/sv/25_dependency.sv +++ b/testcases/sv/25_dependency.sv @@ -19,3 +19,4 @@ module veryl_testcase_Module25 ( .o_d (o_d1 ) ); endmodule +//# sourceMappingURL=../map/testcases/sv/25_dependency.sv.map diff --git a/testcases/sv/26_array.sv b/testcases/sv/26_array.sv index 722ac6d15..e2562f227 100644 --- a/testcases/sv/26_array.sv +++ b/testcases/sv/26_array.sv @@ -8,3 +8,4 @@ module veryl_testcase_Module26; logic [10-1:0][10-1:0] _d [0:10-1][0:10-1]; always_comb _d = 1; endmodule +//# sourceMappingURL=../map/testcases/sv/26_array.sv.map diff --git a/testcases/sv/27_string.sv b/testcases/sv/27_string.sv index 4f44dece0..767edba0e 100644 --- a/testcases/sv/27_string.sv +++ b/testcases/sv/27_string.sv @@ -4,3 +4,4 @@ module veryl_testcase_Module27; string _b; always_comb _b = "bbb"; endmodule +//# sourceMappingURL=../map/testcases/sv/27_string.sv.map diff --git a/testcases/sv/28_msblsb.sv b/testcases/sv/28_msblsb.sv index e7e73d51e..3a6336bd4 100644 --- a/testcases/sv/28_msblsb.sv +++ b/testcases/sv/28_msblsb.sv @@ -12,3 +12,4 @@ module veryl_testcase_Module28; logic _y; always_comb _y = b[((WIDTH0 + 10) - 1) - 3][((WIDTH1) - 1) + 5:0]; endmodule +//# sourceMappingURL=../map/testcases/sv/28_msblsb.sv.map diff --git a/testcases/sv/29_allow.sv b/testcases/sv/29_allow.sv index 8e12d92ec..13bbee666 100644 --- a/testcases/sv/29_allow.sv +++ b/testcases/sv/29_allow.sv @@ -22,3 +22,4 @@ module veryl_testcase_Module29 ( ); endmodule +//# sourceMappingURL=../map/testcases/sv/29_allow.sv.map diff --git a/testcases/sv/30_empty.sv b/testcases/sv/30_empty.sv index 8b1378917..79a0acb17 100644 --- a/testcases/sv/30_empty.sv +++ b/testcases/sv/30_empty.sv @@ -1 +1,2 @@ +//# sourceMappingURL=../map/testcases/sv/30_empty.sv.map diff --git a/testcases/sv/31_initial_final.sv b/testcases/sv/31_initial_final.sv index db4baedc2..27de0949a 100644 --- a/testcases/sv/31_initial_final.sv +++ b/testcases/sv/31_initial_final.sv @@ -7,3 +7,4 @@ module veryl_testcase_Module31; $display("final"); end endmodule +//# sourceMappingURL=../map/testcases/sv/31_initial_final.sv.map diff --git a/testcases/sv/32_inside_outside.sv b/testcases/sv/32_inside_outside.sv index df8925ca6..9418a4625 100644 --- a/testcases/sv/32_inside_outside.sv +++ b/testcases/sv/32_inside_outside.sv @@ -5,3 +5,4 @@ module veryl_testcase_Module32; always_comb a = ((1 + 2 / 3) inside {0, [0:(10)-1], [1:10]}); always_comb b = !((1 * 2 - 1) inside {0, [0:(10)-1], [1:10]}); endmodule +//# sourceMappingURL=../map/testcases/sv/32_inside_outside.sv.map diff --git a/testcases/sv/33_widthless_num.sv b/testcases/sv/33_widthless_num.sv index d85162d40..1a48dc050 100644 --- a/testcases/sv/33_widthless_num.sv +++ b/testcases/sv/33_widthless_num.sv @@ -9,3 +9,4 @@ module veryl_testcase_Module33; localparam int unsigned a7 = 32'hffffffff; localparam int unsigned a8 = 208'hffff_ffff_ffff_ffff_ffff_ffff_ffff_ffff_ffff_ffff_ffff_ffff_ffff; endmodule +//# sourceMappingURL=../map/testcases/sv/33_widthless_num.sv.map diff --git a/testcases/sv/34_width_all_set.sv b/testcases/sv/34_width_all_set.sv index baf2337c0..25d65f0ca 100644 --- a/testcases/sv/34_width_all_set.sv +++ b/testcases/sv/34_width_all_set.sv @@ -8,3 +8,4 @@ module veryl_testcase_Module34; localparam int unsigned a6 = 10'bxxxxxxxxxx; localparam int unsigned a7 = 10'bzzzzzzzzzz; endmodule +//# sourceMappingURL=../map/testcases/sv/34_width_all_set.sv.map diff --git a/testcases/sv/35_unconnected_port.sv b/testcases/sv/35_unconnected_port.sv index 6f1c6d94d..715da5ab6 100644 --- a/testcases/sv/35_unconnected_port.sv +++ b/testcases/sv/35_unconnected_port.sv @@ -15,3 +15,4 @@ module veryl_testcase_Module35B ( input int unsigned bbbb ); endmodule +//# sourceMappingURL=../map/testcases/sv/35_unconnected_port.sv.map diff --git a/testcases/sv/36_doc_comment.sv b/testcases/sv/36_doc_comment.sv index b9608ef03..cad98811f 100644 --- a/testcases/sv/36_doc_comment.sv +++ b/testcases/sv/36_doc_comment.sv @@ -43,3 +43,4 @@ endinterface /// * list item1 package veryl_testcase_Package36; endpackage +//# sourceMappingURL=../map/testcases/sv/36_doc_comment.sv.map diff --git a/testcases/sv/37_package_ref.sv b/testcases/sv/37_package_ref.sv index 1816916b9..851826485 100644 --- a/testcases/sv/37_package_ref.sv +++ b/testcases/sv/37_package_ref.sv @@ -17,3 +17,4 @@ package veryl_testcase_Package37; return 0; endfunction endpackage +//# sourceMappingURL=../map/testcases/sv/37_package_ref.sv.map diff --git a/testcases/sv/38_typedef.sv b/testcases/sv/38_typedef.sv index 0b5ddb9c3..6667e03fe 100644 --- a/testcases/sv/38_typedef.sv +++ b/testcases/sv/38_typedef.sv @@ -24,3 +24,4 @@ package veryl_testcase_Package38; typedef bit [8-1:0] octbyte [0:8-1]; endpackage +//# sourceMappingURL=../map/testcases/sv/38_typedef.sv.map diff --git a/testcases/sv/39_modport.sv b/testcases/sv/39_modport.sv index 6cac6067f..2f27fb30c 100644 --- a/testcases/sv/39_modport.sv +++ b/testcases/sv/39_modport.sv @@ -23,3 +23,4 @@ interface veryl_testcase_Interface39; import get_a ); endinterface +//# sourceMappingURL=../map/testcases/sv/39_modport.sv.map diff --git a/testcases/sv/40_enum_resolve.sv b/testcases/sv/40_enum_resolve.sv index 0eec1a184..75e31286f 100644 --- a/testcases/sv/40_enum_resolve.sv +++ b/testcases/sv/40_enum_resolve.sv @@ -16,3 +16,4 @@ module veryl_testcase_Module40; return e == EnumA_member_a; endfunction endmodule +//# sourceMappingURL=../map/testcases/sv/40_enum_resolve.sv.map diff --git a/testcases/sv/41_union.sv b/testcases/sv/41_union.sv index 8271a4799..39808f576 100644 --- a/testcases/sv/41_union.sv +++ b/testcases/sv/41_union.sv @@ -15,3 +15,4 @@ module veryl_testcase_Module41; A bar ; always_comb bar.c = Boolean_True; endmodule +//# sourceMappingURL=../map/testcases/sv/41_union.sv.map diff --git a/testcases/sv/42_sv_namespace.sv b/testcases/sv/42_sv_namespace.sv index 6fd7686dc..b803f505f 100644 --- a/testcases/sv/42_sv_namespace.sv +++ b/testcases/sv/42_sv_namespace.sv @@ -21,3 +21,4 @@ module veryl_testcase_Module42 ( .o_d (o_d ) ); endmodule +//# sourceMappingURL=../map/testcases/sv/42_sv_namespace.sv.map diff --git a/testcases/sv/43_sv_member.sv b/testcases/sv/43_sv_member.sv index 4b51c92ab..313a898c3 100644 --- a/testcases/sv/43_sv_member.sv +++ b/testcases/sv/43_sv_member.sv @@ -4,3 +4,4 @@ module veryl_testcase_Module43; always_comb b = a.memberA; endmodule +//# sourceMappingURL=../map/testcases/sv/43_sv_member.sv.map diff --git a/testcases/sv/44_import_resolve.sv b/testcases/sv/44_import_resolve.sv index 845f8d28d..c322fa329 100644 --- a/testcases/sv/44_import_resolve.sv +++ b/testcases/sv/44_import_resolve.sv @@ -18,3 +18,4 @@ endpackage package veryl_testcase_Package44B; localparam int unsigned y = 0; endpackage +//# sourceMappingURL=../map/testcases/sv/44_import_resolve.sv.map diff --git a/testcases/sv/45_let_in_always.sv b/testcases/sv/45_let_in_always.sv index ff28ce190..bef0e7783 100644 --- a/testcases/sv/45_let_in_always.sv +++ b/testcases/sv/45_let_in_always.sv @@ -16,3 +16,4 @@ module veryl_testcase_Module45; c = y * 1; end endmodule +//# sourceMappingURL=../map/testcases/sv/45_let_in_always.sv.map diff --git a/testcases/sv/46_let_anywhere.sv b/testcases/sv/46_let_anywhere.sv index f25e87518..23c32ec99 100644 --- a/testcases/sv/46_let_anywhere.sv +++ b/testcases/sv/46_let_anywhere.sv @@ -32,3 +32,4 @@ module veryl_testcase_Module46; return a + 2; endfunction endmodule +//# sourceMappingURL=../map/testcases/sv/46_let_anywhere.sv.map diff --git a/testcases/sv/47_embed.sv b/testcases/sv/47_embed.sv index 89977ea38..7f53ab0d4 100644 --- a/testcases/sv/47_embed.sv +++ b/testcases/sv/47_embed.sv @@ -10,3 +10,4 @@ endmodule // comment +//# sourceMappingURL=../map/testcases/sv/47_embed.sv.map diff --git a/testcases/sv/48_test.sv b/testcases/sv/48_test.sv index 8995f25a1..3752aaab6 100644 --- a/testcases/sv/48_test.sv +++ b/testcases/sv/48_test.sv @@ -39,3 +39,4 @@ module veryl_testcase_test4; end endmodule `endif +//# sourceMappingURL=../map/testcases/sv/48_test.sv.map diff --git a/testcases/sv/49_system_function.sv b/testcases/sv/49_system_function.sv index 04feaa74a..723f33cf4 100644 --- a/testcases/sv/49_system_function.sv +++ b/testcases/sv/49_system_function.sv @@ -200,3 +200,4 @@ module veryl_testcase_Module49; a = $writeo(); end endmodule +//# sourceMappingURL=../map/testcases/sv/49_system_function.sv.map diff --git a/testcases/sv/50_enum_over_typedef.sv b/testcases/sv/50_enum_over_typedef.sv index 194a8159f..d52a7b523 100644 --- a/testcases/sv/50_enum_over_typedef.sv +++ b/testcases/sv/50_enum_over_typedef.sv @@ -13,3 +13,4 @@ module veryl_testcase_Module50; EnumB _b; always_comb _b = veryl_testcase_Package50::EnumA_memberB; endmodule +//# sourceMappingURL=../map/testcases/sv/50_enum_over_typedef.sv.map diff --git a/testcases/sv/51_array_literal.sv b/testcases/sv/51_array_literal.sv index 7efd00ff4..757f41d38 100644 --- a/testcases/sv/51_array_literal.sv +++ b/testcases/sv/51_array_literal.sv @@ -6,3 +6,4 @@ module veryl_testcase_Module51; logic _c [0:2-1]; always_comb _c = '{default: 1}; endmodule +//# sourceMappingURL=../map/testcases/sv/51_array_literal.sv.map diff --git a/testcases/sv/52_include.sv b/testcases/sv/52_include.sv index 201b1a96a..90307d945 100644 --- a/testcases/sv/52_include.sv +++ b/testcases/sv/52_include.sv @@ -6,3 +6,4 @@ module test; end endmodule +//# sourceMappingURL=../map/testcases/sv/52_include.sv.map diff --git a/testcases/sv/53_multiline_comment_case.sv b/testcases/sv/53_multiline_comment_case.sv index caa1d76b9..5fd9d26c1 100644 --- a/testcases/sv/53_multiline_comment_case.sv +++ b/testcases/sv/53_multiline_comment_case.sv @@ -13,3 +13,4 @@ module veryl_testcase_Module53; endcase end endmodule +//# sourceMappingURL=../map/testcases/sv/53_multiline_comment_case.sv.map diff --git a/testcases/sv/54_generic_function.sv b/testcases/sv/54_generic_function.sv index 4d066ca07..3298531ab 100644 --- a/testcases/sv/54_generic_function.sv +++ b/testcases/sv/54_generic_function.sv @@ -31,3 +31,4 @@ module veryl_testcase_Module54; logic [14-1:0] _d; always_comb _d = __FuncB__10__4(1); endmodule +//# sourceMappingURL=../map/testcases/sv/54_generic_function.sv.map diff --git a/testcases/sv/55_generic_module.sv b/testcases/sv/55_generic_module.sv index 3ba1e6393..e2a082c9e 100644 --- a/testcases/sv/55_generic_module.sv +++ b/testcases/sv/55_generic_module.sv @@ -39,3 +39,4 @@ endmodule module veryl_testcase___Module55F__Module55B; veryl_testcase_Module55B u (); endmodule +//# sourceMappingURL=../map/testcases/sv/55_generic_module.sv.map diff --git a/testcases/sv/56_generic_interface.sv b/testcases/sv/56_generic_interface.sv index ca7b0d171..97ea640eb 100644 --- a/testcases/sv/56_generic_interface.sv +++ b/testcases/sv/56_generic_interface.sv @@ -26,3 +26,4 @@ endpackage package veryl_testcase_Package56B; localparam int unsigned X = 2; endpackage +//# sourceMappingURL=../map/testcases/sv/56_generic_interface.sv.map diff --git a/testcases/sv/57_generic_package.sv b/testcases/sv/57_generic_package.sv index d1b6a8554..6c1d0111c 100644 --- a/testcases/sv/57_generic_package.sv +++ b/testcases/sv/57_generic_package.sv @@ -27,3 +27,4 @@ package veryl_testcase___Package57C__2; logic [2-1:0] c; } StructC; endpackage +//# sourceMappingURL=../map/testcases/sv/57_generic_package.sv.map diff --git a/testcases/sv/58_generic_struct.sv b/testcases/sv/58_generic_struct.sv index 3f52f3de5..86c2c8941 100644 --- a/testcases/sv/58_generic_struct.sv +++ b/testcases/sv/58_generic_struct.sv @@ -29,3 +29,4 @@ package veryl_testcase_Package58; typedef int unsigned B; typedef longint unsigned C; endpackage +//# sourceMappingURL=../map/testcases/sv/58_generic_struct.sv.map diff --git a/testcases/sv/59_same_name.sv b/testcases/sv/59_same_name.sv index 71a35afd2..0d168ac47 100644 --- a/testcases/sv/59_same_name.sv +++ b/testcases/sv/59_same_name.sv @@ -5,3 +5,4 @@ endpackage package veryl_testcase_Package59B; localparam int unsigned XLEN = veryl_testcase_Package59A::XLEN; endpackage +//# sourceMappingURL=../map/testcases/sv/59_same_name.sv.map