diff options
author | Clifford Wolf <clifford@clifford.at> | 2013-01-05 11:13:26 +0100 |
---|---|---|
committer | Clifford Wolf <clifford@clifford.at> | 2013-01-05 11:13:26 +0100 |
commit | 7764d0ba1dcf064ae487ee985c43083a0909e7f4 (patch) | |
tree | 18c05b8729df381af71b707748ce1d605e0df764 /tests/no-icarus | |
download | yosys-7764d0ba1dcf064ae487ee985c43083a0909e7f4.tar.gz yosys-7764d0ba1dcf064ae487ee985c43083a0909e7f4.tar.bz2 yosys-7764d0ba1dcf064ae487ee985c43083a0909e7f4.zip |
initial import
Diffstat (limited to 'tests/no-icarus')
-rw-r--r-- | tests/no-icarus/README | 2 | ||||
-rw-r--r-- | tests/no-icarus/autowire.v | 25 | ||||
-rw-r--r-- | tests/no-icarus/var_range.v | 45 |
3 files changed, 72 insertions, 0 deletions
diff --git a/tests/no-icarus/README b/tests/no-icarus/README new file mode 100644 index 000000000..b43e7c02a --- /dev/null +++ b/tests/no-icarus/README @@ -0,0 +1,2 @@ +This directory contains test cases that can't be tested using Icarus Verilog +because they exceed the Verilog subset that is supported by Icarus Verilog. diff --git a/tests/no-icarus/autowire.v b/tests/no-icarus/autowire.v new file mode 100644 index 000000000..3633d4274 --- /dev/null +++ b/tests/no-icarus/autowire.v @@ -0,0 +1,25 @@ + +module test01(a, b, y); + +input [3:0] a, b; +output [3:0] y; + +assign temp1 = a + b; +assign temp2 = ~temp1; +assign y = temp2; + +endmodule + +// ------------------------------ + +module test02(a, b, y); + +input [3:0] a, b; +output [3:0] y; + +test01 test01_cell(A, B, Y); + +assign A = a, B = b, y = Y; + +endmodule + diff --git a/tests/no-icarus/var_range.v b/tests/no-icarus/var_range.v new file mode 100644 index 000000000..431eacb86 --- /dev/null +++ b/tests/no-icarus/var_range.v @@ -0,0 +1,45 @@ + +module test01(a, b, x, y, z); + +input [7:0] a; +input [2:0] b; +output [7:0] x, y; +output z; + +assign x = a >> b; +assign y = a[b+7:b]; +assign z = a[b]; + +endmodule + +module test02(clk, a, b, x, y, z); + +input clk; +input [7:0] a; +input [2:0] b; +output reg [7:0] x, y; +output reg z; + +always @(posedge clk) begin + x <= a >> b; + y <= a[b+7:b]; + z <= a[b]; +end + +endmodule + +module test03(clk, a, b, x, y); + +input clk; +input [2:0] a, b; +output reg [7:0] x; +output reg [9:0] y; + +always @(posedge clk) + y[b] <= a; + +always @(posedge clk) + y[b+2:b] <= a; + +endmodule + |