Tweaked forwarding check. Program 3 works with a few stalls

This commit is contained in:
jose.rodriguezlabra
2019-04-12 00:01:27 -04:00
parent 0118debfb9
commit ddf47c7eee
13 changed files with 356 additions and 258 deletions

View File

@@ -11,41 +11,15 @@
</db_ref> </db_ref>
</db_ref_list> </db_ref_list>
<zoom_setting> <zoom_setting>
<ZoomStartTime time="65000000fs"></ZoomStartTime> <ZoomStartTime time="0fs"></ZoomStartTime>
<ZoomEndTime time="263400001fs"></ZoomEndTime> <ZoomEndTime time="215000001fs"></ZoomEndTime>
<Cursor1Time time="107600000fs"></Cursor1Time> <Cursor1Time time="175000000fs"></Cursor1Time>
</zoom_setting> </zoom_setting>
<column_width_setting> <column_width_setting>
<NameColumnWidth column_width="174"></NameColumnWidth> <NameColumnWidth column_width="174"></NameColumnWidth>
<ValueColumnWidth column_width="68"></ValueColumnWidth> <ValueColumnWidth column_width="64"></ValueColumnWidth>
</column_width_setting> </column_width_setting>
<WVObjectSize size="13" /> <WVObjectSize size="16" />
<wvobject fp_name="group436" type="group">
<obj_property name="label">Program Counter</obj_property>
<obj_property name="DisplayName">label</obj_property>
<wvobject fp_name="/CPU9bits_tb/CPU9bits0/FD/FetchU/PC/clk" type="logic">
<obj_property name="ElementShortName">clk</obj_property>
<obj_property name="ObjectShortName">clk</obj_property>
</wvobject>
<wvobject fp_name="/CPU9bits_tb/CPU9bits0/FD/FetchU/PC/reset" type="logic">
<obj_property name="ElementShortName">reset</obj_property>
<obj_property name="ObjectShortName">reset</obj_property>
</wvobject>
<wvobject fp_name="/CPU9bits_tb/CPU9bits0/FD/FetchU/PC/En" type="logic">
<obj_property name="ElementShortName">En</obj_property>
<obj_property name="ObjectShortName">En</obj_property>
</wvobject>
<wvobject fp_name="/CPU9bits_tb/CPU9bits0/FD/FetchU/PC/Din" type="array">
<obj_property name="ElementShortName">Din[8:0]</obj_property>
<obj_property name="ObjectShortName">Din[8:0]</obj_property>
<obj_property name="Radix">UNSIGNEDDECRADIX</obj_property>
</wvobject>
<wvobject fp_name="/CPU9bits_tb/CPU9bits0/FD/FetchU/PC/Dout" type="array">
<obj_property name="ElementShortName">Dout[8:0]</obj_property>
<obj_property name="ObjectShortName">Dout[8:0]</obj_property>
<obj_property name="Radix">UNSIGNEDDECRADIX</obj_property>
</wvobject>
</wvobject>
<wvobject fp_name="group191" type="group"> <wvobject fp_name="group191" type="group">
<obj_property name="label">Fetch Unit</obj_property> <obj_property name="label">Fetch Unit</obj_property>
<obj_property name="DisplayName">label</obj_property> <obj_property name="DisplayName">label</obj_property>
@@ -57,24 +31,17 @@
<wvobject fp_name="/CPU9bits_tb/CPU9bits0/FD/FetchU/AddrIn" type="array"> <wvobject fp_name="/CPU9bits_tb/CPU9bits0/FD/FetchU/AddrIn" type="array">
<obj_property name="ElementShortName">AddrIn[8:0]</obj_property> <obj_property name="ElementShortName">AddrIn[8:0]</obj_property>
<obj_property name="ObjectShortName">AddrIn[8:0]</obj_property> <obj_property name="ObjectShortName">AddrIn[8:0]</obj_property>
<obj_property name="Radix">UNSIGNEDDECRADIX</obj_property> <obj_property name="Radix">SIGNEDDECRADIX</obj_property>
</wvobject> </wvobject>
<wvobject fp_name="/CPU9bits_tb/CPU9bits0/FD/FetchU/AddrOut" type="array"> <wvobject fp_name="/CPU9bits_tb/CPU9bits0/FD/FetchU/AddrOut" type="array">
<obj_property name="ElementShortName">AddrOut[8:0]</obj_property> <obj_property name="ElementShortName">AddrOut[8:0]</obj_property>
<obj_property name="ObjectShortName">AddrOut[8:0]</obj_property> <obj_property name="ObjectShortName">AddrOut[8:0]</obj_property>
<obj_property name="Radix">UNSIGNEDDECRADIX</obj_property> <obj_property name="Radix">SIGNEDDECRADIX</obj_property>
</wvobject> </wvobject>
<wvobject fp_name="/CPU9bits_tb/CPU9bits0/FD/FetchU/progC_out" type="array"> <wvobject fp_name="/CPU9bits_tb/CPU9bits0/FD/FetchU/progC_out" type="array">
<obj_property name="ElementShortName">progC_out[8:0]</obj_property> <obj_property name="ElementShortName">progC_out[8:0]</obj_property>
<obj_property name="ObjectShortName">progC_out[8:0]</obj_property> <obj_property name="ObjectShortName">progC_out[8:0]</obj_property>
</wvobject> <obj_property name="Radix">SIGNEDDECRADIX</obj_property>
<wvobject fp_name="/CPU9bits_tb/CPU9bits0/FD/FetchU/result_m" type="array">
<obj_property name="ElementShortName">result_m[8:0]</obj_property>
<obj_property name="ObjectShortName">result_m[8:0]</obj_property>
</wvobject>
<wvobject fp_name="/CPU9bits_tb/CPU9bits0/FD/FetchU/cout" type="logic">
<obj_property name="ElementShortName">cout</obj_property>
<obj_property name="ObjectShortName">cout</obj_property>
</wvobject> </wvobject>
</wvobject> </wvobject>
<wvobject fp_name="group182" type="group"> <wvobject fp_name="group182" type="group">
@@ -83,6 +50,7 @@
<wvobject fp_name="/CPU9bits_tb/CPU9bits0/FD/CU/instIn" type="array"> <wvobject fp_name="/CPU9bits_tb/CPU9bits0/FD/CU/instIn" type="array">
<obj_property name="ElementShortName">instIn[3:0]</obj_property> <obj_property name="ElementShortName">instIn[3:0]</obj_property>
<obj_property name="ObjectShortName">instIn[3:0]</obj_property> <obj_property name="ObjectShortName">instIn[3:0]</obj_property>
<obj_property name="Radix">SIGNEDDECRADIX</obj_property>
</wvobject> </wvobject>
<wvobject fp_name="/CPU9bits_tb/CPU9bits0/FD/CU/functBit" type="logic"> <wvobject fp_name="/CPU9bits_tb/CPU9bits0/FD/CU/functBit" type="logic">
<obj_property name="ElementShortName">functBit</obj_property> <obj_property name="ElementShortName">functBit</obj_property>
@@ -91,14 +59,17 @@
<wvobject fp_name="/CPU9bits_tb/CPU9bits0/FD/CU/aluOut" type="array"> <wvobject fp_name="/CPU9bits_tb/CPU9bits0/FD/CU/aluOut" type="array">
<obj_property name="ElementShortName">aluOut[3:0]</obj_property> <obj_property name="ElementShortName">aluOut[3:0]</obj_property>
<obj_property name="ObjectShortName">aluOut[3:0]</obj_property> <obj_property name="ObjectShortName">aluOut[3:0]</obj_property>
<obj_property name="Radix">SIGNEDDECRADIX</obj_property>
</wvobject> </wvobject>
<wvobject fp_name="/CPU9bits_tb/CPU9bits0/FD/CU/FU" type="array"> <wvobject fp_name="/CPU9bits_tb/CPU9bits0/FD/CU/FU" type="array">
<obj_property name="ElementShortName">FU[2:0]</obj_property> <obj_property name="ElementShortName">FU[2:0]</obj_property>
<obj_property name="ObjectShortName">FU[2:0]</obj_property> <obj_property name="ObjectShortName">FU[2:0]</obj_property>
<obj_property name="Radix">SIGNEDDECRADIX</obj_property>
</wvobject> </wvobject>
<wvobject fp_name="/CPU9bits_tb/CPU9bits0/FD/CU/bank" type="array"> <wvobject fp_name="/CPU9bits_tb/CPU9bits0/FD/CU/bank" type="array">
<obj_property name="ElementShortName">bank[1:0]</obj_property> <obj_property name="ElementShortName">bank[1:0]</obj_property>
<obj_property name="ObjectShortName">bank[1:0]</obj_property> <obj_property name="ObjectShortName">bank[1:0]</obj_property>
<obj_property name="Radix">SIGNEDDECRADIX</obj_property>
</wvobject> </wvobject>
<wvobject fp_name="/CPU9bits_tb/CPU9bits0/FD/CU/addi" type="logic"> <wvobject fp_name="/CPU9bits_tb/CPU9bits0/FD/CU/addi" type="logic">
<obj_property name="ElementShortName">addi</obj_property> <obj_property name="ElementShortName">addi</obj_property>
@@ -132,6 +103,7 @@
<wvobject fp_name="group613" type="group"> <wvobject fp_name="group613" type="group">
<obj_property name="label">Registers</obj_property> <obj_property name="label">Registers</obj_property>
<obj_property name="DisplayName">label</obj_property> <obj_property name="DisplayName">label</obj_property>
<obj_property name="isExpanded"></obj_property>
<wvobject fp_name="/CPU9bits_tb/CPU9bits0/FD/RF/En" type="logic"> <wvobject fp_name="/CPU9bits_tb/CPU9bits0/FD/RF/En" type="logic">
<obj_property name="ElementShortName">En</obj_property> <obj_property name="ElementShortName">En</obj_property>
<obj_property name="ObjectShortName">En</obj_property> <obj_property name="ObjectShortName">En</obj_property>
@@ -139,37 +111,32 @@
<wvobject fp_name="/CPU9bits_tb/CPU9bits0/FD/RF/write_index" type="array"> <wvobject fp_name="/CPU9bits_tb/CPU9bits0/FD/RF/write_index" type="array">
<obj_property name="ElementShortName">write_index[1:0]</obj_property> <obj_property name="ElementShortName">write_index[1:0]</obj_property>
<obj_property name="ObjectShortName">write_index[1:0]</obj_property> <obj_property name="ObjectShortName">write_index[1:0]</obj_property>
<obj_property name="Radix">UNSIGNEDDECRADIX</obj_property> <obj_property name="Radix">SIGNEDDECRADIX</obj_property>
</wvobject> </wvobject>
<wvobject fp_name="/CPU9bits_tb/CPU9bits0/FD/RF/op0_idx" type="array"> <wvobject fp_name="/CPU9bits_tb/CPU9bits0/FD/RF/op0_idx" type="array">
<obj_property name="ElementShortName">op0_idx[1:0]</obj_property> <obj_property name="ElementShortName">op0_idx[1:0]</obj_property>
<obj_property name="ObjectShortName">op0_idx[1:0]</obj_property> <obj_property name="ObjectShortName">op0_idx[1:0]</obj_property>
<obj_property name="Radix">UNSIGNEDDECRADIX</obj_property> <obj_property name="Radix">SIGNEDDECRADIX</obj_property>
</wvobject> </wvobject>
<wvobject fp_name="/CPU9bits_tb/CPU9bits0/FD/RF/op1_idx" type="array"> <wvobject fp_name="/CPU9bits_tb/CPU9bits0/FD/RF/op1_idx" type="array">
<obj_property name="ElementShortName">op1_idx[1:0]</obj_property> <obj_property name="ElementShortName">op1_idx[1:0]</obj_property>
<obj_property name="ObjectShortName">op1_idx[1:0]</obj_property> <obj_property name="ObjectShortName">op1_idx[1:0]</obj_property>
<obj_property name="Radix">UNSIGNEDDECRADIX</obj_property> <obj_property name="Radix">SIGNEDDECRADIX</obj_property>
</wvobject> </wvobject>
<wvobject fp_name="/CPU9bits_tb/CPU9bits0/FD/RF/write_data" type="array"> <wvobject fp_name="/CPU9bits_tb/CPU9bits0/FD/RF/write_data" type="array">
<obj_property name="ElementShortName">write_data[8:0]</obj_property> <obj_property name="ElementShortName">write_data[8:0]</obj_property>
<obj_property name="ObjectShortName">write_data[8:0]</obj_property> <obj_property name="ObjectShortName">write_data[8:0]</obj_property>
<obj_property name="Radix">UNSIGNEDDECRADIX</obj_property> <obj_property name="Radix">SIGNEDDECRADIX</obj_property>
</wvobject> </wvobject>
<wvobject fp_name="/CPU9bits_tb/CPU9bits0/FD/RF/op0" type="array"> <wvobject fp_name="/CPU9bits_tb/CPU9bits0/FD/RF/op0" type="array">
<obj_property name="ElementShortName">op0[8:0]</obj_property> <obj_property name="ElementShortName">op0[8:0]</obj_property>
<obj_property name="ObjectShortName">op0[8:0]</obj_property> <obj_property name="ObjectShortName">op0[8:0]</obj_property>
<obj_property name="Radix">UNSIGNEDDECRADIX</obj_property> <obj_property name="Radix">SIGNEDDECRADIX</obj_property>
</wvobject> </wvobject>
<wvobject fp_name="/CPU9bits_tb/CPU9bits0/FD/RF/op1" type="array"> <wvobject fp_name="/CPU9bits_tb/CPU9bits0/FD/RF/op1" type="array">
<obj_property name="ElementShortName">op1[8:0]</obj_property> <obj_property name="ElementShortName">op1[8:0]</obj_property>
<obj_property name="ObjectShortName">op1[8:0]</obj_property> <obj_property name="ObjectShortName">op1[8:0]</obj_property>
<obj_property name="Radix">UNSIGNEDDECRADIX</obj_property> <obj_property name="Radix">SIGNEDDECRADIX</obj_property>
</wvobject>
<wvobject fp_name="/CPU9bits_tb/CPU9bits0/FD/RF/decOut" type="array">
<obj_property name="ElementShortName">decOut[3:0]</obj_property>
<obj_property name="ObjectShortName">decOut[3:0]</obj_property>
<obj_property name="Radix">UNSIGNEDDECRADIX</obj_property>
</wvobject> </wvobject>
<wvobject fp_name="/CPU9bits_tb/CPU9bits0/FD/RF/r0_out" type="array"> <wvobject fp_name="/CPU9bits_tb/CPU9bits0/FD/RF/r0_out" type="array">
<obj_property name="ElementShortName">r0_out[8:0]</obj_property> <obj_property name="ElementShortName">r0_out[8:0]</obj_property>
@@ -258,16 +225,17 @@
<wvobject fp_name="/CPU9bits_tb/CPU9bits0/FD/iM/address" type="array"> <wvobject fp_name="/CPU9bits_tb/CPU9bits0/FD/iM/address" type="array">
<obj_property name="ElementShortName">address[8:0]</obj_property> <obj_property name="ElementShortName">address[8:0]</obj_property>
<obj_property name="ObjectShortName">address[8:0]</obj_property> <obj_property name="ObjectShortName">address[8:0]</obj_property>
<obj_property name="Radix">UNSIGNEDDECRADIX</obj_property> <obj_property name="Radix">SIGNEDDECRADIX</obj_property>
</wvobject> </wvobject>
<wvobject fp_name="/CPU9bits_tb/CPU9bits0/FD/iM/readData" type="array"> <wvobject fp_name="/CPU9bits_tb/CPU9bits0/FD/iM/readData" type="array">
<obj_property name="ElementShortName">readData[8:0]</obj_property> <obj_property name="ElementShortName">readData[8:0]</obj_property>
<obj_property name="ObjectShortName">readData[8:0]</obj_property> <obj_property name="ObjectShortName">readData[8:0]</obj_property>
<obj_property name="Radix">BINARYRADIX</obj_property> <obj_property name="Radix">SIGNEDDECRADIX</obj_property>
</wvobject> </wvobject>
<wvobject fp_name="/CPU9bits_tb/CPU9bits0/FD/iM/memory" type="array"> <wvobject fp_name="/CPU9bits_tb/CPU9bits0/FD/iM/memory" type="array">
<obj_property name="ElementShortName">memory[100:0][8:0]</obj_property> <obj_property name="ElementShortName">memory[18:0][8:0]</obj_property>
<obj_property name="ObjectShortName">memory[100:0][8:0]</obj_property> <obj_property name="ObjectShortName">memory[18:0][8:0]</obj_property>
<obj_property name="Radix">SIGNEDDECRADIX</obj_property>
</wvobject> </wvobject>
<wvobject fp_name="/CPU9bits_tb/CPU9bits0/EM/mux0/switch" type="logic"> <wvobject fp_name="/CPU9bits_tb/CPU9bits0/EM/mux0/switch" type="logic">
<obj_property name="ElementShortName">switch</obj_property> <obj_property name="ElementShortName">switch</obj_property>
@@ -276,14 +244,17 @@
<wvobject fp_name="/CPU9bits_tb/CPU9bits0/EM/mux0/A" type="array"> <wvobject fp_name="/CPU9bits_tb/CPU9bits0/EM/mux0/A" type="array">
<obj_property name="ElementShortName">A[8:0]</obj_property> <obj_property name="ElementShortName">A[8:0]</obj_property>
<obj_property name="ObjectShortName">A[8:0]</obj_property> <obj_property name="ObjectShortName">A[8:0]</obj_property>
<obj_property name="Radix">SIGNEDDECRADIX</obj_property>
</wvobject> </wvobject>
<wvobject fp_name="/CPU9bits_tb/CPU9bits0/EM/mux0/B" type="array"> <wvobject fp_name="/CPU9bits_tb/CPU9bits0/EM/mux0/B" type="array">
<obj_property name="ElementShortName">B[8:0]</obj_property> <obj_property name="ElementShortName">B[8:0]</obj_property>
<obj_property name="ObjectShortName">B[8:0]</obj_property> <obj_property name="ObjectShortName">B[8:0]</obj_property>
<obj_property name="Radix">SIGNEDDECRADIX</obj_property>
</wvobject> </wvobject>
<wvobject fp_name="/CPU9bits_tb/CPU9bits0/EM/mux0/out" type="array"> <wvobject fp_name="/CPU9bits_tb/CPU9bits0/EM/mux0/out" type="array">
<obj_property name="ElementShortName">out[8:0]</obj_property> <obj_property name="ElementShortName">out[8:0]</obj_property>
<obj_property name="ObjectShortName">out[8:0]</obj_property> <obj_property name="ObjectShortName">out[8:0]</obj_property>
<obj_property name="Radix">SIGNEDDECRADIX</obj_property>
</wvobject> </wvobject>
<wvobject fp_name="/CPU9bits_tb/CPU9bits0/EM/BranMux/switch" type="logic"> <wvobject fp_name="/CPU9bits_tb/CPU9bits0/EM/BranMux/switch" type="logic">
<obj_property name="ElementShortName">switch</obj_property> <obj_property name="ElementShortName">switch</obj_property>
@@ -314,12 +285,14 @@
<obj_property name="ObjectShortName">En</obj_property> <obj_property name="ObjectShortName">En</obj_property>
</wvobject> </wvobject>
<wvobject fp_name="/CPU9bits_tb/CPU9bits0/pipe1/Din" type="array"> <wvobject fp_name="/CPU9bits_tb/CPU9bits0/pipe1/Din" type="array">
<obj_property name="ElementShortName">Din[50:0]</obj_property> <obj_property name="ElementShortName">Din[52:0]</obj_property>
<obj_property name="ObjectShortName">Din[50:0]</obj_property> <obj_property name="ObjectShortName">Din[52:0]</obj_property>
<obj_property name="Radix">SIGNEDDECRADIX</obj_property>
</wvobject> </wvobject>
<wvobject fp_name="/CPU9bits_tb/CPU9bits0/pipe1/Dout" type="array"> <wvobject fp_name="/CPU9bits_tb/CPU9bits0/pipe1/Dout" type="array">
<obj_property name="ElementShortName">Dout[50:0]</obj_property> <obj_property name="ElementShortName">Dout[52:0]</obj_property>
<obj_property name="ObjectShortName">Dout[50:0]</obj_property> <obj_property name="ObjectShortName">Dout[52:0]</obj_property>
<obj_property name="Radix">SIGNEDDECRADIX</obj_property>
</wvobject> </wvobject>
</wvobject> </wvobject>
<wvobject fp_name="group598" type="group"> <wvobject fp_name="group598" type="group">
@@ -336,19 +309,33 @@
<wvobject fp_name="/CPU9bits_tb/CPU9bits0/EM/dM/address" type="array"> <wvobject fp_name="/CPU9bits_tb/CPU9bits0/EM/dM/address" type="array">
<obj_property name="ElementShortName">address[8:0]</obj_property> <obj_property name="ElementShortName">address[8:0]</obj_property>
<obj_property name="ObjectShortName">address[8:0]</obj_property> <obj_property name="ObjectShortName">address[8:0]</obj_property>
<obj_property name="Radix">UNSIGNEDDECRADIX</obj_property> <obj_property name="Radix">SIGNEDDECRADIX</obj_property>
</wvobject> </wvobject>
<wvobject fp_name="/CPU9bits_tb/CPU9bits0/EM/dM/writeData" type="array"> <wvobject fp_name="/CPU9bits_tb/CPU9bits0/EM/dM/writeData" type="array">
<obj_property name="ElementShortName">writeData[8:0]</obj_property> <obj_property name="ElementShortName">writeData[8:0]</obj_property>
<obj_property name="ObjectShortName">writeData[8:0]</obj_property> <obj_property name="ObjectShortName">writeData[8:0]</obj_property>
<obj_property name="Radix">SIGNEDDECRADIX</obj_property>
</wvobject> </wvobject>
<wvobject fp_name="/CPU9bits_tb/CPU9bits0/EM/dM/readData" type="array"> <wvobject fp_name="/CPU9bits_tb/CPU9bits0/EM/dM/readData" type="array">
<obj_property name="ElementShortName">readData[8:0]</obj_property> <obj_property name="ElementShortName">readData[8:0]</obj_property>
<obj_property name="ObjectShortName">readData[8:0]</obj_property> <obj_property name="ObjectShortName">readData[8:0]</obj_property>
<obj_property name="Radix">SIGNEDDECRADIX</obj_property>
</wvobject> </wvobject>
<wvobject fp_name="/CPU9bits_tb/CPU9bits0/EM/dM/memory" type="array"> <wvobject fp_name="/CPU9bits_tb/CPU9bits0/EM/dM/memory" type="array">
<obj_property name="ElementShortName">memory[100:0][8:0]</obj_property> <obj_property name="ElementShortName">memory[1:0][8:0]</obj_property>
<obj_property name="ObjectShortName">memory[100:0][8:0]</obj_property> <obj_property name="ObjectShortName">memory[1:0][8:0]</obj_property>
<obj_property name="Radix">SIGNEDDECRADIX</obj_property>
<obj_property name="isExpanded"></obj_property>
<wvobject fp_name="/CPU9bits_tb/CPU9bits0/EM/dM/memory[1]" type="array">
<obj_property name="ElementShortName">[1][8:0]</obj_property>
<obj_property name="ObjectShortName">[1][8:0]</obj_property>
<obj_property name="Radix">SIGNEDDECRADIX</obj_property>
</wvobject>
<wvobject fp_name="/CPU9bits_tb/CPU9bits0/EM/dM/memory[0]" type="array">
<obj_property name="ElementShortName">[0][8:0]</obj_property>
<obj_property name="ObjectShortName">[0][8:0]</obj_property>
<obj_property name="Radix">SIGNEDDECRADIX</obj_property>
</wvobject>
</wvobject> </wvobject>
</wvobject> </wvobject>
<wvobject type="divider" fp_name="divider136"> <wvobject type="divider" fp_name="divider136">
@@ -356,7 +343,7 @@
<obj_property name="DisplayName">label</obj_property> <obj_property name="DisplayName">label</obj_property>
</wvobject> </wvobject>
<wvobject fp_name="group120" type="group"> <wvobject fp_name="group120" type="group">
<obj_property name="label">Mux 3</obj_property> <obj_property name="label">Mux 3 - Addi</obj_property>
<obj_property name="DisplayName">label</obj_property> <obj_property name="DisplayName">label</obj_property>
<wvobject fp_name="/CPU9bits_tb/CPU9bits0/W/mux3/switch" type="logic"> <wvobject fp_name="/CPU9bits_tb/CPU9bits0/W/mux3/switch" type="logic">
<obj_property name="ElementShortName">switch</obj_property> <obj_property name="ElementShortName">switch</obj_property>
@@ -378,8 +365,31 @@
<obj_property name="Radix">SIGNEDDECRADIX</obj_property> <obj_property name="Radix">SIGNEDDECRADIX</obj_property>
</wvobject> </wvobject>
</wvobject> </wvobject>
<wvobject fp_name="group135" type="group">
<obj_property name="label">Mux 6 - Link</obj_property>
<obj_property name="DisplayName">label</obj_property>
<wvobject fp_name="/CPU9bits_tb/CPU9bits0/W/mux6/switch" type="logic">
<obj_property name="ElementShortName">switch</obj_property>
<obj_property name="ObjectShortName">switch</obj_property>
</wvobject>
<wvobject fp_name="/CPU9bits_tb/CPU9bits0/W/mux6/A" type="array">
<obj_property name="ElementShortName">A[8:0]</obj_property>
<obj_property name="ObjectShortName">A[8:0]</obj_property>
<obj_property name="Radix">SIGNEDDECRADIX</obj_property>
</wvobject>
<wvobject fp_name="/CPU9bits_tb/CPU9bits0/W/mux6/B" type="array">
<obj_property name="ElementShortName">B[8:0]</obj_property>
<obj_property name="ObjectShortName">B[8:0]</obj_property>
<obj_property name="Radix">SIGNEDDECRADIX</obj_property>
</wvobject>
<wvobject fp_name="/CPU9bits_tb/CPU9bits0/W/mux6/out" type="array">
<obj_property name="ElementShortName">out[8:0]</obj_property>
<obj_property name="ObjectShortName">out[8:0]</obj_property>
<obj_property name="Radix">SIGNEDDECRADIX</obj_property>
</wvobject>
</wvobject>
<wvobject fp_name="group125" type="group"> <wvobject fp_name="group125" type="group">
<obj_property name="label">Mux 4</obj_property> <obj_property name="label">Mux 4 - Mem</obj_property>
<obj_property name="DisplayName">label</obj_property> <obj_property name="DisplayName">label</obj_property>
<wvobject fp_name="/CPU9bits_tb/CPU9bits0/W/mux4/switch" type="logic"> <wvobject fp_name="/CPU9bits_tb/CPU9bits0/W/mux4/switch" type="logic">
<obj_property name="ElementShortName">switch</obj_property> <obj_property name="ElementShortName">switch</obj_property>
@@ -402,7 +412,7 @@
</wvobject> </wvobject>
</wvobject> </wvobject>
<wvobject fp_name="group130" type="group"> <wvobject fp_name="group130" type="group">
<obj_property name="label">Mux 5</obj_property> <obj_property name="label"> Mux 5 - Bank</obj_property>
<obj_property name="DisplayName">label</obj_property> <obj_property name="DisplayName">label</obj_property>
<wvobject fp_name="/CPU9bits_tb/CPU9bits0/W/mux5/switch" type="logic"> <wvobject fp_name="/CPU9bits_tb/CPU9bits0/W/mux5/switch" type="logic">
<obj_property name="ElementShortName">switch</obj_property> <obj_property name="ElementShortName">switch</obj_property>
@@ -424,27 +434,97 @@
<obj_property name="Radix">SIGNEDDECRADIX</obj_property> <obj_property name="Radix">SIGNEDDECRADIX</obj_property>
</wvobject> </wvobject>
</wvobject> </wvobject>
<wvobject fp_name="group135" type="group"> <wvobject type="divider" fp_name="divider136">
<obj_property name="label">Mux 6</obj_property> <obj_property name="label">Divider</obj_property>
<obj_property name="DisplayName">label</obj_property> <obj_property name="DisplayName">label</obj_property>
<wvobject fp_name="/CPU9bits_tb/CPU9bits0/W/mux6/switch" type="logic"> </wvobject>
<wvobject fp_name="group733" type="group">
<obj_property name="label">op0 - Mux</obj_property>
<obj_property name="DisplayName">label</obj_property>
<obj_property name="isExpanded"></obj_property>
<wvobject fp_name="/CPU9bits_tb/CPU9bits0/mux0/switch" type="logic">
<obj_property name="ElementShortName">switch</obj_property> <obj_property name="ElementShortName">switch</obj_property>
<obj_property name="ObjectShortName">switch</obj_property> <obj_property name="ObjectShortName">switch</obj_property>
</wvobject> </wvobject>
<wvobject fp_name="/CPU9bits_tb/CPU9bits0/W/mux6/A" type="array"> <wvobject fp_name="/CPU9bits_tb/CPU9bits0/mux0/A" type="array">
<obj_property name="ElementShortName">A[8:0]</obj_property> <obj_property name="ElementShortName">A[8:0]</obj_property>
<obj_property name="ObjectShortName">A[8:0]</obj_property> <obj_property name="ObjectShortName">A[8:0]</obj_property>
<obj_property name="Radix">SIGNEDDECRADIX</obj_property> <obj_property name="Radix">SIGNEDDECRADIX</obj_property>
</wvobject> </wvobject>
<wvobject fp_name="/CPU9bits_tb/CPU9bits0/W/mux6/B" type="array"> <wvobject fp_name="/CPU9bits_tb/CPU9bits0/mux0/B" type="array">
<obj_property name="ElementShortName">B[8:0]</obj_property> <obj_property name="ElementShortName">B[8:0]</obj_property>
<obj_property name="ObjectShortName">B[8:0]</obj_property> <obj_property name="ObjectShortName">B[8:0]</obj_property>
<obj_property name="Radix">SIGNEDDECRADIX</obj_property> <obj_property name="Radix">SIGNEDDECRADIX</obj_property>
</wvobject> </wvobject>
<wvobject fp_name="/CPU9bits_tb/CPU9bits0/W/mux6/out" type="array"> <wvobject fp_name="/CPU9bits_tb/CPU9bits0/mux0/out" type="array">
<obj_property name="ElementShortName">out[8:0]</obj_property> <obj_property name="ElementShortName">out[8:0]</obj_property>
<obj_property name="ObjectShortName">out[8:0]</obj_property> <obj_property name="ObjectShortName">out[8:0]</obj_property>
<obj_property name="Radix">SIGNEDDECRADIX</obj_property> <obj_property name="Radix">SIGNEDDECRADIX</obj_property>
</wvobject> </wvobject>
<wvobject fp_name="/CPU9bits_tb/CPU9bits0/ext0/A" type="array">
<obj_property name="ElementShortName">A[1:0]</obj_property>
<obj_property name="ObjectShortName">A[1:0]</obj_property>
</wvobject>
<wvobject fp_name="/CPU9bits_tb/CPU9bits0/sub0/B" type="array">
<obj_property name="ElementShortName">B[8:0]</obj_property>
<obj_property name="ObjectShortName">B[8:0]</obj_property>
</wvobject>
</wvobject>
<wvobject fp_name="group734" type="group">
<obj_property name="label">op1 - Mux</obj_property>
<obj_property name="DisplayName">label</obj_property>
<obj_property name="isExpanded"></obj_property>
<wvobject fp_name="/CPU9bits_tb/CPU9bits0/mux1/switch" type="logic">
<obj_property name="ElementShortName">switch</obj_property>
<obj_property name="ObjectShortName">switch</obj_property>
</wvobject>
<wvobject fp_name="/CPU9bits_tb/CPU9bits0/mux1/A" type="array">
<obj_property name="ElementShortName">A[8:0]</obj_property>
<obj_property name="ObjectShortName">A[8:0]</obj_property>
<obj_property name="Radix">SIGNEDDECRADIX</obj_property>
</wvobject>
<wvobject fp_name="/CPU9bits_tb/CPU9bits0/mux1/B" type="array">
<obj_property name="ElementShortName">B[8:0]</obj_property>
<obj_property name="ObjectShortName">B[8:0]</obj_property>
<obj_property name="Radix">SIGNEDDECRADIX</obj_property>
</wvobject>
<wvobject fp_name="/CPU9bits_tb/CPU9bits0/mux1/out" type="array">
<obj_property name="ElementShortName">out[8:0]</obj_property>
<obj_property name="ObjectShortName">out[8:0]</obj_property>
<obj_property name="Radix">SIGNEDDECRADIX</obj_property>
</wvobject>
<wvobject fp_name="/CPU9bits_tb/CPU9bits0/ext1/A" type="array">
<obj_property name="ElementShortName">A[1:0]</obj_property>
<obj_property name="ObjectShortName">A[1:0]</obj_property>
</wvobject>
<wvobject fp_name="/CPU9bits_tb/CPU9bits0/sub1/B" type="array">
<obj_property name="ElementShortName">B[8:0]</obj_property>
<obj_property name="ObjectShortName">B[8:0]</obj_property>
</wvobject>
</wvobject>
<wvobject fp_name="group739" type="group">
<obj_property name="label">ALU</obj_property>
<obj_property name="DisplayName">label</obj_property>
<obj_property name="isExpanded"></obj_property>
<wvobject fp_name="/CPU9bits_tb/CPU9bits0/EM/alu/opcode" type="array">
<obj_property name="ElementShortName">opcode[3:0]</obj_property>
<obj_property name="ObjectShortName">opcode[3:0]</obj_property>
<obj_property name="Radix">SIGNEDDECRADIX</obj_property>
</wvobject>
<wvobject fp_name="/CPU9bits_tb/CPU9bits0/EM/alu/operand0" type="array">
<obj_property name="ElementShortName">operand0[8:0]</obj_property>
<obj_property name="ObjectShortName">operand0[8:0]</obj_property>
<obj_property name="Radix">SIGNEDDECRADIX</obj_property>
</wvobject>
<wvobject fp_name="/CPU9bits_tb/CPU9bits0/EM/alu/operand1" type="array">
<obj_property name="ElementShortName">operand1[8:0]</obj_property>
<obj_property name="ObjectShortName">operand1[8:0]</obj_property>
<obj_property name="Radix">SIGNEDDECRADIX</obj_property>
</wvobject>
<wvobject fp_name="/CPU9bits_tb/CPU9bits0/EM/alu/result" type="array">
<obj_property name="ElementShortName">result[8:0]</obj_property>
<obj_property name="ObjectShortName">result[8:0]</obj_property>
<obj_property name="Radix">SIGNEDDECRADIX</obj_property>
</wvobject>
</wvobject> </wvobject>
</wave_config> </wave_config>

