diff --git a/tests/gen/shift.fil b/tests/gen/shift.fil new file mode 100644 index 00000000..18f8a085 --- /dev/null +++ b/tests/gen/shift.fil @@ -0,0 +1,10 @@ +import "primitives/state.fil"; +/// A simple shift register component that delays a signal by D cycles. +comp main[W, D]<'G: 1>( + in: ['G, 'G+1] W +) -> ( + out: ['G+D, 'G+D+1] W +) where W > 0 { + shift := new Shift[W, D]<'G>(in); + out = shift.out{0}; +} \ No newline at end of file diff --git a/tests/gen/shift/5.expect b/tests/gen/shift/5.expect new file mode 100644 index 00000000..130d075f --- /dev/null +++ b/tests/gen/shift/5.expect @@ -0,0 +1,11 @@ +{ +"interfaces": [ +{"name": "null", "event": "G", "delay": 1, "states": 6, "phantom": true } +], +"inputs": [ +{ "event": "G", "name": "in", "width": 32 , "start": 0, "end": 1 } +], +"outputs": [ +{ "event": "G", "name": "out", "width": 32 , "start": 5, "end": 6 } +] +} diff --git a/tests/gen/shift/5.toml b/tests/gen/shift/5.toml new file mode 100644 index 00000000..38874f2d --- /dev/null +++ b/tests/gen/shift/5.toml @@ -0,0 +1 @@ +params = [32, 5] diff --git a/tests/gen/shift/6.expect b/tests/gen/shift/6.expect new file mode 100644 index 00000000..9881c4f7 --- /dev/null +++ b/tests/gen/shift/6.expect @@ -0,0 +1,11 @@ +{ +"interfaces": [ +{"name": "null", "event": "G", "delay": 1, "states": 7, "phantom": true } +], +"inputs": [ +{ "event": "G", "name": "in", "width": 32 , "start": 0, "end": 1 } +], +"outputs": [ +{ "event": "G", "name": "out", "width": 32 , "start": 6, "end": 7 } +] +} diff --git a/tests/gen/shift/6.toml b/tests/gen/shift/6.toml new file mode 100644 index 00000000..41dc09ad --- /dev/null +++ b/tests/gen/shift/6.toml @@ -0,0 +1 @@ +params = [32, 6] diff --git a/tests/gen/shift/missing.expect b/tests/gen/shift/missing.expect new file mode 100644 index 00000000..1022fbed --- /dev/null +++ b/tests/gen/shift/missing.expect @@ -0,0 +1,11 @@ +---CODE--- +1 +---STDERR--- +error: `main' requires at least 2 parameters but 1 were provided + ┌─ tests/gen/shift.fil:3:6 + │ +3 │ comp main[W, D]<'G: 1>( + │ ^^^^ `main' requires at least 2 parameters but 1 were provided + +Compilation failed with 1 errors. +Run with --show-models to generate assignments for failing constraints. diff --git a/tests/gen/shift/missing.toml b/tests/gen/shift/missing.toml new file mode 100644 index 00000000..eb9b123e --- /dev/null +++ b/tests/gen/shift/missing.toml @@ -0,0 +1,2 @@ +# Missing the D parameter +params = [32]