Lots of changes

Added a decoder and implemented it into the regFile. We probably want to change the testbench so that there arent many changes in one clock cycle. Altered the register file so that it only has the one bit enable decided by the decoder and updated the regFile and fetchUnit to reflect this. Went over the fetch unit with Martin, he said it is okay.
This commit is contained in:
goochey
2019-02-27 12:06:17 -05:00
parent 0104b0e689
commit c047c801aa
25 changed files with 428 additions and 69 deletions

79
regFile_tb_behav.wcfg Normal file
View File

@@ -0,0 +1,79 @@
<?xml version="1.0" encoding="UTF-8"?>
<wave_config>
<wave_state>
</wave_state>
<db_ref_list>
<db_ref path="regFile_tb_behav.wdb" id="1">
<top_modules>
<top_module name="glbl" />
<top_module name="regFile_tb" />
</top_modules>
</db_ref>
</db_ref_list>
<zoom_setting>
<ZoomStartTime time="0fs"></ZoomStartTime>
<ZoomEndTime time="70000001fs"></ZoomEndTime>
<Cursor1Time time="70000000fs"></Cursor1Time>
</zoom_setting>
<column_width_setting>
<NameColumnWidth column_width="116"></NameColumnWidth>
<ValueColumnWidth column_width="116"></ValueColumnWidth>
</column_width_setting>
<WVObjectSize size="14" />
<wvobject fp_name="/regFile_tb/write_d" type="array">
<obj_property name="ElementShortName">write_d[8:0]</obj_property>
<obj_property name="ObjectShortName">write_d[8:0]</obj_property>
</wvobject>
<wvobject fp_name="/regFile_tb/w_idx" type="array">
<obj_property name="ElementShortName">w_idx[1:0]</obj_property>
<obj_property name="ObjectShortName">w_idx[1:0]</obj_property>
</wvobject>
<wvobject fp_name="/regFile_tb/op0_idx" type="array">
<obj_property name="ElementShortName">op0_idx[1:0]</obj_property>
<obj_property name="ObjectShortName">op0_idx[1:0]</obj_property>
</wvobject>
<wvobject fp_name="/regFile_tb/op1_idx" type="array">
<obj_property name="ElementShortName">op1_idx[1:0]</obj_property>
<obj_property name="ObjectShortName">op1_idx[1:0]</obj_property>
</wvobject>
<wvobject fp_name="/regFile_tb/reset" type="logic">
<obj_property name="ElementShortName">reset</obj_property>
<obj_property name="ObjectShortName">reset</obj_property>
</wvobject>
<wvobject fp_name="/regFile_tb/clk" type="logic">
<obj_property name="ElementShortName">clk</obj_property>
<obj_property name="ObjectShortName">clk</obj_property>
</wvobject>
<wvobject fp_name="/regFile_tb/enable" type="logic">
<obj_property name="ElementShortName">enable</obj_property>
<obj_property name="ObjectShortName">enable</obj_property>
</wvobject>
<wvobject fp_name="/regFile_tb/op0" type="array">
<obj_property name="ElementShortName">op0[8:0]</obj_property>
<obj_property name="ObjectShortName">op0[8:0]</obj_property>
</wvobject>
<wvobject fp_name="/regFile_tb/op1" type="array">
<obj_property name="ElementShortName">op1[8:0]</obj_property>
<obj_property name="ObjectShortName">op1[8:0]</obj_property>
</wvobject>
<wvobject fp_name="/regFile_tb/regFile0/decOut" type="array">
<obj_property name="ElementShortName">decOut[3:0]</obj_property>
<obj_property name="ObjectShortName">decOut[3:0]</obj_property>
</wvobject>
<wvobject fp_name="/regFile_tb/regFile0/r0_out" type="array">
<obj_property name="ElementShortName">r0_out[8:0]</obj_property>
<obj_property name="ObjectShortName">r0_out[8:0]</obj_property>
</wvobject>
<wvobject fp_name="/regFile_tb/regFile0/r1_out" type="array">
<obj_property name="ElementShortName">r1_out[8:0]</obj_property>
<obj_property name="ObjectShortName">r1_out[8:0]</obj_property>
</wvobject>
<wvobject fp_name="/regFile_tb/regFile0/r2_out" type="array">
<obj_property name="ElementShortName">r2_out[8:0]</obj_property>
<obj_property name="ObjectShortName">r2_out[8:0]</obj_property>
</wvobject>
<wvobject fp_name="/regFile_tb/regFile0/r3_out" type="array">
<obj_property name="ElementShortName">r3_out[8:0]</obj_property>
<obj_property name="ObjectShortName">r3_out[8:0]</obj_property>
</wvobject>
</wave_config>