diff options
author | Lofty <dan.ravensloft@gmail.com> | 2021-11-24 21:21:08 +0000 |
---|---|---|
committer | Marcelina KoĆcielnicka <mwk@0x04.net> | 2021-11-25 17:20:27 +0100 |
commit | 77327b2544a30b15e8efc79e1f62661ff25d306c (patch) | |
tree | ced90532e760c9fc90dfd0f86ea52eafe67b0f03 /tests | |
parent | 113c9438419e00c7da2ce76d040a60273ad3ecb2 (diff) | |
download | yosys-77327b2544a30b15e8efc79e1f62661ff25d306c.tar.gz yosys-77327b2544a30b15e8efc79e1f62661ff25d306c.tar.bz2 yosys-77327b2544a30b15e8efc79e1f62661ff25d306c.zip |
sta: very crude static timing analysis pass
Co-authored-by: Eddie Hung <eddie@fpgeh.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/various/sta.ys | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/tests/various/sta.ys b/tests/various/sta.ys new file mode 100644 index 000000000..156c31c47 --- /dev/null +++ b/tests/various/sta.ys @@ -0,0 +1,81 @@ +read_verilog -specify <<EOT +module buffer(input i, output o); +specify +(i => o) = 10; +endspecify +endmodule + +module top(input i); +wire w; +buffer b(.i(i), .o(w)); +endmodule +EOT + +logger -expect warning "Critical-path does not terminate in a recognised endpoint\." 1 +sta + + +design -reset +read_verilog -specify <<EOT +module top(input i, output o, p); +assign o = i; +endmodule +EOT + +logger -expect log "No timing paths found\." 1 +sta + + +design -reset +read_verilog -specify <<EOT +module buffer(input i, output o); +specify +(i => o) = 10; +endspecify +endmodule + +module top(input i, output o, p); +buffer b(.i(i), .o(o)); +endmodule +EOT + +sta + + +design -reset +read_verilog -specify <<EOT +module buffer(input i, output o); +specify +(i => o) = 10; +endspecify +endmodule + +module top(input i, output o, p); +buffer b(.i(i), .o(o)); +const0 c(.o(p)); +endmodule +EOT + +logger -expect warning "Cell type 'const0' not recognised! Ignoring\." 1 +sta + + +design -reset +read_verilog -specify <<EOT +module buffer(input i, output o); +specify +(i => o) = 10; +endspecify +endmodule +module const0(output o); +endmodule + +module top(input i, output o, p); +buffer b(.i(i), .o(o)); +const0 c(.o(p)); +endmodule +EOT + +sta + +logger -expect-no-warnings |