View File

@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<GenRun Id="impl_1" LaunchPart="xc7k160tifbg484-2L" LaunchTime="1555022469"> <GenRun Id="impl_1" LaunchPart="xc7k160tifbg484-2L" LaunchTime="1555022469">
<File Type="BITSTR-BMM" Name="CPU9bits_bd.bmm"/>
<File Type="ROUTE-PWR" Name="CPU9bits_power_routed.rpt"/> <File Type="ROUTE-PWR" Name="CPU9bits_power_routed.rpt"/>
<File Type="PA-TCL" Name="CPU9bits.tcl"/> <File Type="PA-TCL" Name="CPU9bits.tcl"/>
<File Type="BITSTR-BMM" Name="CPU9bits_bd.bmm"/> <File Type="OPT-DCP" Name="CPU9bits_opt.dcp"/>
<File Type="ROUTE-PWR-SUM" Name="CPU9bits_power_summary_routed.pb"/> <File Type="ROUTE-PWR-SUM" Name="CPU9bits_power_summary_routed.pb"/>
<File Type="REPORTS-TCL" Name="CPU9bits_reports.tcl"/> <File Type="REPORTS-TCL" Name="CPU9bits_reports.tcl"/>
<File Type="OPT-DCP" Name="CPU9bits_opt.dcp"/>
<File Type="OPT-DRC" Name="CPU9bits_drc_opted.rpt"/> <File Type="OPT-DRC" Name="CPU9bits_drc_opted.rpt"/>
<File Type="OPT-HWDEF" Name="CPU9bits.hwdef"/> <File Type="OPT-HWDEF" Name="CPU9bits.hwdef"/>
<File Type="PWROPT-DCP" Name="CPU9bits_pwropt.dcp"/> <File Type="PWROPT-DCP" Name="CPU9bits_pwropt.dcp"/>
@@ -25,19 +25,20 @@
<File Type="ROUTE-BLACKBOX-DCP" Name="CPU9bits_routed_bb.dcp"/> <File Type="ROUTE-BLACKBOX-DCP" Name="CPU9bits_routed_bb.dcp"/>
<File Type="ROUTE-DRC" Name="CPU9bits_drc_routed.rpt"/> <File Type="ROUTE-DRC" Name="CPU9bits_drc_routed.rpt"/>
<File Type="ROUTE-DRC-PB" Name="CPU9bits_drc_routed.pb"/> <File Type="ROUTE-DRC-PB" Name="CPU9bits_drc_routed.pb"/>
<File Type="ROUTE-DRC-RPX" Name="CPU9bits_drc_routed.rpx"/>
<File Type="BITSTR-LTX" Name="CPU9bits.ltx"/> <File Type="BITSTR-LTX" Name="CPU9bits.ltx"/>
<File Type="ROUTE-METHODOLOGY-DRC" Name="CPU9bits_methodology_drc_routed.rpt"/> <File Type="ROUTE-DRC-RPX" Name="CPU9bits_drc_routed.rpx"/>
<File Type="BITSTR-MMI" Name="CPU9bits.mmi"/> <File Type="BITSTR-MMI" Name="CPU9bits.mmi"/>
<File Type="ROUTE-METHODOLOGY-DRC" Name="CPU9bits_methodology_drc_routed.rpt"/>
<File Type="ROUTE-METHODOLOGY-DRC-RPX" Name="CPU9bits_methodology_drc_routed.rpx"/> <File Type="ROUTE-METHODOLOGY-DRC-RPX" Name="CPU9bits_methodology_drc_routed.rpx"/>
<File Type="ROUTE-METHODOLOGY-DRC-PB" Name="CPU9bits_methodology_drc_routed.pb"/>
<File Type="BITSTR-SYSDEF" Name="CPU9bits.sysdef"/> <File Type="BITSTR-SYSDEF" Name="CPU9bits.sysdef"/>
<File Type="ROUTE-METHODOLOGY-DRC-PB" Name="CPU9bits_methodology_drc_routed.pb"/>
<File Type="ROUTE-PWR-RPX" Name="CPU9bits_power_routed.rpx"/> <File Type="ROUTE-PWR-RPX" Name="CPU9bits_power_routed.rpx"/>
<File Type="ROUTE-STATUS" Name="CPU9bits_route_status.rpt"/> <File Type="ROUTE-STATUS" Name="CPU9bits_route_status.rpt"/>
<File Type="ROUTE-STATUS-PB" Name="CPU9bits_route_status.pb"/> <File Type="ROUTE-STATUS-PB" Name="CPU9bits_route_status.pb"/>
<File Type="ROUTE-TIMINGSUMMARY" Name="CPU9bits_timing_summary_routed.rpt"/> <File Type="ROUTE-TIMINGSUMMARY" Name="CPU9bits_timing_summary_routed.rpt"/>
<File Type="ROUTE-TIMING-PB" Name="CPU9bits_timing_summary_routed.pb"/> <File Type="ROUTE-TIMING-PB" Name="CPU9bits_timing_summary_routed.pb"/>
<File Type="ROUTE-TIMING-RPX" Name="CPU9bits_timing_summary_routed.rpx"/> <File Type="ROUTE-TIMING-RPX" Name="CPU9bits_timing_summary_routed.rpx"/>
<File Type="RDI-RDI" Name="CPU9bits.vdi"/>
<File Type="ROUTE-CLK" Name="CPU9bits_clock_utilization_routed.rpt"/> <File Type="ROUTE-CLK" Name="CPU9bits_clock_utilization_routed.rpt"/>
<File Type="ROUTE-BUS-SKEW" Name="CPU9bits_bus_skew_routed.rpt"/> <File Type="ROUTE-BUS-SKEW" Name="CPU9bits_bus_skew_routed.rpt"/>
<File Type="ROUTE-BUS-SKEW-PB" Name="CPU9bits_bus_skew_routed.pb"/> <File Type="ROUTE-BUS-SKEW-PB" Name="CPU9bits_bus_skew_routed.pb"/>
@@ -48,7 +49,6 @@
<File Type="BITSTR-RBT" Name="CPU9bits.rbt"/> <File Type="BITSTR-RBT" Name="CPU9bits.rbt"/>
<File Type="BITSTR-NKY" Name="CPU9bits.nky"/> <File Type="BITSTR-NKY" Name="CPU9bits.nky"/>
<File Type="BG-DRC" Name="CPU9bits.drc"/> <File Type="BG-DRC" Name="CPU9bits.drc"/>
<File Type="RDI-RDI" Name="CPU9bits.vdi"/>
<File Type="WBT-USG" Name="usage_statistics_webtalk.html"/> <File Type="WBT-USG" Name="usage_statistics_webtalk.html"/>
<FileSet Name="sources" Type="DesignSrcs" RelSrcDir="$PSRCDIR/sources_1"> <FileSet Name="sources" Type="DesignSrcs" RelSrcDir="$PSRCDIR/sources_1">
<Filter Type="Srcs"/> <Filter Type="Srcs"/>

