File tree Expand file tree Collapse file tree 4 files changed +26
-5
lines changed
Expand file tree Collapse file tree 4 files changed +26
-5
lines changed Original file line number Diff line number Diff line change @@ -18,8 +18,8 @@ class Core extends Module {
1818 val dispatcher = Module (new Dispatcher ());
1919 val thread = Module (new Thread ());
2020
21- memory.io.readPorts(0 ).enable := 3 . U * dispatcher.io.read_requested;
22- memory.io.readPorts(0 ).address := dispatcher.io.read_program_pointer;
21+ memory.io.readPorts(0 ).enable := dispatcher.io.read_requested;
22+ memory.io.readPorts(0 ).address := 3 . U * dispatcher.io.read_program_pointer;
2323 memory.io.readPorts(1 ).enable := dispatcher.io.read_requested;
2424 memory.io.readPorts(1 ).address := 3 .U * dispatcher.io.read_program_pointer + 1 .U ;
2525 memory.io.readPorts(2 ).enable := dispatcher.io.read_requested;
Original file line number Diff line number Diff line change @@ -50,7 +50,7 @@ class Dispatcher extends Module {
5050 printf(p " \t [Dispatcher]===== " );
5151 printf(p " \n\t\t Read Complete ${io.read_opcode}" );
5252 printf(p " \n\t\t Immediate Lower ${io.read_immediate_l}" );
53- printf(p " \n\t\t Immediate Upper ${io.read_immediate_u}" );
53+ printf(p " \n\t\t Immediate Upper ${io.read_immediate_u}\n\n " );
5454
5555 opcode := Operation .safe(io.read_opcode(6 , 3 ))._1;
5656
Original file line number Diff line number Diff line change @@ -24,7 +24,7 @@ class Thread extends Module {
2424
2525 val register_a = RegInit (2 .U (16 .W ));
2626 val register_b = RegInit (3 .U (16 .W ));
27- val register_c = RegInit (0 .U (16 .W ));
27+ val register_c = RegInit (7 .U (16 .W ));
2828
2929 val alu = Module (new Alu ())
3030 alu.io.execute := false .B ;
@@ -99,6 +99,8 @@ class Thread extends Module {
9999 printf(p " \n\t\t a= ${register_a}" );
100100 printf(p " \n\t\t b= ${register_b}" );
101101 printf(p " \n\t\t c= ${register_c}" );
102+ printf(p " \n\t\t Src Register= ${io.src_register}" );
103+ printf(p " \n\t\t Dst Register= ${io.dst_register}" );
102104 printf(p " \n\n " );
103105 }
104106}
Original file line number Diff line number Diff line change @@ -7,10 +7,14 @@ class CoreTest extends AnyFlatSpec with ChiselScalatestTester {
77 test(new Core ) { dut =>
88 dut.io.debug_memory_write.poke(true .B );
99 dut.io.debug_memory_write_address.poke(0 .U (8 .W ));
10- dut.io.debug_memory_write_data.poke(0b00100000 .U (8 .W ));
10+ dut.io.debug_memory_write_data.poke(0b00100010 .U (8 .W ));
1111
1212 println(" [CoreTest]=====" );
1313 dut.clock.step(1 );
14+
15+ dut.io.debug_memory_write.poke(true .B );
16+ dut.io.debug_memory_write_address.poke(3 .U (8 .W ));
17+ dut.io.debug_memory_write_data.poke(0b00100001 .U (8 .W ));
1418
1519 println(" [CoreTest]=====" );
1620 dut.clock.step(1 );
@@ -26,6 +30,21 @@ class CoreTest extends AnyFlatSpec with ChiselScalatestTester {
2630
2731 println(" [CoreTest]=====" );
2832 dut.clock.step(1 );
33+
34+ println(" [CoreTest]=====" );
35+ dut.clock.step(1 );
36+
37+ println(" [CoreTest]=====" );
38+ dut.clock.step(1 );
39+
40+ println(" [CoreTest]=====" );
41+ dut.clock.step(1 );
42+
43+ println(" [CoreTest]=====" );
44+ dut.clock.step(1 );
45+
46+ println(" [CoreTest]=====" );
47+ dut.clock.step(1 );
2948 }
3049 }
3150}
You can’t perform that action at this time.
0 commit comments