Skip to content

Commit 833c515

Browse files
committed
Re-enable xsim for testcases. Works better in Vivado 2024.2
1 parent 06bd567 commit 833c515

File tree

16 files changed

+7
-38
lines changed

16 files changed

+7
-38
lines changed

tests/lib/simulators/xilinx.py

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,6 @@
66
from .base import Simulator
77

88
class XilinxXSIM(Simulator):
9-
"""
10-
Avoid using the Xilinx simulator... Its buggy and extraordinarily slow.
11-
As observed in v2023.2:
12-
- Clocking block assignments to struct members do not simulate correctly.
13-
assignment statements get lost.
14-
https://support.xilinx.com/s/question/0D54U00007ZIGfXSAX/xsim-bug-xsim-does-not-simulate-struct-assignments-in-clocking-blocks-correctly?language=en_US
15-
- Streaming bit-swap within a conditional returns a corrupted value
16-
https://support.xilinx.com/s/question/0D54U00007ZIIBPSA5/xsim-bug-xsim-corrupts-value-of-signal-that-is-bitswapped-within-a-conditional-operator?language=en_US
17-
"""
189
name = "xsim"
1910

2011
@classmethod

tests/lib/synthesizers/vivado_scripts/run.tcl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ set_msg_config -id {[Synth 8-295]} -new_severity "ERROR"
2222
set_msg_config -severity {CRITICAL WARNING} -new_severity "ERROR"
2323

2424

25-
set_part xczu7eg-ffvf1517-2-i
25+
set_part [lindex [get_parts] 0]
2626
read_verilog -sv $files
2727
read_xdc $this_dir/constr.xdc
2828
synth_design -top regblock -mode out_of_context
Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
from ..lib.sim_testcase import SimTestCase
22

33
class Test(SimTestCase):
4-
incompatible_sim_tools = {"xsim"} # due to cb struct assignment bug
54
def test_dut(self):
65
self.run_test()

tests/test_counter_basics/testcase.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
from ..lib.sim_testcase import SimTestCase
22

33
class Test(SimTestCase):
4-
incompatible_sim_tools = {"xsim"} # due to cb struct assignment bug
54
def test_dut(self):
65
self.run_test()

tests/test_field_types/testcase.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
from ..lib.sim_testcase import SimTestCase
22

33
class Test(SimTestCase):
4-
incompatible_sim_tools = {"xsim"} # due to cb struct assignment bug
54
def test_dut(self):
65
self.run_test()

tests/test_hw_access/testcase.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
from ..lib.sim_testcase import SimTestCase
22

33
class Test(SimTestCase):
4-
incompatible_sim_tools = {"xsim"} # due to cb struct assignment bug
54
def test_dut(self):
65
self.run_test()

tests/test_interrupts/tb_template.sv

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,6 @@
112112
cpuif.assert_read('h10, 'h000);
113113
assert(cb.hwif_out.level_irqs_we.intr == 1'b0);
114114
cb.hwif_in.level_irqs_we.irq0.next <= 'h0F;
115-
assert(cb.hwif_in.level_irqs_we.irq0.next == 8'h00);
116115
@cb;
117116
cb.hwif_in.level_irqs_we.irq0.next <= 'h00;
118117
assert(cb.hwif_out.level_irqs_we.intr == 1'b0);
@@ -123,7 +122,6 @@
123122
assert(cb.hwif_out.level_irqs_we.intr == 1'b0);
124123
cb.hwif_in.level_irqs_we.irq0.next <= 'h0F;
125124
@cb;
126-
assert(cb.hwif_in.level_irqs_we.irq0.next == 8'h0F);
127125
cpuif.assert_read('h10, 'h00F);
128126
assert(cb.hwif_out.level_irqs_we.intr == 1'b1);
129127
cpuif.write('h110, 'h0); // disable ctrl_we
@@ -138,20 +136,16 @@
138136
cpuif.assert_read('h14, 'h000);
139137
assert(cb.hwif_out.level_irqs_wel.intr == 1'b0);
140138
cb.hwif_in.level_irqs_wel.irq0.next <= 'h0F;
141-
assert(cb.hwif_in.level_irqs_wel.irq0.next == 8'h00);
142139
@cb;
143140
cb.hwif_in.level_irqs_wel.irq0.next <= 'h00;
144141
cpuif.assert_read('h14, 'h000);
145-
assert(cb.hwif_in.level_irqs_wel.irq0.next == 8'h00);
146142
assert(cb.hwif_out.level_irqs_wel.intr == 1'b0);
147143
cpuif.write('h114, 'h2); // enable ctrl_we
148144
@cb;
149145
cpuif.assert_read('h14, 'h000);
150-
assert(cb.hwif_in.level_irqs_wel.irq0.next == 8'h00);
151146
assert(cb.hwif_out.level_irqs_wel.intr == 1'b0);
152147
cb.hwif_in.level_irqs_wel.irq0.next <= 'h0F;
153148
@cb;
154-
assert(cb.hwif_in.level_irqs_wel.irq0.next == 8'h0F);
155149
cpuif.assert_read('h14, 'h00F);
156150
assert(cb.hwif_out.level_irqs_wel.intr == 1'b1);
157151
cpuif.write('h114, 'h3); // disable ctrl_we

tests/test_interrupts/testcase.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
from ..lib.sim_testcase import SimTestCase
22

33
class Test(SimTestCase):
4-
incompatible_sim_tools = {"xsim"} # due to cb struct assignment bug
54
def test_dut(self):
65
self.run_test()

tests/test_precedence/testcase.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
from ..lib.sim_testcase import SimTestCase
22

33
class Test(SimTestCase):
4-
incompatible_sim_tools = {"xsim"} # due to cb struct assignment bug
54
def test_dut(self):
65
self.run_test()

tests/test_read_buffer/testcase.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
from ..lib.sim_testcase import SimTestCase
22

33
class Test(SimTestCase):
4-
incompatible_sim_tools = {"xsim"} # due to cb struct assignment bug
54
def test_dut(self):
65
self.run_test()

0 commit comments

Comments
 (0)