Binary file not shown.

View File

@@ -47,22 +47,22 @@ extern int main(int, char**);
extern void execute_2(char*, char *); extern void execute_2(char*, char *);
extern void execute_3(char*, char *); extern void execute_3(char*, char *);
extern void execute_240(char*, char *); extern void execute_240(char*, char *);
extern void execute_611(char*, char *); extern void execute_609(char*, char *);
extern void execute_612(char*, char *); extern void execute_610(char*, char *);
extern void vlog_simple_process_execute_0_fast_no_reg_no_agg(char*, char*, char*); extern void vlog_simple_process_execute_0_fast_no_reg_no_agg(char*, char*, char*);
extern void execute_246(char*, char *); extern void execute_246(char*, char *);
extern void vlog_const_rhs_process_execute_0_fast_no_reg_no_agg(char*, char*, char*); extern void vlog_const_rhs_process_execute_0_fast_no_reg_no_agg(char*, char*, char*);
extern void execute_601(char*, char *);
extern void execute_602(char*, char *);
extern void execute_603(char*, char *); extern void execute_603(char*, char *);
extern void execute_604(char*, char *); extern void execute_604(char*, char *);
extern void execute_605(char*, char *); extern void execute_605(char*, char *);
extern void execute_606(char*, char *); extern void execute_606(char*, char *);
extern void execute_607(char*, char *); extern void execute_607(char*, char *);
extern void execute_608(char*, char *); extern void execute_608(char*, char *);
extern void execute_609(char*, char *);
extern void execute_610(char*, char *);
extern void execute_247(char*, char *); extern void execute_247(char*, char *);
extern void execute_248(char*, char *); extern void execute_278(char*, char *);
extern void execute_249(char*, char *); extern void execute_279(char*, char *);
extern void execute_280(char*, char *); extern void execute_280(char*, char *);
extern void execute_281(char*, char *); extern void execute_281(char*, char *);
extern void execute_282(char*, char *); extern void execute_282(char*, char *);
@@ -74,28 +74,28 @@ extern void execute_287(char*, char *);
extern void execute_288(char*, char *); extern void execute_288(char*, char *);
extern void execute_289(char*, char *); extern void execute_289(char*, char *);
extern void execute_290(char*, char *); extern void execute_290(char*, char *);
extern void execute_291(char*, char *);
extern void execute_292(char*, char *);
extern void execute_7(char*, char *); extern void execute_7(char*, char *);
extern void execute_8(char*, char *); extern void execute_8(char*, char *);
extern void execute_267(char*, char *);
extern void execute_269(char*, char *); extern void execute_269(char*, char *);
extern void execute_270(char*, char *);
extern void execute_11(char*, char *);
extern void execute_248(char*, char *);
extern void execute_249(char*, char *);
extern void execute_23(char*, char *);
extern void execute_271(char*, char *); extern void execute_271(char*, char *);
extern void execute_272(char*, char *); extern void execute_272(char*, char *);
extern void execute_11(char*, char *);
extern void execute_250(char*, char *);
extern void execute_251(char*, char *);
extern void execute_23(char*, char *);
extern void execute_273(char*, char *); extern void execute_273(char*, char *);
extern void execute_274(char*, char *); extern void execute_274(char*, char *);
extern void execute_275(char*, char *); extern void execute_275(char*, char *);
extern void execute_276(char*, char *); extern void execute_276(char*, char *);
extern void execute_277(char*, char *); extern void execute_277(char*, char *);
extern void execute_278(char*, char *);
extern void execute_279(char*, char *);
extern void execute_26(char*, char *); extern void execute_26(char*, char *);
extern void execute_36(char*, char *); extern void execute_36(char*, char *);
extern void execute_40(char*, char *); extern void execute_40(char*, char *);
extern void execute_42(char*, char *); extern void execute_42(char*, char *);
extern void execute_291(char*, char *);
extern void execute_292(char*, char *);
extern void execute_293(char*, char *); extern void execute_293(char*, char *);
extern void execute_294(char*, char *); extern void execute_294(char*, char *);
extern void execute_295(char*, char *); extern void execute_295(char*, char *);
@@ -108,38 +108,38 @@ extern void execute_301(char*, char *);
extern void execute_302(char*, char *); extern void execute_302(char*, char *);
extern void execute_303(char*, char *); extern void execute_303(char*, char *);
extern void execute_304(char*, char *); extern void execute_304(char*, char *);
extern void execute_305(char*, char *); extern void execute_485(char*, char *);
extern void execute_306(char*, char *);
extern void execute_487(char*, char *); extern void execute_487(char*, char *);
extern void execute_489(char*, char *); extern void execute_488(char*, char *);
extern void execute_490(char*, char *); extern void execute_490(char*, char *);
extern void execute_491(char*, char *);
extern void execute_492(char*, char *); extern void execute_492(char*, char *);
extern void execute_493(char*, char *); extern void execute_493(char*, char *);
extern void execute_494(char*, char *); extern void execute_494(char*, char *);
extern void execute_495(char*, char *);
extern void execute_496(char*, char *);
extern void execute_45(char*, char *); extern void execute_45(char*, char *);
extern void execute_46(char*, char *); extern void execute_46(char*, char *);
extern void execute_420(char*, char *);
extern void execute_421(char*, char *);
extern void execute_422(char*, char *); extern void execute_422(char*, char *);
extern void execute_423(char*, char *); extern void execute_423(char*, char *);
extern void execute_424(char*, char *); extern void execute_424(char*, char *);
extern void execute_425(char*, char *); extern void execute_425(char*, char *);
extern void execute_426(char*, char *); extern void execute_349(char*, char *);
extern void execute_427(char*, char *); extern void execute_330(char*, char *);
extern void execute_351(char*, char *); extern void execute_370(char*, char *);
extern void execute_332(char*, char *); extern void execute_371(char*, char *);
extern void execute_372(char*, char *); extern void execute_372(char*, char *);
extern void execute_373(char*, char *); extern void execute_373(char*, char *);
extern void execute_374(char*, char *); extern void execute_374(char*, char *);
extern void execute_375(char*, char *); extern void execute_375(char*, char *);
extern void execute_376(char*, char *); extern void execute_417(char*, char *);
extern void execute_377(char*, char *); extern void execute_418(char*, char *);
extern void execute_419(char*, char *);
extern void execute_420(char*, char *);
extern void execute_129(char*, char *); extern void execute_129(char*, char *);
extern void execute_467(char*, char *); extern void execute_465(char*, char *);
extern void execute_160(char*, char *); extern void execute_160(char*, char *);
extern void execute_173(char*, char *); extern void execute_173(char*, char *);
extern void execute_495(char*, char *);
extern void execute_496(char*, char *);
extern void execute_497(char*, char *); extern void execute_497(char*, char *);
extern void execute_498(char*, char *); extern void execute_498(char*, char *);
extern void execute_499(char*, char *); extern void execute_499(char*, char *);
@@ -156,24 +156,22 @@ extern void execute_509(char*, char *);
extern void execute_510(char*, char *); extern void execute_510(char*, char *);
extern void execute_511(char*, char *); extern void execute_511(char*, char *);
extern void execute_512(char*, char *); extern void execute_512(char*, char *);
extern void execute_513(char*, char *);
extern void execute_514(char*, char *);
extern void execute_242(char*, char *); extern void execute_242(char*, char *);
extern void execute_243(char*, char *); extern void execute_243(char*, char *);
extern void execute_244(char*, char *); extern void execute_244(char*, char *);
extern void execute_611(char*, char *);
extern void execute_612(char*, char *);
extern void execute_613(char*, char *); extern void execute_613(char*, char *);
extern void execute_614(char*, char *); extern void execute_614(char*, char *);
extern void execute_615(char*, char *); extern void execute_615(char*, char *);
extern void execute_616(char*, char *);
extern void execute_617(char*, char *);
extern void vlog_transfunc_eventcallback(char*, char*, unsigned, unsigned, unsigned, char *); extern void vlog_transfunc_eventcallback(char*, char*, unsigned, unsigned, unsigned, char *);
extern void transaction_131(char*, char*, unsigned, unsigned, unsigned); extern void transaction_133(char*, char*, unsigned, unsigned, unsigned);
funcp funcTab[124] = {(funcp)execute_2, (funcp)execute_3, (funcp)execute_240, (funcp)execute_611, (funcp)execute_612, (funcp)vlog_simple_process_execute_0_fast_no_reg_no_agg, (funcp)execute_246, (funcp)vlog_const_rhs_process_execute_0_fast_no_reg_no_agg, (funcp)execute_603, (funcp)execute_604, (funcp)execute_605, (funcp)execute_606, (funcp)execute_607, (funcp)execute_608, (funcp)execute_609, (funcp)execute_610, (funcp)execute_247, (funcp)execute_248, (funcp)execute_249, (funcp)execute_280, (funcp)execute_281, (funcp)execute_282, (funcp)execute_283, (funcp)execute_284, (funcp)execute_285, (funcp)execute_286, (funcp)execute_287, (funcp)execute_288, (funcp)execute_289, (funcp)execute_290, (funcp)execute_291, (funcp)execute_292, (funcp)execute_7, (funcp)execute_8, (funcp)execute_269, (funcp)execute_271, (funcp)execute_272, (funcp)execute_11, (funcp)execute_250, (funcp)execute_251, (funcp)execute_23, (funcp)execute_273, (funcp)execute_274, (funcp)execute_275, (funcp)execute_276, (funcp)execute_277, (funcp)execute_278, (funcp)execute_279, (funcp)execute_26, (funcp)execute_36, (funcp)execute_40, (funcp)execute_42, (funcp)execute_293, (funcp)execute_294, (funcp)execute_295, (funcp)execute_296, (funcp)execute_297, (funcp)execute_298, (funcp)execute_299, (funcp)execute_300, (funcp)execute_301, (funcp)execute_302, (funcp)execute_303, (funcp)execute_304, (funcp)execute_305, (funcp)execute_306, (funcp)execute_487, (funcp)execute_489, (funcp)execute_490, (funcp)execute_492, (funcp)execute_493, (funcp)execute_494, (funcp)execute_495, (funcp)execute_496, (funcp)execute_45, (funcp)execute_46, (funcp)execute_422, (funcp)execute_423, (funcp)execute_424, (funcp)execute_425, (funcp)execute_426, (funcp)execute_427, (funcp)execute_351, (funcp)execute_332, (funcp)execute_372, (funcp)execute_373, (funcp)execute_374, (funcp)execute_375, (funcp)execute_376, (funcp)execute_377, (funcp)execute_419, (funcp)execute_420, (funcp)execute_129, (funcp)execute_467, (funcp)execute_160, (funcp)execute_173, (funcp)execute_497, (funcp)execute_498, (funcp)execute_499, (funcp)execute_500, (funcp)execute_501, (funcp)execute_502, (funcp)execute_503, (funcp)execute_504, (funcp)execute_505, (funcp)execute_506, (funcp)execute_507, (funcp)execute_508, (funcp)execute_509, (funcp)execute_510, (funcp)execute_511, (funcp)execute_512, (funcp)execute_513, (funcp)execute_514, (funcp)execute_242, (funcp)execute_243, (funcp)execute_244, (funcp)execute_613, (funcp)execute_614, (funcp)execute_615, (funcp)execute_616, (funcp)execute_617, (funcp)vlog_transfunc_eventcallback, (funcp)transaction_131}; funcp funcTab[122] = {(funcp)execute_2, (funcp)execute_3, (funcp)execute_240, (funcp)execute_609, (funcp)execute_610, (funcp)vlog_simple_process_execute_0_fast_no_reg_no_agg, (funcp)execute_246, (funcp)vlog_const_rhs_process_execute_0_fast_no_reg_no_agg, (funcp)execute_601, (funcp)execute_602, (funcp)execute_603, (funcp)execute_604, (funcp)execute_605, (funcp)execute_606, (funcp)execute_607, (funcp)execute_608, (funcp)execute_247, (funcp)execute_278, (funcp)execute_279, (funcp)execute_280, (funcp)execute_281, (funcp)execute_282, (funcp)execute_283, (funcp)execute_284, (funcp)execute_285, (funcp)execute_286, (funcp)execute_287, (funcp)execute_288, (funcp)execute_289, (funcp)execute_290, (funcp)execute_7, (funcp)execute_8, (funcp)execute_267, (funcp)execute_269, (funcp)execute_270, (funcp)execute_11, (funcp)execute_248, (funcp)execute_249, (funcp)execute_23, (funcp)execute_271, (funcp)execute_272, (funcp)execute_273, (funcp)execute_274, (funcp)execute_275, (funcp)execute_276, (funcp)execute_277, (funcp)execute_26, (funcp)execute_36, (funcp)execute_40, (funcp)execute_42, (funcp)execute_291, (funcp)execute_292, (funcp)execute_293, (funcp)execute_294, (funcp)execute_295, (funcp)execute_296, (funcp)execute_297, (funcp)execute_298, (funcp)execute_299, (funcp)execute_300, (funcp)execute_301, (funcp)execute_302, (funcp)execute_303, (funcp)execute_304, (funcp)execute_485, (funcp)execute_487, (funcp)execute_488, (funcp)execute_490, (funcp)execute_491, (funcp)execute_492, (funcp)execute_493, (funcp)execute_494, (funcp)execute_45, (funcp)execute_46, (funcp)execute_420, (funcp)execute_421, (funcp)execute_422, (funcp)execute_423, (funcp)execute_424, (funcp)execute_425, (funcp)execute_349, (funcp)execute_330, (funcp)execute_370, (funcp)execute_371, (funcp)execute_372, (funcp)execute_373, (funcp)execute_374, (funcp)execute_375, (funcp)execute_417, (funcp)execute_418, (funcp)execute_129, (funcp)execute_465, (funcp)execute_160, (funcp)execute_173, (funcp)execute_495, (funcp)execute_496, (funcp)execute_497, (funcp)execute_498, (funcp)execute_499, (funcp)execute_500, (funcp)execute_501, (funcp)execute_502, (funcp)execute_503, (funcp)execute_504, (funcp)execute_505, (funcp)execute_506, (funcp)execute_507, (funcp)execute_508, (funcp)execute_509, (funcp)execute_510, (funcp)execute_511, (funcp)execute_512, (funcp)execute_242, (funcp)execute_243, (funcp)execute_244, (funcp)execute_611, (funcp)execute_612, (funcp)execute_613, (funcp)execute_614, (funcp)execute_615, (funcp)vlog_transfunc_eventcallback, (funcp)transaction_133};
const int NumRelocateId= 124; const int NumRelocateId= 122;
void relocate(char *dp) void relocate(char *dp)
{ {
iki_relocate(dp, "xsim.dir/CPU9bits_tb_behav/xsim.reloc", (void **)funcTab, 124); iki_relocate(dp, "xsim.dir/CPU9bits_tb_behav/xsim.reloc", (void **)funcTab, 122);
/*Populate the transaction function pointer field in the whole net structure */ /*Populate the transaction function pointer field in the whole net structure */
} }

