Skip to content
This repository was archived by the owner on Nov 25, 2025. It is now read-only.

Commit 146dcbc

Browse files
author
Ryan Jones
committed
Added test bench and simulation config
1 parent 4bc216a commit 146dcbc

File tree

3 files changed

+428
-1
lines changed

3 files changed

+428
-1
lines changed

.gitignore

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
*
22
!.gitignore
33
!src/
4+
!src/test_benches/
45
!data/
6+
57
!*.v
6-
!*.hex
8+
!*.hex
9+
!XDN.wcfg

XDN.wcfg

Lines changed: 342 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,342 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<wave_config>
3+
<wave_state>
4+
</wave_state>
5+
<db_ref_list>
6+
<db_ref path="C:/Users/Ryan/Documents/Workspace/XDN/XDN_TB_isim_beh.wdb" id="1" type="auto">
7+
<top_modules>
8+
<top_module name="XDN_TB" />
9+
<top_module name="glbl" />
10+
</top_modules>
11+
</db_ref>
12+
</db_ref_list>
13+
<WVObjectSize size="15" />
14+
<wvobject fp_name="/XDN_TB/i_SYS_CLOCK" type="logic" db_ref_id="1">
15+
<obj_property name="ElementShortName">i_SYS_CLOCK</obj_property>
16+
<obj_property name="ObjectShortName">i_SYS_CLOCK</obj_property>
17+
<obj_property name="UseCustomSignalColor">true</obj_property>
18+
<obj_property name="CustomSignalColor">#ffffff</obj_property>
19+
</wvobject>
20+
<wvobject fp_name="group25" type="group">
21+
<obj_property name="label">LEDs</obj_property>
22+
<obj_property name="DisplayName">label</obj_property>
23+
<wvobject fp_name="/XDN_TB/o_LED_0" type="logic" db_ref_id="1">
24+
<obj_property name="ElementShortName">o_LED_0</obj_property>
25+
<obj_property name="ObjectShortName">o_LED_0</obj_property>
26+
</wvobject>
27+
<wvobject fp_name="/XDN_TB/o_LED_1" type="logic" db_ref_id="1">
28+
<obj_property name="ElementShortName">o_LED_1</obj_property>
29+
<obj_property name="ObjectShortName">o_LED_1</obj_property>
30+
</wvobject>
31+
<wvobject fp_name="/XDN_TB/o_LED_2" type="logic" db_ref_id="1">
32+
<obj_property name="ElementShortName">o_LED_2</obj_property>
33+
<obj_property name="ObjectShortName">o_LED_2</obj_property>
34+
</wvobject>
35+
<wvobject fp_name="/XDN_TB/o_LED_3" type="logic" db_ref_id="1">
36+
<obj_property name="ElementShortName">o_LED_3</obj_property>
37+
<obj_property name="ObjectShortName">o_LED_3</obj_property>
38+
</wvobject>
39+
</wvobject>
40+
<wvobject fp_name="group26" type="group">
41+
<obj_property name="label">SSD</obj_property>
42+
<obj_property name="DisplayName">label</obj_property>
43+
<wvobject fp_name="/XDN_TB/o_SEG_B" type="logic" db_ref_id="1">
44+
<obj_property name="ElementShortName">o_SEG_B</obj_property>
45+
<obj_property name="ObjectShortName">o_SEG_B</obj_property>
46+
</wvobject>
47+
<wvobject fp_name="/XDN_TB/o_SEG_C" type="logic" db_ref_id="1">
48+
<obj_property name="ElementShortName">o_SEG_C</obj_property>
49+
<obj_property name="ObjectShortName">o_SEG_C</obj_property>
50+
</wvobject>
51+
<wvobject fp_name="/XDN_TB/o_SEG_D" type="logic" db_ref_id="1">
52+
<obj_property name="ElementShortName">o_SEG_D</obj_property>
53+
<obj_property name="ObjectShortName">o_SEG_D</obj_property>
54+
</wvobject>
55+
<wvobject fp_name="/XDN_TB/o_SEG_E" type="logic" db_ref_id="1">
56+
<obj_property name="ElementShortName">o_SEG_E</obj_property>
57+
<obj_property name="ObjectShortName">o_SEG_E</obj_property>
58+
</wvobject>
59+
<wvobject fp_name="/XDN_TB/o_SEG_F" type="logic" db_ref_id="1">
60+
<obj_property name="ElementShortName">o_SEG_F</obj_property>
61+
<obj_property name="ObjectShortName">o_SEG_F</obj_property>
62+
</wvobject>
63+
<wvobject fp_name="/XDN_TB/o_SEG_G" type="logic" db_ref_id="1">
64+
<obj_property name="ElementShortName">o_SEG_G</obj_property>
65+
<obj_property name="ObjectShortName">o_SEG_G</obj_property>
66+
</wvobject>
67+
<wvobject fp_name="/XDN_TB/o_SEG_DP" type="logic" db_ref_id="1">
68+
<obj_property name="ElementShortName">o_SEG_DP</obj_property>
69+
<obj_property name="ObjectShortName">o_SEG_DP</obj_property>
70+
</wvobject>
71+
<wvobject fp_name="/XDN_TB/o_SEL_0" type="logic" db_ref_id="1">
72+
<obj_property name="ElementShortName">o_SEL_0</obj_property>
73+
<obj_property name="ObjectShortName">o_SEL_0</obj_property>
74+
</wvobject>
75+
<wvobject fp_name="/XDN_TB/o_SEL_1" type="logic" db_ref_id="1">
76+
<obj_property name="ElementShortName">o_SEL_1</obj_property>
77+
<obj_property name="ObjectShortName">o_SEL_1</obj_property>
78+
</wvobject>
79+
<wvobject fp_name="/XDN_TB/o_SEL_2" type="logic" db_ref_id="1">
80+
<obj_property name="ElementShortName">o_SEL_2</obj_property>
81+
<obj_property name="ObjectShortName">o_SEL_2</obj_property>
82+
</wvobject>
83+
<wvobject fp_name="/XDN_TB/o_SEL_3" type="logic" db_ref_id="1">
84+
<obj_property name="ElementShortName">o_SEL_3</obj_property>
85+
<obj_property name="ObjectShortName">o_SEL_3</obj_property>
86+
</wvobject>
87+
<wvobject fp_name="/XDN_TB/o_SEL_4" type="logic" db_ref_id="1">
88+
<obj_property name="ElementShortName">o_SEL_4</obj_property>
89+
<obj_property name="ObjectShortName">o_SEL_4</obj_property>
90+
</wvobject>
91+
<wvobject fp_name="/XDN_TB/o_SEL_5" type="logic" db_ref_id="1">
92+
<obj_property name="ElementShortName">o_SEL_5</obj_property>
93+
<obj_property name="ObjectShortName">o_SEL_5</obj_property>
94+
</wvobject>
95+
</wvobject>
96+
<wvobject fp_name="group27" type="group">
97+
<obj_property name="label">Buttons</obj_property>
98+
<obj_property name="DisplayName">label</obj_property>
99+
<wvobject fp_name="/XDN_TB/o_SEG_A" type="logic" db_ref_id="1">
100+
<obj_property name="ElementShortName">o_SEG_A</obj_property>
101+
<obj_property name="ObjectShortName">o_SEG_A</obj_property>
102+
</wvobject>
103+
<wvobject fp_name="/XDN_TB/i_BTN_0" type="logic" db_ref_id="1">
104+
<obj_property name="ElementShortName">i_BTN_0</obj_property>
105+
<obj_property name="ObjectShortName">i_BTN_0</obj_property>
106+
</wvobject>
107+
<wvobject fp_name="/XDN_TB/i_BTN_1" type="logic" db_ref_id="1">
108+
<obj_property name="ElementShortName">i_BTN_1</obj_property>
109+
<obj_property name="ObjectShortName">i_BTN_1</obj_property>
110+
</wvobject>
111+
<wvobject fp_name="/XDN_TB/i_BTN_2" type="logic" db_ref_id="1">
112+
<obj_property name="ElementShortName">i_BTN_2</obj_property>
113+
<obj_property name="ObjectShortName">i_BTN_2</obj_property>
114+
</wvobject>
115+
<wvobject fp_name="/XDN_TB/i_BTN_3" type="logic" db_ref_id="1">
116+
<obj_property name="ElementShortName">i_BTN_3</obj_property>
117+
<obj_property name="ObjectShortName">i_BTN_3</obj_property>
118+
</wvobject>
119+
<wvobject fp_name="/XDN_TB/i_BTN_4" type="logic" db_ref_id="1">
120+
<obj_property name="ElementShortName">i_BTN_4</obj_property>
121+
<obj_property name="ObjectShortName">i_BTN_4</obj_property>
122+
</wvobject>
123+
</wvobject>
124+
<wvobject fp_name="divider28" type="divider">
125+
<obj_property name="label">XDN</obj_property>
126+
<obj_property name="DisplayName">label</obj_property>
127+
<obj_property name="BkColor">128 128 255</obj_property>
128+
<obj_property name="TextColor">230 230 230</obj_property>
129+
</wvobject>
130+
<wvobject fp_name="/XDN_TB/uut/BUS" type="array" db_ref_id="1">
131+
<obj_property name="ElementShortName">BUS[7:0]</obj_property>
132+
<obj_property name="ObjectShortName">BUS[7:0]</obj_property>
133+
<obj_property name="Radix">HEXRADIX</obj_property>
134+
<obj_property name="UseCustomSignalColor">true</obj_property>
135+
<obj_property name="CustomSignalColor">#ff0000</obj_property>
136+
</wvobject>
137+
<wvobject fp_name="group29" type="group">
138+
<obj_property name="label">Output</obj_property>
139+
<obj_property name="DisplayName">label</obj_property>
140+
<wvobject fp_name="/XDN_TB/uut/output_module/r_VALUE" type="array" db_ref_id="1">
141+
<obj_property name="ElementShortName">r_VALUE[23:0]</obj_property>
142+
<obj_property name="ObjectShortName">r_VALUE[23:0]</obj_property>
143+
<obj_property name="Radix">HEXRADIX</obj_property>
144+
<obj_property name="UseCustomSignalColor">true</obj_property>
145+
<obj_property name="CustomSignalColor">#ff0000</obj_property>
146+
</wvobject>
147+
<wvobject fp_name="/XDN_TB/uut/output_module/i_READ_BUS" type="logic" db_ref_id="1">
148+
<obj_property name="ElementShortName">i_READ_BUS</obj_property>
149+
<obj_property name="ObjectShortName">i_READ_BUS</obj_property>
150+
<obj_property name="UseCustomSignalColor">true</obj_property>
151+
<obj_property name="CustomSignalColor">#00ffff</obj_property>
152+
</wvobject>
153+
</wvobject>
154+
<wvobject fp_name="group32" type="group">
155+
<obj_property name="label">A</obj_property>
156+
<obj_property name="DisplayName">label</obj_property>
157+
<wvobject fp_name="/XDN_TB/uut/a_register/r_VALUE" type="array" db_ref_id="1">
158+
<obj_property name="ElementShortName">r_VALUE[7:0]</obj_property>
159+
<obj_property name="ObjectShortName">r_VALUE[7:0]</obj_property>
160+
<obj_property name="Radix">HEXRADIX</obj_property>
161+
<obj_property name="UseCustomSignalColor">true</obj_property>
162+
<obj_property name="CustomSignalColor">#ff0000</obj_property>
163+
</wvobject>
164+
<wvobject fp_name="/XDN_TB/uut/a_register/i_READ_BUS" type="logic" db_ref_id="1">
165+
<obj_property name="ElementShortName">i_READ_BUS</obj_property>
166+
<obj_property name="ObjectShortName">i_READ_BUS</obj_property>
167+
<obj_property name="UseCustomSignalColor">true</obj_property>
168+
<obj_property name="CustomSignalColor">#00ffff</obj_property>
169+
</wvobject>
170+
<wvobject fp_name="/XDN_TB/uut/a_register/i_WRITE_BUS" type="logic" db_ref_id="1">
171+
<obj_property name="ElementShortName">i_WRITE_BUS</obj_property>
172+
<obj_property name="ObjectShortName">i_WRITE_BUS</obj_property>
173+
<obj_property name="UseCustomSignalColor">true</obj_property>
174+
<obj_property name="CustomSignalColor">#ff00ff</obj_property>
175+
</wvobject>
176+
</wvobject>
177+
<wvobject fp_name="group37" type="group">
178+
<obj_property name="label">B</obj_property>
179+
<obj_property name="DisplayName">label</obj_property>
180+
<wvobject fp_name="/XDN_TB/uut/b_register/r_VALUE" type="array" db_ref_id="1">
181+
<obj_property name="ElementShortName">r_VALUE[7:0]</obj_property>
182+
<obj_property name="ObjectShortName">r_VALUE[7:0]</obj_property>
183+
<obj_property name="UseCustomSignalColor">true</obj_property>
184+
<obj_property name="CustomSignalColor">#ff0000</obj_property>
185+
</wvobject>
186+
<wvobject fp_name="/XDN_TB/uut/b_register/i_READ_BUS" type="logic" db_ref_id="1">
187+
<obj_property name="ElementShortName">i_READ_BUS</obj_property>
188+
<obj_property name="ObjectShortName">i_READ_BUS</obj_property>
189+
<obj_property name="UseCustomSignalColor">true</obj_property>
190+
<obj_property name="CustomSignalColor">#00ffff</obj_property>
191+
</wvobject>
192+
<wvobject fp_name="/XDN_TB/uut/b_register/i_WRITE_BUS" type="logic" db_ref_id="1">
193+
<obj_property name="ElementShortName">i_WRITE_BUS</obj_property>
194+
<obj_property name="ObjectShortName">i_WRITE_BUS</obj_property>
195+
<obj_property name="UseCustomSignalColor">true</obj_property>
196+
<obj_property name="CustomSignalColor">#ff00ff</obj_property>
197+
</wvobject>
198+
</wvobject>
199+
<wvobject fp_name="group46" type="group">
200+
<obj_property name="label">IR</obj_property>
201+
<obj_property name="DisplayName">label</obj_property>
202+
<wvobject fp_name="/XDN_TB/uut/instruction_register/r_VALUE" type="array" db_ref_id="1">
203+
<obj_property name="ElementShortName">r_VALUE[7:0]</obj_property>
204+
<obj_property name="ObjectShortName">r_VALUE[7:0]</obj_property>
205+
<obj_property name="Radix">HEXRADIX</obj_property>
206+
<obj_property name="UseCustomSignalColor">true</obj_property>
207+
<obj_property name="CustomSignalColor">#ff0000</obj_property>
208+
</wvobject>
209+
<wvobject fp_name="/XDN_TB/uut/instruction_register/o_DATA" type="array" db_ref_id="1">
210+
<obj_property name="ElementShortName">o_DATA[3:0]</obj_property>
211+
<obj_property name="ObjectShortName">o_DATA[3:0]</obj_property>
212+
<obj_property name="Radix">HEXRADIX</obj_property>
213+
<obj_property name="UseCustomSignalColor">true</obj_property>
214+
<obj_property name="CustomSignalColor">#ff0000</obj_property>
215+
</wvobject>
216+
<wvobject fp_name="/XDN_TB/uut/instruction_register/i_READ_BUS" type="logic" db_ref_id="1">
217+
<obj_property name="ElementShortName">i_READ_BUS</obj_property>
218+
<obj_property name="ObjectShortName">i_READ_BUS</obj_property>
219+
<obj_property name="UseCustomSignalColor">true</obj_property>
220+
<obj_property name="CustomSignalColor">#00ffff</obj_property>
221+
</wvobject>
222+
<wvobject fp_name="/XDN_TB/uut/instruction_register/i_WRITE_BUS" type="logic" db_ref_id="1">
223+
<obj_property name="ElementShortName">i_WRITE_BUS</obj_property>
224+
<obj_property name="ObjectShortName">i_WRITE_BUS</obj_property>
225+
<obj_property name="UseCustomSignalColor">true</obj_property>
226+
<obj_property name="CustomSignalColor">#ff00ff</obj_property>
227+
</wvobject>
228+
</wvobject>
229+
<wvobject fp_name="group57" type="group">
230+
<obj_property name="label">MAR</obj_property>
231+
<obj_property name="DisplayName">label</obj_property>
232+
<wvobject fp_name="/XDN_TB/uut/mar/r_VALUE" type="array" db_ref_id="1">
233+
<obj_property name="ElementShortName">r_VALUE[3:0]</obj_property>
234+
<obj_property name="ObjectShortName">r_VALUE[3:0]</obj_property>
235+
<obj_property name="Radix">HEXRADIX</obj_property>
236+
<obj_property name="UseCustomSignalColor">true</obj_property>
237+
<obj_property name="CustomSignalColor">#ff0000</obj_property>
238+
</wvobject>
239+
<wvobject fp_name="/XDN_TB/uut/mar/i_CLEAR" type="logic" db_ref_id="1">
240+
<obj_property name="ElementShortName">i_CLEAR</obj_property>
241+
<obj_property name="ObjectShortName">i_CLEAR</obj_property>
242+
<obj_property name="UseCustomSignalColor">true</obj_property>
243+
<obj_property name="CustomSignalColor">#ffff00</obj_property>
244+
</wvobject>
245+
<wvobject fp_name="/XDN_TB/uut/mar/i_READ_BUS" type="logic" db_ref_id="1">
246+
<obj_property name="ElementShortName">i_READ_BUS</obj_property>
247+
<obj_property name="ObjectShortName">i_READ_BUS</obj_property>
248+
<obj_property name="UseCustomSignalColor">true</obj_property>
249+
<obj_property name="CustomSignalColor">#00ffff</obj_property>
250+
</wvobject>
251+
</wvobject>
252+
<wvobject fp_name="group41" type="group">
253+
<obj_property name="label">PC</obj_property>
254+
<obj_property name="DisplayName">label</obj_property>
255+
<wvobject fp_name="/XDN_TB/uut/program_counter/r_COUNTER" type="array" db_ref_id="1">
256+
<obj_property name="ElementShortName">r_COUNTER[3:0]</obj_property>
257+
<obj_property name="ObjectShortName">r_COUNTER[3:0]</obj_property>
258+
<obj_property name="Radix">HEXRADIX</obj_property>
259+
<obj_property name="UseCustomSignalColor">true</obj_property>
260+
<obj_property name="CustomSignalColor">#ff0000</obj_property>
261+
</wvobject>
262+
<wvobject fp_name="/XDN_TB/uut/program_counter/i_COUNT_ENABLE" type="logic" db_ref_id="1">
263+
<obj_property name="ElementShortName">i_COUNT_ENABLE</obj_property>
264+
<obj_property name="ObjectShortName">i_COUNT_ENABLE</obj_property>
265+
<obj_property name="UseCustomSignalColor">true</obj_property>
266+
<obj_property name="CustomSignalColor">#ffff00</obj_property>
267+
</wvobject>
268+
<wvobject fp_name="/XDN_TB/uut/program_counter/i_JUMP" type="logic" db_ref_id="1">
269+
<obj_property name="ElementShortName">i_JUMP</obj_property>
270+
<obj_property name="ObjectShortName">i_JUMP</obj_property>
271+
<obj_property name="UseCustomSignalColor">true</obj_property>
272+
<obj_property name="CustomSignalColor">#00ffff</obj_property>
273+
</wvobject>
274+
<wvobject fp_name="/XDN_TB/uut/program_counter/i_OUTPUT" type="logic" db_ref_id="1">
275+
<obj_property name="ElementShortName">i_OUTPUT</obj_property>
276+
<obj_property name="ObjectShortName">i_OUTPUT</obj_property>
277+
<obj_property name="UseCustomSignalColor">true</obj_property>
278+
<obj_property name="CustomSignalColor">#ff00ff</obj_property>
279+
</wvobject>
280+
</wvobject>
281+
<wvobject fp_name="group51" type="group">
282+
<obj_property name="label">ALU</obj_property>
283+
<obj_property name="DisplayName">label</obj_property>
284+
<wvobject fp_name="/XDN_TB/uut/alu/i_WRITE_BUS" type="logic" db_ref_id="1">
285+
<obj_property name="ElementShortName">i_WRITE_BUS</obj_property>
286+
<obj_property name="ObjectShortName">i_WRITE_BUS</obj_property>
287+
</wvobject>
288+
<wvobject fp_name="/XDN_TB/uut/alu/i_SUB" type="logic" db_ref_id="1">
289+
<obj_property name="ElementShortName">i_SUB</obj_property>
290+
<obj_property name="ObjectShortName">i_SUB</obj_property>
291+
</wvobject>
292+
<wvobject fp_name="/XDN_TB/uut/alu/i_UPDATE_FLAGS" type="logic" db_ref_id="1">
293+
<obj_property name="ElementShortName">i_UPDATE_FLAGS</obj_property>
294+
<obj_property name="ObjectShortName">i_UPDATE_FLAGS</obj_property>
295+
</wvobject>
296+
<wvobject fp_name="/XDN_TB/uut/alu/o_ZERO_FLAG" type="logic" db_ref_id="1">
297+
<obj_property name="ElementShortName">o_ZERO_FLAG</obj_property>
298+
<obj_property name="ObjectShortName">o_ZERO_FLAG</obj_property>
299+
</wvobject>
300+
<wvobject fp_name="/XDN_TB/uut/alu/o_CARRY_FLAG" type="logic" db_ref_id="1">
301+
<obj_property name="ElementShortName">o_CARRY_FLAG</obj_property>
302+
<obj_property name="ObjectShortName">o_CARRY_FLAG</obj_property>
303+
</wvobject>
304+
</wvobject>
305+
<wvobject fp_name="group61" type="group">
306+
<obj_property name="label">RAM</obj_property>
307+
<obj_property name="DisplayName">label</obj_property>
308+
<wvobject fp_name="/XDN_TB/uut/ram/r_VALUE" type="array" db_ref_id="1">
309+
<obj_property name="ElementShortName">r_VALUE[7:0]</obj_property>
310+
<obj_property name="ObjectShortName">r_VALUE[7:0]</obj_property>
311+
</wvobject>
312+
<wvobject fp_name="/XDN_TB/uut/ram/r_RAM" type="array" db_ref_id="1">
313+
<obj_property name="ElementShortName">r_RAM[0:15,7:0]</obj_property>
314+
<obj_property name="ObjectShortName">r_RAM[0:15,7:0]</obj_property>
315+
<obj_property name="Radix">HEXRADIX</obj_property>
316+
</wvobject>
317+
<wvobject fp_name="/XDN_TB/uut/ram/i_BUS_WRITE" type="logic" db_ref_id="1">
318+
<obj_property name="ElementShortName">i_BUS_WRITE</obj_property>
319+
<obj_property name="ObjectShortName">i_BUS_WRITE</obj_property>
320+
</wvobject>
321+
<wvobject fp_name="/XDN_TB/uut/ram/i_BUS_READ" type="logic" db_ref_id="1">
322+
<obj_property name="ElementShortName">i_BUS_READ</obj_property>
323+
<obj_property name="ObjectShortName">i_BUS_READ</obj_property>
324+
</wvobject>
325+
</wvobject>
326+
<wvobject fp_name="group66" type="group">
327+
<obj_property name="label">CU</obj_property>
328+
<obj_property name="DisplayName">label</obj_property>
329+
<wvobject fp_name="/XDN_TB/uut/cu/r_T_CYCLE" type="array" db_ref_id="1">
330+
<obj_property name="ElementShortName">r_T_CYCLE[2:0]</obj_property>
331+
<obj_property name="ObjectShortName">r_T_CYCLE[2:0]</obj_property>
332+
<obj_property name="UseCustomSignalColor">true</obj_property>
333+
<obj_property name="CustomSignalColor">#ff0000</obj_property>
334+
</wvobject>
335+
<wvobject fp_name="/XDN_TB/uut/cu/o_CONTROL_SIGNALS" type="array" db_ref_id="1">
336+
<obj_property name="ElementShortName">o_CONTROL_SIGNALS[15:0]</obj_property>
337+
<obj_property name="ObjectShortName">o_CONTROL_SIGNALS[15:0]</obj_property>
338+
<obj_property name="UseCustomSignalColor">true</obj_property>
339+
<obj_property name="CustomSignalColor">#ffff00</obj_property>
340+
</wvobject>
341+
</wvobject>
342+
</wave_config>

0 commit comments

Comments
 (0)