diff options
author | Clifford Wolf <clifford@clifford.at> | 2018-12-05 09:16:35 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-12-05 09:16:35 -0800 |
commit | 728a251a95d3c43d7fc6e439d0d9fbe6dac1bbc6 (patch) | |
tree | c24ccc8fabbe0dbf74f00278900b866d7e6e0b32 /tests/lut | |
parent | e1153031291275dc1c16445b1b2089ffd4335845 (diff) | |
parent | d9fa4387c97745c558acdd8ea7f436917302796e (diff) | |
download | yosys-728a251a95d3c43d7fc6e439d0d9fbe6dac1bbc6.tar.gz yosys-728a251a95d3c43d7fc6e439d0d9fbe6dac1bbc6.tar.bz2 yosys-728a251a95d3c43d7fc6e439d0d9fbe6dac1bbc6.zip |
Merge pull request #718 from whitequark/gate2lut
gate2lut: new techlib, for converting Yosys gates to FPGA LUTs
Diffstat (limited to 'tests/lut')
-rw-r--r-- | tests/lut/.gitignore | 1 | ||||
-rw-r--r-- | tests/lut/check_map.ys | 13 | ||||
-rw-r--r-- | tests/lut/map_and.v | 5 | ||||
-rw-r--r-- | tests/lut/map_mux.v | 5 | ||||
-rw-r--r-- | tests/lut/map_not.v | 5 | ||||
-rw-r--r-- | tests/lut/map_or.v | 5 | ||||
-rw-r--r-- | tests/lut/map_xor.v | 5 | ||||
-rw-r--r-- | tests/lut/run-test.sh | 6 |
8 files changed, 45 insertions, 0 deletions
diff --git a/tests/lut/.gitignore b/tests/lut/.gitignore new file mode 100644 index 000000000..397b4a762 --- /dev/null +++ b/tests/lut/.gitignore @@ -0,0 +1 @@ +*.log diff --git a/tests/lut/check_map.ys b/tests/lut/check_map.ys new file mode 100644 index 000000000..6d659891f --- /dev/null +++ b/tests/lut/check_map.ys @@ -0,0 +1,13 @@ +design -save preopt + +simplemap +techmap -map +/gate2lut.v -D LUT_WIDTH=4 +select -assert-count 1 t:$lut +design -stash postopt + +design -copy-from preopt -as preopt top +design -copy-from postopt -as postopt top +equiv_make preopt postopt equiv +prep -flatten -top equiv +equiv_induct +equiv_status -assert diff --git a/tests/lut/map_and.v b/tests/lut/map_and.v new file mode 100644 index 000000000..68ae33fd6 --- /dev/null +++ b/tests/lut/map_and.v @@ -0,0 +1,5 @@ +module top(...); + input a, b; + output y; + assign y = a&b; +endmodule diff --git a/tests/lut/map_mux.v b/tests/lut/map_mux.v new file mode 100644 index 000000000..ccecf3023 --- /dev/null +++ b/tests/lut/map_mux.v @@ -0,0 +1,5 @@ +module top(...); + input a, b, s; + output y; + assign y = s?a:b; +endmodule diff --git a/tests/lut/map_not.v b/tests/lut/map_not.v new file mode 100644 index 000000000..385997414 --- /dev/null +++ b/tests/lut/map_not.v @@ -0,0 +1,5 @@ +module top(...); + input a; + output y; + assign y = ~a; +endmodule diff --git a/tests/lut/map_or.v b/tests/lut/map_or.v new file mode 100644 index 000000000..8b8c55188 --- /dev/null +++ b/tests/lut/map_or.v @@ -0,0 +1,5 @@ +module top(...); + input a, b; + output y; + assign y = a|b; +endmodule diff --git a/tests/lut/map_xor.v b/tests/lut/map_xor.v new file mode 100644 index 000000000..708a05789 --- /dev/null +++ b/tests/lut/map_xor.v @@ -0,0 +1,5 @@ +module top(...); + input a, b; + output y; + assign y = a^b; +endmodule diff --git a/tests/lut/run-test.sh b/tests/lut/run-test.sh new file mode 100644 index 000000000..207417fa6 --- /dev/null +++ b/tests/lut/run-test.sh @@ -0,0 +1,6 @@ +#!/bin/bash +set -e +for x in *.v; do + echo "Running $x.." + ../../yosys -q -s check_map.ys -l ${x%.v}.log $x +done |