View File

@@ -1,6 +1,6 @@
webtalk_init -webtalk_dir C:/Users/JoseIgnacio/CA Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/ webtalk_init -webtalk_dir C:/Users/JoseIgnacio/CA Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/
webtalk_register_client -client project webtalk_register_client -client project
webtalk_add_data -client project -key date_generated -value "Thu Apr 11 21:13:26 2019" -context "software_version_and_target_device" webtalk_add_data -client project -key date_generated -value "Thu Apr 11 23:44:27 2019" -context "software_version_and_target_device"
webtalk_add_data -client project -key product_version -value "XSIM v2018.3 (64-bit)" -context "software_version_and_target_device" webtalk_add_data -client project -key product_version -value "XSIM v2018.3 (64-bit)" -context "software_version_and_target_device"
webtalk_add_data -client project -key build_version -value "2405991" -context "software_version_and_target_device" webtalk_add_data -client project -key build_version -value "2405991" -context "software_version_and_target_device"
webtalk_add_data -client project -key os_platform -value "WIN64" -context "software_version_and_target_device" webtalk_add_data -client project -key os_platform -value "WIN64" -context "software_version_and_target_device"
@@ -14,7 +14,7 @@ webtalk_add_data -client project -key target_package -value "not_applicable" -co
webtalk_add_data -client project -key target_speed -value "not_applicable" -context "software_version_and_target_device" webtalk_add_data -client project -key target_speed -value "not_applicable" -context "software_version_and_target_device"
webtalk_add_data -client project -key random_id -value "17336daf-0d92-4f07-b4a4-ff1c52043edb" -context "software_version_and_target_device" webtalk_add_data -client project -key random_id -value "17336daf-0d92-4f07-b4a4-ff1c52043edb" -context "software_version_and_target_device"
webtalk_add_data -client project -key project_id -value "0a5803efda44405bb28bbf43ba22e808" -context "software_version_and_target_device" webtalk_add_data -client project -key project_id -value "0a5803efda44405bb28bbf43ba22e808" -context "software_version_and_target_device"
webtalk_add_data -client project -key project_iteration -value "153" -context "software_version_and_target_device" webtalk_add_data -client project -key project_iteration -value "183" -context "software_version_and_target_device"
webtalk_add_data -client project -key os_name -value "Microsoft Windows 8 or later , 64-bit" -context "user_environment" webtalk_add_data -client project -key os_name -value "Microsoft Windows 8 or later , 64-bit" -context "user_environment"
webtalk_add_data -client project -key os_release -value "major release (build 9200)" -context "user_environment" webtalk_add_data -client project -key os_release -value "major release (build 9200)" -context "user_environment"
webtalk_add_data -client project -key cpu_name -value "Intel(R) Core(TM) i5-3230M CPU @ 2.60GHz" -context "user_environment" webtalk_add_data -client project -key cpu_name -value "Intel(R) Core(TM) i5-3230M CPU @ 2.60GHz" -context "user_environment"
@@ -22,11 +22,21 @@ webtalk_add_data -client project -key cpu_speed -value "2594 MHz" -context "user
webtalk_add_data -client project -key total_processors -value "1" -context "user_environment" webtalk_add_data -client project -key total_processors -value "1" -context "user_environment"
webtalk_add_data -client project -key system_ram -value "8.000 GB" -context "user_environment" webtalk_add_data -client project -key system_ram -value "8.000 GB" -context "user_environment"
webtalk_register_client -client xsim webtalk_register_client -client xsim
webtalk_add_data -client xsim -key Command -value "xsim" -context "xsim\\command_line_options" webtalk_add_data -client xsim -key File_Counter -value "12" -context "xsim\\command_line_options"
webtalk_add_data -client xsim -key trace_waveform -value "true" -context "xsim\\usage" webtalk_add_data -client xsim -key Command -value "xelab" -context "xsim\\command_line_options"
webtalk_add_data -client xsim -key runtime -value "315 ns" -context "xsim\\usage" webtalk_add_data -client xsim -key Vhdl2008 -value "false" -context "xsim\\command_line_options"
webtalk_add_data -client xsim -key iteration -value "0" -context "xsim\\usage" webtalk_add_data -client xsim -key GenDLL -value "false" -context "xsim\\command_line_options"
webtalk_add_data -client xsim -key Simulation_Time -value "0.06_sec" -context "xsim\\usage" webtalk_add_data -client xsim -key SDFModeling -value "false" -context "xsim\\command_line_options"
webtalk_add_data -client xsim -key Simulation_Memory -value "5980_KB" -context "xsim\\usage" webtalk_add_data -client xsim -key HWCosim -value "false" -context "xsim\\command_line_options"
webtalk_transmit -clientid 4273905684 -regid "" -xml C:/Users/JoseIgnacio/CA Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/usage_statistics_ext_xsim.xml -html C:/Users/JoseIgnacio/CA Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/usage_statistics_ext_xsim.html -wdm C:/Users/JoseIgnacio/CA Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/usage_statistics_ext_xsim.wdm -intro "<H3>XSIM Usage Report</H3><BR>" webtalk_add_data -client xsim -key DPI_Used -value "false" -context "xsim\\command_line_options"
webtalk_add_data -client xsim -key Debug -value "typical" -context "xsim\\command_line_options"
webtalk_add_data -client xsim -key Simulation_Image_Code -value "121 KB" -context "xsim\\usage"
webtalk_add_data -client xsim -key Simulation_Image_Data -value "26 KB" -context "xsim\\usage"
webtalk_add_data -client xsim -key Total_Nets -value "0" -context "xsim\\usage"
webtalk_add_data -client xsim -key Total_Processes -value "418" -context "xsim\\usage"
webtalk_add_data -client xsim -key Total_Instances -value "204" -context "xsim\\usage"
webtalk_add_data -client xsim -key Xilinx_HDL_Libraries_Used -value "secureip unimacro_ver unisims_ver " -context "xsim\\usage"
webtalk_add_data -client xsim -key Compiler_Time -value "1.41_sec" -context "xsim\\usage"
webtalk_add_data -client xsim -key Compiler_Memory -value "48168_KB" -context "xsim\\usage"
webtalk_transmit -clientid 3886063125 -regid "" -xml C:/Users/JoseIgnacio/CA Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/usage_statistics_ext_xsim.xml -html C:/Users/JoseIgnacio/CA Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/usage_statistics_ext_xsim.html -wdm C:/Users/JoseIgnacio/CA Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/usage_statistics_ext_xsim.wdm -intro "<H3>XSIM Usage Report</H3><BR>"
webtalk_terminate webtalk_terminate

