Added testbench and wave configuration for GenericCounter

Introduced a new VHDL testbench for the GenericCounter component, complete with initial signal declarations, a clock process, and a stimulus process to emulate different scenarios and edge cases. The inclusion of generics and port mappings ensures the testbench's flexibility to simulate counter behavior under various conditions. Accompanying the testbench, a wave configuration file has been added to aid in simulation analysis, allowing for visualization and easier debugging of the component's states during simulation runs.
This commit is contained in:
2024-03-16 14:43:40 +01:00
parent faa72bc1ea
commit c31e426d1e
2 changed files with 166 additions and 0 deletions

View File

@@ -0,0 +1,56 @@
<?xml version="1.0" encoding="UTF-8"?>
<wave_config>
<wave_state>
</wave_state>
<db_ref_list>
<db_ref path="./isim.wdb" id="1" type="auto">
<top_modules>
<top_module name="genericcounter_tb" />
<top_module name="glbl" />
<top_module name="math_real" />
<top_module name="numeric_std" />
<top_module name="std_logic_1164" />
</top_modules>
</db_ref>
</db_ref_list>
<WVObjectSize size="9" />
<wvobject fp_name="/genericcounter_tb/clk" type="logic" db_ref_id="1">
<obj_property name="ElementShortName">clk</obj_property>
<obj_property name="ObjectShortName">clk</obj_property>
</wvobject>
<wvobject fp_name="/genericcounter_tb/rst" type="logic" db_ref_id="1">
<obj_property name="ElementShortName">rst</obj_property>
<obj_property name="ObjectShortName">rst</obj_property>
</wvobject>
<wvobject fp_name="/genericcounter_tb/ce" type="logic" db_ref_id="1">
<obj_property name="ElementShortName">ce</obj_property>
<obj_property name="ObjectShortName">ce</obj_property>
</wvobject>
<wvobject fp_name="/genericcounter_tb/countenable" type="logic" db_ref_id="1">
<obj_property name="ElementShortName">countenable</obj_property>
<obj_property name="ObjectShortName">countenable</obj_property>
</wvobject>
<wvobject fp_name="/genericcounter_tb/set" type="logic" db_ref_id="1">
<obj_property name="ElementShortName">set</obj_property>
<obj_property name="ObjectShortName">set</obj_property>
</wvobject>
<wvobject fp_name="/genericcounter_tb/setvalue" type="array" db_ref_id="1">
<obj_property name="ElementShortName">setvalue[3:0]</obj_property>
<obj_property name="ObjectShortName">setvalue[3:0]</obj_property>
<obj_property name="Radix">UNSIGNEDDECRADIX</obj_property>
</wvobject>
<wvobject fp_name="/genericcounter_tb/value" type="array" db_ref_id="1">
<obj_property name="ElementShortName">value[3:0]</obj_property>
<obj_property name="ObjectShortName">value[3:0]</obj_property>
<obj_property name="Radix">UNSIGNEDDECRADIX</obj_property>
</wvobject>
<wvobject fp_name="/genericcounter_tb/lookaheadvalue" type="array" db_ref_id="1">
<obj_property name="ElementShortName">lookaheadvalue[3:0]</obj_property>
<obj_property name="ObjectShortName">lookaheadvalue[3:0]</obj_property>
<obj_property name="Radix">UNSIGNEDDECRADIX</obj_property>
</wvobject>
<wvobject fp_name="/genericcounter_tb/overunderflow" type="logic" db_ref_id="1">
<obj_property name="ElementShortName">overunderflow</obj_property>
<obj_property name="ObjectShortName">overunderflow</obj_property>
</wvobject>
</wave_config>