change default to --simplify-enums=replace-with-bundle-of-uints
All checks were successful
/ test (push) Successful in 4m42s
All checks were successful
/ test (push) Successful in 4m42s
This commit is contained in:
parent
9d66fcc548
commit
d089095667
|
@ -2616,7 +2616,7 @@ pub struct ExportOptionsPrivate(());
|
||||||
pub struct ExportOptions {
|
pub struct ExportOptions {
|
||||||
#[clap(long = "no-simplify-memories", action = clap::ArgAction::SetFalse)]
|
#[clap(long = "no-simplify-memories", action = clap::ArgAction::SetFalse)]
|
||||||
pub simplify_memories: bool,
|
pub simplify_memories: bool,
|
||||||
#[clap(long, value_parser = OptionSimplifyEnumsKindValueParser, default_value = OptionSimplifyEnumsKindValueParser::NONE_NAME)]
|
#[clap(long, value_parser = OptionSimplifyEnumsKindValueParser, default_value = "replace-with-bundle-of-uints")]
|
||||||
pub simplify_enums: std::option::Option<SimplifyEnumsKind>,
|
pub simplify_enums: std::option::Option<SimplifyEnumsKind>,
|
||||||
#[doc(hidden)]
|
#[doc(hidden)]
|
||||||
#[clap(skip = ExportOptionsPrivate(()))]
|
#[clap(skip = ExportOptionsPrivate(()))]
|
||||||
|
@ -2688,7 +2688,7 @@ impl Default for ExportOptions {
|
||||||
fn default() -> Self {
|
fn default() -> Self {
|
||||||
Self {
|
Self {
|
||||||
simplify_memories: true,
|
simplify_memories: true,
|
||||||
simplify_enums: None,
|
simplify_enums: Some(SimplifyEnumsKind::ReplaceWithBundleOfUInts),
|
||||||
__private: ExportOptionsPrivate(()),
|
__private: ExportOptionsPrivate(()),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,11 +1,8 @@
|
||||||
// SPDX-License-Identifier: LGPL-3.0-or-later
|
// SPDX-License-Identifier: LGPL-3.0-or-later
|
||||||
// See Notices.txt for copyright information
|
// See Notices.txt for copyright information
|
||||||
use fayalite::{
|
use fayalite::{
|
||||||
annotations::CustomFirrtlAnnotation,
|
annotations::CustomFirrtlAnnotation, assert_export_firrtl, firrtl::ExportOptions,
|
||||||
assert_export_firrtl,
|
intern::Intern, module::transform::simplify_enums::SimplifyEnumsKind, prelude::*,
|
||||||
intern::Intern,
|
|
||||||
module::transform::simplify_enums::{simplify_enums, SimplifyEnumsKind},
|
|
||||||
prelude::*,
|
|
||||||
ty::StaticType,
|
ty::StaticType,
|
||||||
};
|
};
|
||||||
use serde_json::json;
|
use serde_json::json;
|
||||||
|
@ -86,6 +83,10 @@ fn test_mymodule() {
|
||||||
#[rustfmt::skip] // work around https://github.com/rust-lang/rustfmt/issues/6161
|
#[rustfmt::skip] // work around https://github.com/rust-lang/rustfmt/issues/6161
|
||||||
assert_export_firrtl! {
|
assert_export_firrtl! {
|
||||||
m =>
|
m =>
|
||||||
|
options: ExportOptions {
|
||||||
|
simplify_enums: None,
|
||||||
|
..ExportOptions::default()
|
||||||
|
},
|
||||||
"/test/my_module.fir": r"FIRRTL version 3.2.0
|
"/test/my_module.fir": r"FIRRTL version 3.2.0
|
||||||
circuit my_module:
|
circuit my_module:
|
||||||
type Ty0 = {`0`: UInt<32>, `1`: SInt<5>}
|
type Ty0 = {`0`: UInt<32>, `1`: SInt<5>}
|
||||||
|
@ -481,6 +482,10 @@ fn test_enum_literals() {
|
||||||
#[rustfmt::skip] // work around https://github.com/rust-lang/rustfmt/issues/6161
|
#[rustfmt::skip] // work around https://github.com/rust-lang/rustfmt/issues/6161
|
||||||
assert_export_firrtl! {
|
assert_export_firrtl! {
|
||||||
m =>
|
m =>
|
||||||
|
options: ExportOptions {
|
||||||
|
simplify_enums: None,
|
||||||
|
..ExportOptions::default()
|
||||||
|
},
|
||||||
"/test/check_enum_literals.fir": r"FIRRTL version 3.2.0
|
"/test/check_enum_literals.fir": r"FIRRTL version 3.2.0
|
||||||
circuit check_enum_literals:
|
circuit check_enum_literals:
|
||||||
type Ty0 = {|HdlNone, HdlSome: UInt<8>|}
|
type Ty0 = {|HdlNone, HdlSome: UInt<8>|}
|
||||||
|
@ -502,12 +507,13 @@ circuit check_enum_literals:
|
||||||
connect o2, {|A, B: UInt<8>, C: UInt<1>[3]|}(C, _array_literal_expr) @[module-XXXXXXXXXX.rs 10:1]
|
connect o2, {|A, B: UInt<8>, C: UInt<1>[3]|}(C, _array_literal_expr) @[module-XXXXXXXXXX.rs 10:1]
|
||||||
",
|
",
|
||||||
};
|
};
|
||||||
let orig_m = m.canonical().intern();
|
|
||||||
let m = simplify_enums(orig_m, SimplifyEnumsKind::SimplifyToEnumsWithNoBody).unwrap();
|
|
||||||
dbg!(m);
|
|
||||||
#[rustfmt::skip] // work around https://github.com/rust-lang/rustfmt/issues/6161
|
#[rustfmt::skip] // work around https://github.com/rust-lang/rustfmt/issues/6161
|
||||||
assert_export_firrtl! {
|
assert_export_firrtl! {
|
||||||
m =>
|
m =>
|
||||||
|
options: ExportOptions {
|
||||||
|
simplify_enums: Some(SimplifyEnumsKind::SimplifyToEnumsWithNoBody),
|
||||||
|
..ExportOptions::default()
|
||||||
|
},
|
||||||
"/test/check_enum_literals.fir": r"FIRRTL version 3.2.0
|
"/test/check_enum_literals.fir": r"FIRRTL version 3.2.0
|
||||||
circuit check_enum_literals:
|
circuit check_enum_literals:
|
||||||
type Ty0 = {|HdlNone, HdlSome|}
|
type Ty0 = {|HdlNone, HdlSome|}
|
||||||
|
@ -549,11 +555,13 @@ circuit check_enum_literals:
|
||||||
connect o2, _bundle_literal_expr_3 @[module-XXXXXXXXXX.rs 10:1]
|
connect o2, _bundle_literal_expr_3 @[module-XXXXXXXXXX.rs 10:1]
|
||||||
",
|
",
|
||||||
};
|
};
|
||||||
let m = simplify_enums(orig_m, SimplifyEnumsKind::ReplaceWithBundleOfUInts).unwrap();
|
|
||||||
dbg!(m);
|
|
||||||
#[rustfmt::skip] // work around https://github.com/rust-lang/rustfmt/issues/6161
|
#[rustfmt::skip] // work around https://github.com/rust-lang/rustfmt/issues/6161
|
||||||
assert_export_firrtl! {
|
assert_export_firrtl! {
|
||||||
m =>
|
m =>
|
||||||
|
options: ExportOptions {
|
||||||
|
simplify_enums: Some(SimplifyEnumsKind::ReplaceWithBundleOfUInts),
|
||||||
|
..ExportOptions::default()
|
||||||
|
},
|
||||||
"/test/check_enum_literals.fir": r"FIRRTL version 3.2.0
|
"/test/check_enum_literals.fir": r"FIRRTL version 3.2.0
|
||||||
circuit check_enum_literals:
|
circuit check_enum_literals:
|
||||||
type Ty0 = {tag: UInt<1>, body: UInt<8>}
|
type Ty0 = {tag: UInt<1>, body: UInt<8>}
|
||||||
|
@ -593,11 +601,13 @@ circuit check_enum_literals:
|
||||||
connect o2, _bundle_literal_expr_3 @[module-XXXXXXXXXX.rs 10:1]
|
connect o2, _bundle_literal_expr_3 @[module-XXXXXXXXXX.rs 10:1]
|
||||||
",
|
",
|
||||||
};
|
};
|
||||||
let m = simplify_enums(orig_m, SimplifyEnumsKind::ReplaceWithUInt).unwrap();
|
|
||||||
dbg!(m);
|
|
||||||
#[rustfmt::skip] // work around https://github.com/rust-lang/rustfmt/issues/6161
|
#[rustfmt::skip] // work around https://github.com/rust-lang/rustfmt/issues/6161
|
||||||
assert_export_firrtl! {
|
assert_export_firrtl! {
|
||||||
m =>
|
m =>
|
||||||
|
options: ExportOptions {
|
||||||
|
simplify_enums: Some(SimplifyEnumsKind::ReplaceWithUInt),
|
||||||
|
..ExportOptions::default()
|
||||||
|
},
|
||||||
"/test/check_enum_literals.fir": r"FIRRTL version 3.2.0
|
"/test/check_enum_literals.fir": r"FIRRTL version 3.2.0
|
||||||
circuit check_enum_literals:
|
circuit check_enum_literals:
|
||||||
type Ty0 = {tag: UInt<1>, body: UInt<8>}
|
type Ty0 = {tag: UInt<1>, body: UInt<8>}
|
||||||
|
@ -708,6 +718,10 @@ fn test_struct_enum_match() {
|
||||||
#[rustfmt::skip] // work around https://github.com/rust-lang/rustfmt/issues/6161
|
#[rustfmt::skip] // work around https://github.com/rust-lang/rustfmt/issues/6161
|
||||||
assert_export_firrtl! {
|
assert_export_firrtl! {
|
||||||
m =>
|
m =>
|
||||||
|
options: ExportOptions {
|
||||||
|
simplify_enums: None,
|
||||||
|
..ExportOptions::default()
|
||||||
|
},
|
||||||
"/test/check_struct_enum_match.fir": r"FIRRTL version 3.2.0
|
"/test/check_struct_enum_match.fir": r"FIRRTL version 3.2.0
|
||||||
circuit check_struct_enum_match:
|
circuit check_struct_enum_match:
|
||||||
type Ty0 = {|HdlNone, HdlSome: UInt<8>|}
|
type Ty0 = {|HdlNone, HdlSome: UInt<8>|}
|
||||||
|
@ -764,12 +778,13 @@ circuit check_struct_enum_match:
|
||||||
connect o[4], _match_arm_value_9[2] @[module-XXXXXXXXXX.rs 24:1]
|
connect o[4], _match_arm_value_9[2] @[module-XXXXXXXXXX.rs 24:1]
|
||||||
",
|
",
|
||||||
};
|
};
|
||||||
let orig_m = m.canonical().intern();
|
|
||||||
let m = simplify_enums(orig_m, SimplifyEnumsKind::SimplifyToEnumsWithNoBody).unwrap();
|
|
||||||
dbg!(m);
|
|
||||||
#[rustfmt::skip] // work around https://github.com/rust-lang/rustfmt/issues/6161
|
#[rustfmt::skip] // work around https://github.com/rust-lang/rustfmt/issues/6161
|
||||||
assert_export_firrtl! {
|
assert_export_firrtl! {
|
||||||
m =>
|
m =>
|
||||||
|
options: ExportOptions {
|
||||||
|
simplify_enums: Some(SimplifyEnumsKind::SimplifyToEnumsWithNoBody),
|
||||||
|
..ExportOptions::default()
|
||||||
|
},
|
||||||
"/test/check_struct_enum_match.fir": r"FIRRTL version 3.2.0
|
"/test/check_struct_enum_match.fir": r"FIRRTL version 3.2.0
|
||||||
circuit check_struct_enum_match:
|
circuit check_struct_enum_match:
|
||||||
type Ty0 = {|HdlNone, HdlSome|}
|
type Ty0 = {|HdlNone, HdlSome|}
|
||||||
|
@ -844,11 +859,13 @@ circuit check_struct_enum_match:
|
||||||
connect o[4], _cast_bits_to_array_expr_1[2] @[module-XXXXXXXXXX.rs 24:1]
|
connect o[4], _cast_bits_to_array_expr_1[2] @[module-XXXXXXXXXX.rs 24:1]
|
||||||
",
|
",
|
||||||
};
|
};
|
||||||
let m = simplify_enums(orig_m, SimplifyEnumsKind::ReplaceWithBundleOfUInts).unwrap();
|
|
||||||
dbg!(m);
|
|
||||||
#[rustfmt::skip] // work around https://github.com/rust-lang/rustfmt/issues/6161
|
#[rustfmt::skip] // work around https://github.com/rust-lang/rustfmt/issues/6161
|
||||||
assert_export_firrtl! {
|
assert_export_firrtl! {
|
||||||
m =>
|
m =>
|
||||||
|
options: ExportOptions {
|
||||||
|
simplify_enums: Some(SimplifyEnumsKind::ReplaceWithBundleOfUInts),
|
||||||
|
..ExportOptions::default()
|
||||||
|
},
|
||||||
"/test/check_struct_enum_match.fir": r"FIRRTL version 3.2.0
|
"/test/check_struct_enum_match.fir": r"FIRRTL version 3.2.0
|
||||||
circuit check_struct_enum_match:
|
circuit check_struct_enum_match:
|
||||||
type Ty0 = {tag: UInt<1>, body: UInt<8>}
|
type Ty0 = {tag: UInt<1>, body: UInt<8>}
|
||||||
|
@ -915,11 +932,13 @@ circuit check_struct_enum_match:
|
||||||
connect o[4], _cast_bits_to_array_expr_1[2] @[module-XXXXXXXXXX.rs 24:1]
|
connect o[4], _cast_bits_to_array_expr_1[2] @[module-XXXXXXXXXX.rs 24:1]
|
||||||
",
|
",
|
||||||
};
|
};
|
||||||
let m = simplify_enums(orig_m, SimplifyEnumsKind::ReplaceWithUInt).unwrap();
|
|
||||||
dbg!(m);
|
|
||||||
#[rustfmt::skip] // work around https://github.com/rust-lang/rustfmt/issues/6161
|
#[rustfmt::skip] // work around https://github.com/rust-lang/rustfmt/issues/6161
|
||||||
assert_export_firrtl! {
|
assert_export_firrtl! {
|
||||||
m =>
|
m =>
|
||||||
|
options: ExportOptions {
|
||||||
|
simplify_enums: Some(SimplifyEnumsKind::ReplaceWithUInt),
|
||||||
|
..ExportOptions::default()
|
||||||
|
},
|
||||||
"/test/check_struct_enum_match.fir": r"FIRRTL version 3.2.0
|
"/test/check_struct_enum_match.fir": r"FIRRTL version 3.2.0
|
||||||
circuit check_struct_enum_match:
|
circuit check_struct_enum_match:
|
||||||
module check_struct_enum_match: @[module-XXXXXXXXXX.rs 1:1]
|
module check_struct_enum_match: @[module-XXXXXXXXXX.rs 1:1]
|
||||||
|
@ -2419,6 +2438,10 @@ fn test_memory_of_enum() {
|
||||||
#[rustfmt::skip] // work around https://github.com/rust-lang/rustfmt/issues/6161
|
#[rustfmt::skip] // work around https://github.com/rust-lang/rustfmt/issues/6161
|
||||||
assert_export_firrtl! {
|
assert_export_firrtl! {
|
||||||
m =>
|
m =>
|
||||||
|
options: ExportOptions {
|
||||||
|
simplify_enums: None,
|
||||||
|
..ExportOptions::default()
|
||||||
|
},
|
||||||
"/test/check_memory_of_enum.fir": r#"FIRRTL version 3.2.0
|
"/test/check_memory_of_enum.fir": r#"FIRRTL version 3.2.0
|
||||||
circuit check_memory_of_enum: %[[
|
circuit check_memory_of_enum: %[[
|
||||||
{
|
{
|
||||||
|
@ -2524,12 +2547,13 @@ circuit check_memory_of_enum: %[[
|
||||||
0000111101
|
0000111101
|
||||||
",
|
",
|
||||||
};
|
};
|
||||||
let orig_m = m.canonical().intern();
|
|
||||||
let m = simplify_enums(orig_m, SimplifyEnumsKind::SimplifyToEnumsWithNoBody).unwrap();
|
|
||||||
dbg!(m);
|
|
||||||
#[rustfmt::skip] // work around https://github.com/rust-lang/rustfmt/issues/6161
|
#[rustfmt::skip] // work around https://github.com/rust-lang/rustfmt/issues/6161
|
||||||
assert_export_firrtl! {
|
assert_export_firrtl! {
|
||||||
m =>
|
m =>
|
||||||
|
options: ExportOptions {
|
||||||
|
simplify_enums: Some(SimplifyEnumsKind::SimplifyToEnumsWithNoBody),
|
||||||
|
..ExportOptions::default()
|
||||||
|
},
|
||||||
"/test/check_memory_of_enum.fir": r#"FIRRTL version 3.2.0
|
"/test/check_memory_of_enum.fir": r#"FIRRTL version 3.2.0
|
||||||
circuit check_memory_of_enum: %[[
|
circuit check_memory_of_enum: %[[
|
||||||
{
|
{
|
||||||
|
@ -2671,11 +2695,12 @@ circuit check_memory_of_enum: %[[
|
||||||
01
|
01
|
||||||
",
|
",
|
||||||
};
|
};
|
||||||
let m = simplify_enums(orig_m, SimplifyEnumsKind::ReplaceWithBundleOfUInts).unwrap();
|
|
||||||
dbg!(m);
|
|
||||||
#[rustfmt::skip] // work around https://github.com/rust-lang/rustfmt/issues/6161
|
#[rustfmt::skip] // work around https://github.com/rust-lang/rustfmt/issues/6161
|
||||||
assert_export_firrtl! {
|
assert_export_firrtl! {
|
||||||
m =>
|
m =>
|
||||||
|
options: ExportOptions {
|
||||||
|
..ExportOptions::default()
|
||||||
|
},
|
||||||
"/test/check_memory_of_enum.fir": r#"FIRRTL version 3.2.0
|
"/test/check_memory_of_enum.fir": r#"FIRRTL version 3.2.0
|
||||||
circuit check_memory_of_enum: %[[
|
circuit check_memory_of_enum: %[[
|
||||||
{
|
{
|
||||||
|
@ -2801,11 +2826,13 @@ circuit check_memory_of_enum: %[[
|
||||||
01
|
01
|
||||||
",
|
",
|
||||||
};
|
};
|
||||||
let m = simplify_enums(orig_m, SimplifyEnumsKind::ReplaceWithUInt).unwrap();
|
|
||||||
dbg!(m);
|
|
||||||
#[rustfmt::skip] // work around https://github.com/rust-lang/rustfmt/issues/6161
|
#[rustfmt::skip] // work around https://github.com/rust-lang/rustfmt/issues/6161
|
||||||
assert_export_firrtl! {
|
assert_export_firrtl! {
|
||||||
m =>
|
m =>
|
||||||
|
options: ExportOptions {
|
||||||
|
simplify_enums: Some(SimplifyEnumsKind::ReplaceWithUInt),
|
||||||
|
..ExportOptions::default()
|
||||||
|
},
|
||||||
"/test/check_memory_of_enum.fir": r#"FIRRTL version 3.2.0
|
"/test/check_memory_of_enum.fir": r#"FIRRTL version 3.2.0
|
||||||
circuit check_memory_of_enum: %[[
|
circuit check_memory_of_enum: %[[
|
||||||
{
|
{
|
||||||
|
@ -2906,6 +2933,10 @@ fn test_memory_of_array_of_enum() {
|
||||||
#[rustfmt::skip] // work around https://github.com/rust-lang/rustfmt/issues/6161
|
#[rustfmt::skip] // work around https://github.com/rust-lang/rustfmt/issues/6161
|
||||||
assert_export_firrtl! {
|
assert_export_firrtl! {
|
||||||
m =>
|
m =>
|
||||||
|
options: ExportOptions {
|
||||||
|
simplify_enums: None,
|
||||||
|
..ExportOptions::default()
|
||||||
|
},
|
||||||
"/test/check_memory_of_array_of_enum.fir": r"FIRRTL version 3.2.0
|
"/test/check_memory_of_array_of_enum.fir": r"FIRRTL version 3.2.0
|
||||||
circuit check_memory_of_array_of_enum:
|
circuit check_memory_of_array_of_enum:
|
||||||
type Ty0 = {|A, B: UInt<8>, C: UInt<1>[3]|}
|
type Ty0 = {|A, B: UInt<8>, C: UInt<1>[3]|}
|
||||||
|
@ -3227,6 +3258,10 @@ circuit check_uninit:
|
||||||
#[rustfmt::skip] // work around https://github.com/rust-lang/rustfmt/issues/6161
|
#[rustfmt::skip] // work around https://github.com/rust-lang/rustfmt/issues/6161
|
||||||
assert_export_firrtl! {
|
assert_export_firrtl! {
|
||||||
m =>
|
m =>
|
||||||
|
options: ExportOptions {
|
||||||
|
simplify_enums: None,
|
||||||
|
..ExportOptions::default()
|
||||||
|
},
|
||||||
"/test/check_uninit_1.fir": r"FIRRTL version 3.2.0
|
"/test/check_uninit_1.fir": r"FIRRTL version 3.2.0
|
||||||
circuit check_uninit_1:
|
circuit check_uninit_1:
|
||||||
type Ty0 = {}
|
type Ty0 = {}
|
||||||
|
@ -3329,6 +3364,10 @@ fn test_enum_connect_any() {
|
||||||
#[rustfmt::skip] // work around https://github.com/rust-lang/rustfmt/issues/6161
|
#[rustfmt::skip] // work around https://github.com/rust-lang/rustfmt/issues/6161
|
||||||
assert_export_firrtl! {
|
assert_export_firrtl! {
|
||||||
m =>
|
m =>
|
||||||
|
options: ExportOptions {
|
||||||
|
simplify_enums: None,
|
||||||
|
..ExportOptions::default()
|
||||||
|
},
|
||||||
"/test/check_enum_connect_any.fir": r"FIRRTL version 3.2.0
|
"/test/check_enum_connect_any.fir": r"FIRRTL version 3.2.0
|
||||||
circuit check_enum_connect_any:
|
circuit check_enum_connect_any:
|
||||||
type Ty0 = {|HdlNone, HdlSome: SInt<1>|}
|
type Ty0 = {|HdlNone, HdlSome: SInt<1>|}
|
||||||
|
@ -3357,12 +3396,13 @@ circuit check_enum_connect_any:
|
||||||
connect o2, i2 @[module-XXXXXXXXXX.rs 11:1]
|
connect o2, i2 @[module-XXXXXXXXXX.rs 11:1]
|
||||||
",
|
",
|
||||||
};
|
};
|
||||||
let orig_m = m.canonical().intern();
|
|
||||||
let m = simplify_enums(orig_m, SimplifyEnumsKind::SimplifyToEnumsWithNoBody).unwrap();
|
|
||||||
dbg!(m);
|
|
||||||
#[rustfmt::skip] // work around https://github.com/rust-lang/rustfmt/issues/6161
|
#[rustfmt::skip] // work around https://github.com/rust-lang/rustfmt/issues/6161
|
||||||
assert_export_firrtl! {
|
assert_export_firrtl! {
|
||||||
m =>
|
m =>
|
||||||
|
options: ExportOptions {
|
||||||
|
simplify_enums: Some(SimplifyEnumsKind::SimplifyToEnumsWithNoBody),
|
||||||
|
..ExportOptions::default()
|
||||||
|
},
|
||||||
"/test/check_enum_connect_any.fir": r"FIRRTL version 3.2.0
|
"/test/check_enum_connect_any.fir": r"FIRRTL version 3.2.0
|
||||||
circuit check_enum_connect_any:
|
circuit check_enum_connect_any:
|
||||||
type Ty0 = {|A, B, C|}
|
type Ty0 = {|A, B, C|}
|
||||||
|
@ -3577,11 +3617,13 @@ circuit check_enum_connect_any:
|
||||||
connect o2, i2 @[module-XXXXXXXXXX.rs 11:1]
|
connect o2, i2 @[module-XXXXXXXXXX.rs 11:1]
|
||||||
",
|
",
|
||||||
};
|
};
|
||||||
let m = simplify_enums(orig_m, SimplifyEnumsKind::ReplaceWithBundleOfUInts).unwrap();
|
|
||||||
dbg!(m);
|
|
||||||
#[rustfmt::skip] // work around https://github.com/rust-lang/rustfmt/issues/6161
|
#[rustfmt::skip] // work around https://github.com/rust-lang/rustfmt/issues/6161
|
||||||
assert_export_firrtl! {
|
assert_export_firrtl! {
|
||||||
m =>
|
m =>
|
||||||
|
options: ExportOptions {
|
||||||
|
simplify_enums: Some(SimplifyEnumsKind::ReplaceWithBundleOfUInts),
|
||||||
|
..ExportOptions::default()
|
||||||
|
},
|
||||||
"/test/check_enum_connect_any.fir": r"FIRRTL version 3.2.0
|
"/test/check_enum_connect_any.fir": r"FIRRTL version 3.2.0
|
||||||
circuit check_enum_connect_any:
|
circuit check_enum_connect_any:
|
||||||
type Ty0 = {tag: UInt<2>, body: UInt<2>}
|
type Ty0 = {tag: UInt<2>, body: UInt<2>}
|
||||||
|
@ -3732,12 +3774,14 @@ circuit check_enum_connect_any:
|
||||||
connect o1, i1 @[module-XXXXXXXXXX.rs 10:1]
|
connect o1, i1 @[module-XXXXXXXXXX.rs 10:1]
|
||||||
connect o2, i2 @[module-XXXXXXXXXX.rs 11:1]
|
connect o2, i2 @[module-XXXXXXXXXX.rs 11:1]
|
||||||
",
|
",
|
||||||
}
|
};
|
||||||
let m = simplify_enums(orig_m, SimplifyEnumsKind::ReplaceWithUInt).unwrap();
|
|
||||||
dbg!(m);
|
|
||||||
#[rustfmt::skip] // work around https://github.com/rust-lang/rustfmt/issues/6161
|
#[rustfmt::skip] // work around https://github.com/rust-lang/rustfmt/issues/6161
|
||||||
assert_export_firrtl! {
|
assert_export_firrtl! {
|
||||||
m =>
|
m =>
|
||||||
|
options: ExportOptions {
|
||||||
|
simplify_enums: Some(SimplifyEnumsKind::ReplaceWithUInt),
|
||||||
|
..ExportOptions::default()
|
||||||
|
},
|
||||||
"/test/check_enum_connect_any.fir": r"FIRRTL version 3.2.0
|
"/test/check_enum_connect_any.fir": r"FIRRTL version 3.2.0
|
||||||
circuit check_enum_connect_any:
|
circuit check_enum_connect_any:
|
||||||
type Ty0 = {tag: UInt<2>, body: UInt<2>}
|
type Ty0 = {tag: UInt<2>, body: UInt<2>}
|
||||||
|
|
Loading…
Reference in a new issue