Binary file not shown.

View File

@@ -850,8 +850,8 @@ module fDPipReg(
input wire clk, input wire clk,
input wire reset, input wire reset,
input wire En, input wire En,
input wire [50:0] Din, input wire [52:0] Din,
output reg [50:0] Dout); output reg [52:0] Dout);
always @(posedge clk) begin always @(posedge clk) begin
if (reset == 1'b1) begin if (reset == 1'b1) begin

View File

@@ -9,7 +9,8 @@ module CPU9bits(
wire [8:0] RFIn,FUAddr, op0_ext, op1_ext, wr_ext, op0_sub, op1_sub, op0_zero, op1_zero, op0_and, op1_and, newOp0, newOp1; wire [8:0] RFIn,FUAddr, op0_ext, op1_ext, wr_ext, op0_sub, op1_sub, op0_zero, op1_zero, op0_and, op1_and, newOp0, newOp1;
wire [1:0] instr, op0_idx, op1_idx; wire [1:0] instr, op0_idx, op1_idx;
wire fetchBranch, RegEn, compare0, compare1; wire fetchBranch, RegEn, compare0, compare1;
wire [50:0] FDOut, FDPipOut, EMIn; wire [50:0] EMIn;
wire [52:0] FDOut,FDPipOut;
wire [61:0] EMOut, EMPipOut; wire [61:0] EMOut, EMPipOut;
@@ -25,26 +26,26 @@ module CPU9bits(
.RFIn(RFIn), .RFIn(RFIn),
.AddrIn(FUAddr), .AddrIn(FUAddr),
.RFIdx(instr), .RFIdx(instr),
.result(FDOut), .result(FDOut), ////////////////////
.done(done), .done(done)
.compare0(compare0), //.compare0(compare0),
.compare1(compare1), //.compare1(compare1),
.op0_idx(op0_idx), //.op0_idx(op0_idx),
.op1_idx(op1_idx) //.op1_idx(op1_idx)
); );
fDPipReg pipe1( fDPipReg pipe1(
.clk(clk), .clk(clk),
.reset(reset), .reset(reset),
.En(1'b0), .En(1'b0),
.Din(FDOut), .Din(FDOut), ///////////////////
.Dout(FDPipOut) .Dout(FDPipOut)///////////////////
); );
EMModule EM( EMModule EM(
.reset(reset), .reset(reset),
.clk(clk), .clk(clk),
.PipIn(EMIn), .PipIn(EMIn),/////////////////
.PipOut(EMOut) .PipOut(EMOut)
); );
@@ -66,12 +67,12 @@ module CPU9bits(
); );
sign_extend_2bit ext0( sign_extend_2bit ext0(
.A(op0_idx), .A(FDPipOut[46:45]),
.B(op0_ext) .B(op0_ext)
); );
sign_extend_2bit ext1( sign_extend_2bit ext1(
.A(op1_idx), .A(FDPipOut[44:43]),
.B(op1_ext) .B(op1_ext)
); );
@@ -104,26 +105,28 @@ module CPU9bits(
and_9bit and0( and_9bit and0(
.A(~op0_zero), .A(~op0_zero),
.B({8'b00000000,compare0}), .B({8'b00000000,FDPipOut[52]}),
.C(op0_and) .C(op0_and)
); );
and_9bit and1( and_9bit and1(
.A(~op1_zero), .A(~op1_zero),
.B({8'b00000000,compare1}), .B({8'b00000000,FDPipOut[51]}),
.C(op1_and) .C(op1_and)
); );
mux_2_1 mux0( mux_2_1 mux0(
.switch(op0_and[0]), .switch(op0_and[0]),
.A(FDOut[41:33]), //.switch(1'b0),
.A(FDPipOut[41:33]),
.B(EMPipOut[33:25]), //ALUOut .B(EMPipOut[33:25]), //ALUOut
.out(newOp0) .out(newOp0)
); );
mux_2_1 mux1( mux_2_1 mux1(
.switch(op1_and[0]), .switch(op1_and[0]),
.A(FDOut[32:24]), //.switch(1'b0),
.A(FDPipOut[32:24]),
.B(EMPipOut[33:25]), //ALUOut .B(EMPipOut[33:25]), //ALUOut
.out(newOp1) .out(newOp1)
); );
@@ -154,7 +157,7 @@ module CPU9bits_tb();
reset = 1'b1; reset = 1'b1;
#10 #10
reset = 1'b0; reset = 1'b0;
#300 #200
$finish; $finish;
end end

View File

@@ -4,9 +4,9 @@ module FDModule(
input wire reset, clk, FUIdx, En, input wire reset, clk, FUIdx, En,
input wire [8:0] RFIn, AddrIn, input wire [8:0] RFIn, AddrIn,
input wire[1:0] RFIdx, input wire[1:0] RFIdx,
output wire [1:0] op0_idx, op1_idx, //output wire [1:0] op0_idx, op1_idx,
output wire [50:0] result, output wire [52:0] result,
output wire done, compare0, compare1 output wire done//, compare0, compare1
); );
@@ -16,9 +16,9 @@ module FDModule(
wire [1:0] bankS; wire [1:0] bankS;
wire addiS, RegEn, loadS, halt, link, js, dataMemEn ; wire addiS, RegEn, loadS, halt, link, js, dataMemEn ;
assign result = {instr,op0,op1,PCout,addiS,RegEn,loadS,link,js,dataMemEn,aluOp,FU,bankS}; // concat all signals into one assign result = {compare0,compare1,instr,op0,op1,PCout,addiS,RegEn,loadS,link,js,dataMemEn,aluOp,FU,bankS}; // concat all signals into one
assign op0_idx = instr[4:3]; //assign op0_idx = instr[4:3];46-45
assign op1_idx = instr[2:1]; //assign op1_idx = instr[2:1];44-43
instructionMemory iM( instructionMemory iM(

View File

@@ -97,107 +97,107 @@ module dataMemory(
// Program 1 Test Data // Program 1 Test Data
memory[0] <= 9'd100; // memory[0] <= 9'd100;
memory[1] <= 9'd58; // memory[1] <= 9'd58;
memory[2] <= 9'd6; // memory[2] <= 9'd6;
memory[3] <= 9'd12; // memory[3] <= 9'd12;
memory[4] <= 9'b110110000; // -80 // memory[4] <= 9'b110110000; // -80
memory[5] <= 9'd17; // memory[5] <= 9'd17;
memory[6] <= 9'b111011011; // -37 // memory[6] <= 9'b111011011; // -37
memory[7] <= 9'd25; // memory[7] <= 9'd25;
memory[8] <= -9'd83; // -83 // memory[8] <= -9'd83; // -83
memory[9] <= -9'd98; // -98 // memory[9] <= -9'd98; // -98
memory[10] <= -9'd98; // -98 // memory[10] <= -9'd98; // -98
memory[11] <= -9'd74; // -74 // memory[11] <= -9'd74; // -74
memory[12] <= 9'd70; // memory[12] <= 9'd70;
memory[13] <= -9'd38; // -38 // memory[13] <= -9'd38; // -38
memory[14] <= 9'd52; // memory[14] <= 9'd52;
memory[15] <= -9'd96; // -96 // memory[15] <= -9'd96; // -96
memory[16] <= -9'd32; // -32 // memory[16] <= -9'd32; // -32
memory[17] <= -9'd93; // -93 // memory[17] <= -9'd93; // -93
memory[18] <= -9'd40; // -40 // memory[18] <= -9'd40; // -40
memory[19] <= 9'd59; // memory[19] <= 9'd59;
memory[20] <= 9'd10; // memory[20] <= 9'd10;
memory[21] <= 9'd81; // memory[21] <= 9'd81;
memory[22] <= -9'd23; // -28 // memory[22] <= -9'd23; // -28
memory[23] <=- 9'd99; // -99 // memory[23] <=- 9'd99; // -99
memory[24] <= -9'd41; // -41 // memory[24] <= -9'd41; // -41
memory[25] <= 9'd33; // memory[25] <= 9'd33;
memory[26] <= 9'd98; // memory[26] <= 9'd98;
memory[27] <= 9'd73; // memory[27] <= 9'd73;
memory[28] <= -9'd1; // -1 // memory[28] <= -9'd1; // -1
memory[29] <= 9'd28; // memory[29] <= 9'd28;
memory[30] <= 9'd5; // memory[30] <= 9'd5;
memory[31] <= -9'd74; // -74 // memory[31] <= -9'd74; // -74
memory[32] <= -9'd41; // -41 // memory[32] <= -9'd41; // -41
memory[33] <= 9'd41; // memory[33] <= 9'd41;
memory[34] <= 9'd39; // memory[34] <= 9'd39;
memory[35] <= 9'd62; // memory[35] <= 9'd62;
memory[36] <= 9'd19; // memory[36] <= 9'd19;
memory[37] <= -9'd40; // -40 // memory[37] <= -9'd40; // -40
memory[38] <= -9'd8; // -8 // memory[38] <= -9'd8; // -8
memory[39] <= 9'd92; // memory[39] <= 9'd92;
memory[40] <= 9'd37; // memory[40] <= 9'd37;
memory[41] <= 9'd50; // memory[41] <= 9'd50;
memory[42] <= -9'd72; // -72 // memory[42] <= -9'd72; // -72
memory[43] <= -9'd5; // -5 // memory[43] <= -9'd5; // -5
memory[44] <= 9'd19; // memory[44] <= 9'd19;
memory[45] <= 9'd58; // memory[45] <= 9'd58;
memory[46] <= -9'd13; // -13 // memory[46] <= -9'd13; // -13
memory[47] <= 9'd0; // memory[47] <= 9'd0;
memory[48] <= -9'd97; // -97 // memory[48] <= -9'd97; // -97
memory[49] <= 9'd54; // memory[49] <= 9'd54;
memory[50] <= -9'd17; // -17 // memory[50] <= -9'd17; // -17
memory[51] <= -9'd83; // -83 // memory[51] <= -9'd83; // -83
memory[52] <= 9'd53; // memory[52] <= 9'd53;
memory[53] <= 9'd82; // memory[53] <= 9'd82;
memory[54] <= -9'd94; // -94 // memory[54] <= -9'd94; // -94
memory[55] <= -9'd77; // -77 // memory[55] <= -9'd77; // -77
memory[56] <= -9'd74; // -74 // memory[56] <= -9'd74; // -74
memory[57] <= -9'd52; // -52 // memory[57] <= -9'd52; // -52
memory[58] <= 9'd85; // memory[58] <= 9'd85;
memory[59] <= -9'd65; // -65 // memory[59] <= -9'd65; // -65
memory[60] <= -9'd10; // -10 // memory[60] <= -9'd10; // -10
memory[61] <= -9'd45; // -45 // memory[61] <= -9'd45; // -45
memory[62] <= -9'd92; // -92 // memory[62] <= -9'd92; // -92
memory[63] <= -9'd30; // -30 // memory[63] <= -9'd30; // -30
memory[64] <= 9'd18; // memory[64] <= 9'd18;
memory[65] <= -9'd95; // -95 // memory[65] <= -9'd95; // -95
memory[66] <= -9'd27; // -27 // memory[66] <= -9'd27; // -27
memory[67] <= -9'd74; // -74 // memory[67] <= -9'd74; // -74
memory[68] <= 9'd62; // memory[68] <= 9'd62;
memory[69] <= 9'd64; // memory[69] <= 9'd64;
memory[70] <= -9'd9; // -9 // memory[70] <= -9'd9; // -9
memory[71] <= 9'd66; // memory[71] <= 9'd66;
memory[72] <= -9'd71; // -71 // memory[72] <= -9'd71; // -71
memory[73] <= -9'd31; // -31 // memory[73] <= -9'd31; // -31
memory[74] <= 9'd34; // memory[74] <= 9'd34;
memory[75] <= 9'd12; // memory[75] <= 9'd12;
memory[76] <= 9'd3; // memory[76] <= 9'd3;
memory[77] <= 9'd82; // memory[77] <= 9'd82;
memory[78] <= 9'd13; // memory[78] <= 9'd13;
memory[79] <= -9'd78; // -78 // memory[79] <= -9'd78; // -78
memory[80] <= -9'd8; // -8 // memory[80] <= -9'd8; // -8
memory[81] <= 9'd88; // memory[81] <= 9'd88;
memory[82] <= 9'd42; // memory[82] <= 9'd42;
memory[83] <= 9'd42; // memory[83] <= 9'd42;
memory[84] <= 9'd21; // memory[84] <= 9'd21;
memory[85] <= -9'd44; // -44 // memory[85] <= -9'd44; // -44
memory[86] <= 9'd30; // memory[86] <= 9'd30;
memory[87] <= -9'd93; // -93 // memory[87] <= -9'd93; // -93
memory[88] <= 9'd2; // memory[88] <= 9'd2;
memory[89] <= -9'd34; // -34 // memory[89] <= -9'd34; // -34
memory[90] <= 9'd92; // memory[90] <= 9'd92;
memory[91] <= -9'd45; // -45 // memory[91] <= -9'd45; // -45
memory[92] <= 9'd26; // memory[92] <= 9'd26;
memory[93] <= -9'd79; // -79 // memory[93] <= -9'd79; // -79
memory[94] <= 9'd43; // memory[94] <= 9'd43;
memory[95] <= -9'd25; // -25 // memory[95] <= -9'd25; // -25
memory[96] <= -9'd24; // -24 // memory[96] <= -9'd24; // -24
memory[97] <= -9'd25; // -25 // memory[97] <= -9'd25; // -25
memory[98] <= -9'd19; // -19 // memory[98] <= -9'd19; // -19
memory[99] <= -9'd49; // -49 // memory[99] <= -9'd49; // -49
memory[100] <= -9'd8; // -8 // memory[100] <= -9'd8; // -8

View File

@@ -5,7 +5,7 @@ module instructionMemory(
output reg [8:0] readData output reg [8:0] readData
); );
reg [8:0] memory [8:0]; // Maximum of 512 memory locations reg [8:0] memory [18:0]; // Maximum of 512 memory locations
// Vivado will give warnings of unconnected ports on the "address" bus if they are unused // Vivado will give warnings of unconnected ports on the "address" bus if they are unused
initial begin initial begin
@@ -13,12 +13,19 @@ module instructionMemory(
memory[0] <= 9'b000000000; //Stall memory[0] <= 9'b000000000; //Stall
memory[1] <= 9'b000000000; //Stall memory[1] <= 9'b000000000; //Stall
memory[2] <= 9'b011000000; //addi memory[2] <= 9'b011000000; //addi
memory[3] <= 9'b011001001; //addi memory[3] <= 9'b000000000; //Stall
memory[4] <= 9'b000100000; //load memory[4] <= 9'b000000000; //Stall
memory[5] <= 9'b000101010; //load memory[5] <= 9'b011001001; //addi
memory[6] <= 9'b010100010; //add memory[6] <= 9'b000000000; //Stall
memory[7] <= 9'b111100000; //shift left memory[7] <= 9'b000000000; //Stall
memory[8] <= 9'b111100000; //shift left memory[8] <= 9'b000100000; //load
memory[9] <= 9'b000000000; //Stall
memory[10] <= 9'b000101010; //load
memory[11] <= 9'b010100010; //add
memory[12] <= 9'b111100000; //shift left
memory[13] <= 9'b111100000; //shift left
memory[14] <= 9'b000000000; //Stall
memory[15] <= 9'b000000000; //Stall
// //Testing all instructions // //Testing all instructions
// memory[6] <= 9'b010100011; //sub // memory[6] <= 9'b010100011; //sub

View File

@@ -3,7 +3,7 @@
<!-- --> <!-- -->
<!-- Copyright 1986-2018 Xilinx, Inc. All Rights Reserved. --> <!-- Copyright 1986-2018 Xilinx, Inc. All Rights Reserved. -->
<Project Version="7" Minor="39" Path="C:/REPOSITORIES/Educational/Western Michigan University/ECE3570-Lab/lab2CA.xpr"> <Project Version="7" Minor="39" Path="C:/Users/JoseIgnacio/CA Lab/lab2CA.xpr">
<DefaultLaunch Dir="$PRUNDIR"/> <DefaultLaunch Dir="$PRUNDIR"/>
<Configuration> <Configuration>
<Option Name="Id" Val="0a5803efda44405bb28bbf43ba22e808"/> <Option Name="Id" Val="0a5803efda44405bb28bbf43ba22e808"/>
@@ -31,7 +31,7 @@
<Option Name="EnableBDX" Val="FALSE"/> <Option Name="EnableBDX" Val="FALSE"/>
<Option Name="DSAVendor" Val="xilinx"/> <Option Name="DSAVendor" Val="xilinx"/>
<Option Name="DSANumComputeUnits" Val="60"/> <Option Name="DSANumComputeUnits" Val="60"/>
<Option Name="WTXSimLaunchSim" Val="386"/> <Option Name="WTXSimLaunchSim" Val="417"/>
<Option Name="WTModelSimLaunchSim" Val="0"/> <Option Name="WTModelSimLaunchSim" Val="0"/>
<Option Name="WTQuestaLaunchSim" Val="0"/> <Option Name="WTQuestaLaunchSim" Val="0"/>
<Option Name="WTIesLaunchSim" Val="0"/> <Option Name="WTIesLaunchSim" Val="0"/>