Showing
22 changed files
with
99 additions
and
708 deletions
Project/SingleCycle/ALU.v.bak
deleted
100644 → 0
1 | -module ALU(clk, aluin1, aluin2, aluctrl, aluout, alubranch); | ||
2 | - | ||
3 | -input clk; | ||
4 | -input[31:0] aluin1, aluin2; | ||
5 | -input[3:0] aluctrl; | ||
6 | -output reg[31:0] aluout; | ||
7 | -output alubranch; | ||
8 | - | ||
9 | -reg overflow; | ||
10 | -reg[63:0] temp; | ||
11 | -reg[31:0] HI, LO; // HI, LO register for multiplication and division. | ||
12 | -reg[31:0] HI, LO; // HI, LO register for multiplication and division. | ||
13 | - | ||
14 | -assign alubranch = aluout == 32'h00000000 ? 1'b1 : 1'b0; | ||
15 | - | ||
16 | -initial begin | ||
17 | - temp = 64'h0000000000000000; | ||
18 | - tempHI = 32'h00000000; | ||
19 | - tempLO = 32'h00000000; | ||
20 | - HI = 32'h00000000; | ||
21 | - LO = 32'h00000000; | ||
22 | -end | ||
23 | - | ||
24 | -always @(*) begin | ||
25 | -overflow = 0; | ||
26 | -case(aluctrl) | ||
27 | - 4'b0000: aluout <= aluin1 & aluin2; // and | ||
28 | - 4'b0001: aluout <= aluin1 | aluin2; // or | ||
29 | - 4'b0010: begin // add | ||
30 | - aluout = aluin1 + aluin2; | ||
31 | - overflow = aluin1[31]==aluin2[31] && aluin1[31]!=aluout[31] ? 1'b1 : 1'b0; // overflow detection. | ||
32 | - end | ||
33 | - 4'b0110: begin // sub | ||
34 | - aluout = aluin1 - aluin2; | ||
35 | - overflow = aluin1[31]!=aluin2[31] && aluin1[31]!=aluout[31] ? 1'b1 : 1'b0; // overflow detection. | ||
36 | - end | ||
37 | - | ||
38 | - 4'b0111: begin // slt | ||
39 | - aluout[31:1] = {31{1'b0}}; | ||
40 | - aluout[0] = aluin1 < aluin2 ? 1'b1 : 1'b0; | ||
41 | - end | ||
42 | - 4'b1000: begin // mult | ||
43 | - temp = aluin1 * aluin2; | ||
44 | - tempHI <= temp[63:32]; | ||
45 | - tempLO <= temp[31:0]; | ||
46 | - end | ||
47 | - 4'b1001: begin // div | ||
48 | - tempHI <= aluin1 % aluin2; | ||
49 | - tempLO <= aluin1 / aluin2; | ||
50 | - end | ||
51 | - 4'b1010: aluout <= HI; // mfhi | ||
52 | - 4'b1011: aluout <= LO; // mflo | ||
53 | - 4'b1100: aluout <= ~(aluin1 | aluin2); // nor | ||
54 | - 4'b1101: aluout <= aluin1 ^ aluin2; // xor | ||
55 | - default: aluout <= 32'b0; | ||
56 | -endcase | ||
57 | -end | ||
58 | - | ||
59 | -always @(negedge clk) begin | ||
60 | - case(aluctrl) | ||
61 | - 4'b1000: begin // mult | ||
62 | - HI <= tempHI; | ||
63 | - LO <= tempLO; | ||
64 | - end | ||
65 | - 4'b1001: begin // div | ||
66 | - HI <= tempHI; | ||
67 | - LO <= tempLO; | ||
68 | - end | ||
69 | - endcase | ||
70 | - tempHI = 32'd0; | ||
71 | - tempLO = 32'd0; | ||
72 | -end | ||
73 | - | ||
74 | -endmodule |
Project/SingleCycle/ALU_Control.v
deleted
100644 → 0
1 | -module ALUControl(funct, aluop, aluctrl); | ||
2 | - | ||
3 | -input[5:0] funct; | ||
4 | -input[1:0] aluop; | ||
5 | -output reg[3:0] aluctrl; | ||
6 | - | ||
7 | -always @(*) begin | ||
8 | - case(aluop) | ||
9 | - 2'b00: aluctrl = 4'b0010; // add | ||
10 | - 2'b01: aluctrl = 4'b0110; // sub | ||
11 | - 2'b10: case(funct) // R type instruction | ||
12 | - 6'b100000: aluctrl = 4'b0010; // add | ||
13 | - // 6'b100001: aluctrl = 4'b0010; // addu | ||
14 | - 6'b100010: aluctrl = 4'b0110; // sub | ||
15 | - // 6'b100011: aluctrl = 4'b0110; // subu | ||
16 | - 6'b100100: aluctrl = 4'b0000; // and | ||
17 | - 6'b100101: aluctrl = 4'b0001; // or | ||
18 | - 6'b100110: aluctrl = 4'b1101; // xor | ||
19 | - 6'b011000: aluctrl = 4'b1000; // mult | ||
20 | - // 6'b011001: aluctrl = 4'b1000; // multu | ||
21 | - 6'b011010: aluctrl = 4'b1001; // div | ||
22 | - // 6'b011011: aluctrl = 4'b1001; // divu | ||
23 | - 6'b101010: aluctrl = 4'b0111; // slt | ||
24 | - // 6'b101011: aluctrl = 4'b0111; // sltu | ||
25 | - 6'b010000: aluctrl = 4'b1010; // mfhi | ||
26 | - 6'b010010: aluctrl = 4'b1011; // mflo | ||
27 | - | ||
28 | - default: aluctrl = 4'b1111; | ||
29 | - endcase | ||
30 | - default: aluctrl = 4'b1111; | ||
31 | - endcase | ||
32 | -end | ||
33 | - | ||
34 | -endmodule |
Project/SingleCycle/Control.v.bak
deleted
100644 → 0
1 | -module Control(opcode, funct, regdst, regwrite, alusrc, aluctrl, memread, memwrite, memtoreg, branch, jump, jumpreg); | ||
2 | - | ||
3 | -input[5:0] opcode; | ||
4 | -input[5:0] funct; | ||
5 | -output reg regdst, regwrite, alusrc, memread, memwrite, memtoreg, branch, jump, jumpreg; | ||
6 | -output reg[3:0] aluctrl; | ||
7 | - | ||
8 | -always @(*) begin | ||
9 | - case(opcode) | ||
10 | - 6'b000000: begin // R type instruction | ||
11 | - regdst = 1'b1; | ||
12 | - regwrite = 1'b1; | ||
13 | - alusrc = 1'b0; | ||
14 | - memread = 1'b0; | ||
15 | - memwrite = 1'b0; | ||
16 | - memtoreg = 1'b0; | ||
17 | - branch = 1'b0; | ||
18 | - jump = 1'b0; | ||
19 | - jumpreg = 1'b0; | ||
20 | - case(funct) | ||
21 | - 6'b100000: aluctrl = 4'b0010; // add | ||
22 | - 6'b100001: aluctrl = 4'b0010; // addu | ||
23 | - 6'b100010: aluctrl = 4'b0110; // sub | ||
24 | - 6'b100011: aluctrl = 4'b0110; // subu | ||
25 | - 6'b100100: aluctrl = 4'b0000; // and | ||
26 | - 6'b100101: aluctrl = 4'b0001; // or | ||
27 | - 6'b100110: aluctrl = 4'b1101; // xor | ||
28 | - 6'b011000: aluctrl = 4'b1000; // mult | ||
29 | - 6'b011001: aluctrl = 4'b1000; // multu | ||
30 | - 6'b011010: aluctrl = 4'b1001; // div | ||
31 | - 6'b011011: aluctrl = 4'b1001; // divu | ||
32 | - 6'b101010: aluctrl = 4'b0111; // slt | ||
33 | - 6'b101011: aluctrl = 4'b0111; // sltu | ||
34 | - 6'b010000: aluctrl = 4'b1010; // mfhi | ||
35 | - 6'b010010: aluctrl = 4'b1011; // mflo | ||
36 | - 6'b001000: begin // jr | ||
37 | - // regdst = 1'bx; | ||
38 | - regwrite = 1'b0; | ||
39 | - // alusrc = 1'bx; | ||
40 | - aluctrl = 4'b1111; | ||
41 | - memread = 1'b0; | ||
42 | - memwrite = 1'b0; | ||
43 | - // memtoreg = 1'bx; | ||
44 | - branch = 1'b0; | ||
45 | - jump = 1'b0; | ||
46 | - jumpreg = 1'b1; | ||
47 | - end | ||
48 | - default: aluctrl = 4'b1111; | ||
49 | - endcase | ||
50 | - end | ||
51 | - | ||
52 | - 6'b001000: begin // addi instruction | ||
53 | - regdst = 1'b0; | ||
54 | - regwrite = 1'b1; | ||
55 | - alusrc = 1'b1; | ||
56 | - aluctrl = 4'b0010; // add | ||
57 | - memread = 1'b0; | ||
58 | - memwrite = 1'b0; | ||
59 | - memtoreg = 1'b0; | ||
60 | - branch = 1'b0; | ||
61 | - jump = 1'b0; | ||
62 | - jumpreg = 1'b0; | ||
63 | - end | ||
64 | - | ||
65 | - 6'b001001: begin // addiu instruction | ||
66 | - regdst = 1'b0; | ||
67 | - regwrite = 1'b1; | ||
68 | - alusrc = 1'b1; | ||
69 | - aluctrl = 4'b0010; // add | ||
70 | - memread = 1'b0; | ||
71 | - memwrite = 1'b0; | ||
72 | - memtoreg = 1'b0; | ||
73 | - branch = 1'b0; | ||
74 | - jump = 1'b0; | ||
75 | - jumpreg = 1'b0; | ||
76 | - end | ||
77 | - | ||
78 | - 6'b001100: begin // andi instruction | ||
79 | - regdst = 1'b0; | ||
80 | - regwrite = 1'b1; | ||
81 | - alusrc = 1'b1; | ||
82 | - aluctrl = 4'b0000; // and | ||
83 | - memread = 1'b0; | ||
84 | - memwrite = 1'b0; | ||
85 | - memtoreg = 1'b0; | ||
86 | - branch = 1'b0; | ||
87 | - jump = 1'b0; | ||
88 | - jumpreg = 1'b0; | ||
89 | - end | ||
90 | - | ||
91 | - 6'b000100: begin // beq instruction | ||
92 | - // regdst = 1'bx; // don't care | ||
93 | - regwrite = 1'b0; | ||
94 | - alusrc = 1'b0; | ||
95 | - aluctrl = 4'b0110; // sub | ||
96 | - memread = 1'b0; | ||
97 | - memwrite = 1'b0; | ||
98 | - // memtoreg = 1'bx; | ||
99 | - branch = 1'b1; | ||
100 | - jump = 1'b0; | ||
101 | - jumpreg = 1'b0; | ||
102 | - end | ||
103 | - | ||
104 | - 6'b000010: begin // jump instruction | ||
105 | - // regdst = 1'bx; | ||
106 | - regwrite = 1'b0; | ||
107 | - // alusrc = 1'bx; | ||
108 | - aluctrl = 4'b1111; | ||
109 | - memread = 1'b0; | ||
110 | - memwrite = 1'b0; | ||
111 | - // memtoreg = 1'bx; | ||
112 | - branch = 1'b0; | ||
113 | - jump = 1'b1; | ||
114 | - jumpreg = 1'b0; | ||
115 | - end | ||
116 | - | ||
117 | - 6'b100011: begin // lw instruction | ||
118 | - regdst = 1'b0; | ||
119 | - regwrite = 1'b1; | ||
120 | - alusrc = 1'b1; | ||
121 | - aluctrl = 4'b0010; // add | ||
122 | - memread = 1'b1; | ||
123 | - memwrite = 1'b0; | ||
124 | - memtoreg = 1'b1; | ||
125 | - branch = 1'b0; | ||
126 | - jump = 1'b0; | ||
127 | - jumpreg = 1'b0; | ||
128 | - end | ||
129 | - | ||
130 | - 6'b101011: begin // sw instruction | ||
131 | - regdst = 1'b0; | ||
132 | - regwrite = 1'b0; | ||
133 | - alusrc = 1'b1; | ||
134 | - aluctrl = 4'b0010; // add | ||
135 | - memread = 1'b0; | ||
136 | - memwrite = 1'b1; | ||
137 | - // memtoreg = 1'bx; | ||
138 | - branch = 1'b0; | ||
139 | - jump = 1'b0; | ||
140 | - jumpreg = 1'b0; | ||
141 | - end | ||
142 | - | ||
143 | - default: begin // unknown instruction | ||
144 | - // regdst = 1'bx; | ||
145 | - regwrite = 1'b0; | ||
146 | - // alusrc = 1'bx; | ||
147 | - aluctrl = 4'b1111; | ||
148 | - memread = 1'b0; | ||
149 | - memwrite = 1'b0; | ||
150 | - // memtoreg = 1'bx; | ||
151 | - branch = 1'b0; | ||
152 | - jump = 1'b0; | ||
153 | - jumpreg = 1'b0; | ||
154 | - end | ||
155 | - endcase | ||
156 | -end | ||
157 | - | ||
158 | -endmodule |
1 | -module DataMemory(clk, address, writedata, memread, memwrite, readdata); | ||
2 | - | ||
3 | -input clk; | ||
4 | -input[31:0] address, writedata; | ||
5 | -input memread, memwrite; | ||
6 | -output[31:0] readdata; | ||
7 | - | ||
8 | -reg[31:0] mem[255:0]; | ||
9 | - | ||
10 | -assign readdata = memread ? mem[address/4] : writedata; | ||
11 | - | ||
12 | -always @(negedge clk) begin | ||
13 | - if(memwrite==1'b1) begin | ||
14 | - mem[address/4] = writedata; | ||
15 | - end | ||
16 | -end | ||
17 | - | ||
18 | -endmodule |
1 | -module InstructionMemory(address, instruction); | ||
2 | - | ||
3 | -input[31:0] address; | ||
4 | -output reg[31:0] instruction; | ||
5 | - | ||
6 | -reg[31:0] instr_mem[127:0]; | ||
7 | - | ||
8 | -initial begin | ||
9 | -instr_mem[0] = 32'd0; | ||
10 | -instr_mem[1] = 32'b00100100000010000000000011111111; // addi $0 $8 255 | ||
11 | -instr_mem[2] = 32'b00000001000010000100100000100000; // add $8 $8 $9 | ||
12 | -instr_mem[3] = 32'b00000001000000000101000000100000; // add $8 $0 $10 | ||
13 | -instr_mem[4] = 32'b00010001000010110000000000000001; // beq $8 $11 +1 | ||
14 | -instr_mem[5] = 32'b00000001000010010000000000011000; // mult $8 $9 | ||
15 | -instr_mem[6] = 32'd0; | ||
16 | -instr_mem[7] = 32'b00000000000000000110000000010000; // mfhi $12 | ||
17 | -instr_mem[8] = 32'b00000000000000000110100000010010; // mflo $13 | ||
18 | -instr_mem[9] = 32'b10101100000011010000000000111100; // sw $0 $13 60 | ||
19 | -instr_mem[10] = 32'd0; | ||
20 | -instr_mem[11] = 32'b00010001000010110000000000000001; // beq $8 $11 +1 | ||
21 | -instr_mem[12] = 32'b10001100000000010000000000111100; // lw $0 $1 60 | ||
22 | -instr_mem[13] = 32'd0; | ||
23 | - | ||
24 | -end | ||
25 | - | ||
26 | -always @ (*) begin | ||
27 | - instruction = instr_mem[address/4]; | ||
28 | -end | ||
29 | - | ||
30 | -endmodule |
1 | -{D:/class/Capstone1/KNW_Project2/Project/SingleCycle/Data Memory.v} {1 {vlog -work work -stats=none {D:/class/Capstone1/KNW_Project2/Project/SingleCycle/Data Memory.v} | 1 | +D:/class/Capstone1/KNW_Project2/Project/SingleCycle/ShiftLeft2.v {1 {vlog -work work -stats=none D:/class/Capstone1/KNW_Project2/Project/SingleCycle/ShiftLeft2.v |
2 | -Model Technology ModelSim PE Student Edition vlog 10.4a Compiler 2015.03 Apr 7 2015 | ||
3 | --- Compiling module DataMemory | ||
4 | - | ||
5 | -Top level modules: | ||
6 | - DataMemory | ||
7 | - | ||
8 | -} {} {}} D:/class/Capstone1/KNW_Project2/Project/SingleCycle/ShiftLeft2.v {1 {vlog -work work -stats=none D:/class/Capstone1/KNW_Project2/Project/SingleCycle/ShiftLeft2.v | ||
9 | Model Technology ModelSim PE Student Edition vlog 10.4a Compiler 2015.03 Apr 7 2015 | 2 | Model Technology ModelSim PE Student Edition vlog 10.4a Compiler 2015.03 Apr 7 2015 |
10 | -- Compiling module ShiftLeft2 | 3 | -- Compiling module ShiftLeft2 |
11 | 4 | ||
... | @@ -19,6 +12,20 @@ Model Technology ModelSim PE Student Edition vlog 10.4a Compiler 2015.03 Apr 7 | ... | @@ -19,6 +12,20 @@ Model Technology ModelSim PE Student Edition vlog 10.4a Compiler 2015.03 Apr 7 |
19 | Top level modules: | 12 | Top level modules: |
20 | InstructionMemory | 13 | InstructionMemory |
21 | 14 | ||
15 | +} {} {}} {D:/class/Capstone1/KNW_Project2/Project/SingleCycle/Data Memory.v} {1 {vlog -work work -stats=none {D:/class/Capstone1/KNW_Project2/Project/SingleCycle/Data Memory.v} | ||
16 | +Model Technology ModelSim PE Student Edition vlog 10.4a Compiler 2015.03 Apr 7 2015 | ||
17 | +-- Compiling module DataMemory | ||
18 | + | ||
19 | +Top level modules: | ||
20 | + DataMemory | ||
21 | + | ||
22 | +} {} {}} D:/class/Capstone1/KNW_Project2/Project/SingleCycle/testbench.v {1 {vlog -work work -stats=none D:/class/Capstone1/KNW_Project2/Project/SingleCycle/testbench.v | ||
23 | +Model Technology ModelSim PE Student Edition vlog 10.4a Compiler 2015.03 Apr 7 2015 | ||
24 | +-- Compiling module testbench | ||
25 | + | ||
26 | +Top level modules: | ||
27 | + testbench | ||
28 | + | ||
22 | } {} {}} D:/class/Capstone1/KNW_Project2/Project/SingleCycle/clock.v {1 {vlog -work work -stats=none D:/class/Capstone1/KNW_Project2/Project/SingleCycle/clock.v | 29 | } {} {}} D:/class/Capstone1/KNW_Project2/Project/SingleCycle/clock.v {1 {vlog -work work -stats=none D:/class/Capstone1/KNW_Project2/Project/SingleCycle/clock.v |
23 | Model Technology ModelSim PE Student Edition vlog 10.4a Compiler 2015.03 Apr 7 2015 | 30 | Model Technology ModelSim PE Student Edition vlog 10.4a Compiler 2015.03 Apr 7 2015 |
24 | -- Compiling module Clock | 31 | -- Compiling module Clock |
... | @@ -33,12 +40,12 @@ Model Technology ModelSim PE Student Edition vlog 10.4a Compiler 2015.03 Apr 7 | ... | @@ -33,12 +40,12 @@ Model Technology ModelSim PE Student Edition vlog 10.4a Compiler 2015.03 Apr 7 |
33 | Top level modules: | 40 | Top level modules: |
34 | Adder | 41 | Adder |
35 | 42 | ||
36 | -} {} {}} D:/class/Capstone1/KNW_Project2/Project/SingleCycle/testbench.v {1 {vlog -work work -stats=none D:/class/Capstone1/KNW_Project2/Project/SingleCycle/testbench.v | 43 | +} {} {}} D:/class/Capstone1/KNW_Project2/Project/SingleCycle/SignExtend.v {1 {vlog -work work -stats=none D:/class/Capstone1/KNW_Project2/Project/SingleCycle/SignExtend.v |
37 | Model Technology ModelSim PE Student Edition vlog 10.4a Compiler 2015.03 Apr 7 2015 | 44 | Model Technology ModelSim PE Student Edition vlog 10.4a Compiler 2015.03 Apr 7 2015 |
38 | --- Compiling module testbench | 45 | +-- Compiling module SignExtend |
39 | 46 | ||
40 | Top level modules: | 47 | Top level modules: |
41 | - testbench | 48 | + SignExtend |
42 | 49 | ||
43 | } {} {}} D:/class/Capstone1/KNW_Project2/Project/SingleCycle/Register.v {1 {vlog -work work -stats=none D:/class/Capstone1/KNW_Project2/Project/SingleCycle/Register.v | 50 | } {} {}} D:/class/Capstone1/KNW_Project2/Project/SingleCycle/Register.v {1 {vlog -work work -stats=none D:/class/Capstone1/KNW_Project2/Project/SingleCycle/Register.v |
44 | Model Technology ModelSim PE Student Edition vlog 10.4a Compiler 2015.03 Apr 7 2015 | 51 | Model Technology ModelSim PE Student Edition vlog 10.4a Compiler 2015.03 Apr 7 2015 |
... | @@ -54,13 +61,6 @@ Model Technology ModelSim PE Student Edition vlog 10.4a Compiler 2015.03 Apr 7 | ... | @@ -54,13 +61,6 @@ Model Technology ModelSim PE Student Edition vlog 10.4a Compiler 2015.03 Apr 7 |
54 | Top level modules: | 61 | Top level modules: |
55 | Control | 62 | Control |
56 | 63 | ||
57 | -} {} {}} D:/class/Capstone1/KNW_Project2/Project/SingleCycle/SignExtend.v {1 {vlog -work work -stats=none D:/class/Capstone1/KNW_Project2/Project/SingleCycle/SignExtend.v | ||
58 | -Model Technology ModelSim PE Student Edition vlog 10.4a Compiler 2015.03 Apr 7 2015 | ||
59 | --- Compiling module SignExtend | ||
60 | - | ||
61 | -Top level modules: | ||
62 | - SignExtend | ||
63 | - | ||
64 | } {} {}} D:/class/Capstone1/KNW_Project2/Project/SingleCycle/ALU.v {1 {vlog -work work -stats=none D:/class/Capstone1/KNW_Project2/Project/SingleCycle/ALU.v | 64 | } {} {}} D:/class/Capstone1/KNW_Project2/Project/SingleCycle/ALU.v {1 {vlog -work work -stats=none D:/class/Capstone1/KNW_Project2/Project/SingleCycle/ALU.v |
65 | Model Technology ModelSim PE Student Edition vlog 10.4a Compiler 2015.03 Apr 7 2015 | 65 | Model Technology ModelSim PE Student Edition vlog 10.4a Compiler 2015.03 Apr 7 2015 |
66 | -- Compiling module ALU | 66 | -- Compiling module ALU | ... | ... |
Project/SingleCycle/Mux.v.bak
deleted
100644 → 0
1 | -module Mux32bit(muxin1, muxin2, signal, muxout); | ||
2 | - | ||
3 | -input[31:0] muxin1, muxin2; | ||
4 | -input signal; | ||
5 | -output reg[31:0] muxout; | ||
6 | - | ||
7 | -always @(*) begin | ||
8 | -case(signal) | ||
9 | - 1'b0: muxout = muxin1; | ||
10 | - 1'b1: muxout = muxin2; | ||
11 | -endcase | ||
12 | -end | ||
13 | - | ||
14 | -endmodule | ||
15 | - | ||
16 | -module Mux5bit(muxin1, muxin2, signal, muxout); | ||
17 | - | ||
18 | -input[4:0] muxin1, muxin2; | ||
19 | -input signal; | ||
20 | -output reg[4:0] muxout; | ||
21 | - | ||
22 | -always @(*) begin | ||
23 | -case(signal) | ||
24 | - 1'b0: muxout = muxin1; | ||
25 | - 1'b1: muxout = muxin2; | ||
26 | -endcase | ||
27 | -end | ||
28 | - | ||
29 | -endmodule | ||
30 | - | ||
31 | -module Mux32bit4x1(muxin1, muxin2, muxin3, signal, muxout); | ||
32 | - | ||
33 | -input[31:0] muxin1, muxin2, muxin3; | ||
34 | -input[1:0] signal; | ||
35 | -output reg[31:0] muxout; | ||
36 | - | ||
37 | -always @(*) begin | ||
38 | -case(signal) | ||
39 | - 2'b00: muxout = muxin1; | ||
40 | - 2'b01: muxout = muxin2; | ||
41 | - 2'b11: muxout = muxin3; | ||
42 | -endcase | ||
43 | -end | ||
44 | - | ||
45 | -endmodule |
Project/SingleCycle/Register.v.bak
deleted
100644 → 0
1 | -module Register(clk, readin1, readin2, writein, writedata, regwrite, regout1, regout2); | ||
2 | - | ||
3 | -input clk; | ||
4 | -input[4:0] readin1, readin2, writein; | ||
5 | -input[31:0] writedata; | ||
6 | -input regwrite; | ||
7 | -output[31:0] regout1, regout2; | ||
8 | - | ||
9 | -integer i; | ||
10 | -reg[31:0] register[31:0]; | ||
11 | - | ||
12 | -assign regout1 = register[readin1]; | ||
13 | -assign regout2 = register[readin2]; | ||
14 | - | ||
15 | -initial begin | ||
16 | - for(i=0; i<32; i=i+1) register[i] = 32'd0; | ||
17 | -end | ||
18 | - | ||
19 | -always @(*) begin | ||
20 | - if(regwrite == 1'b1 && writein != 5'd0) begin | ||
21 | - register[writein] = writedata; | ||
22 | - end | ||
23 | -end | ||
24 | - | ||
25 | -endmodule |
Project/SingleCycle/testbench.v.bak
deleted
100644 → 0
1 | -module testbench; | ||
2 | - | ||
3 | -wire clk; // clock | ||
4 | -reg[31:0] PC; // program counter | ||
5 | -reg[31:0] instr_address; | ||
6 | -wire[31:0] addPC4, addPCbranch, tempPC_branch, tempPC_jump, nextPC; | ||
7 | - | ||
8 | -wire[31:0] instr; // loaded instruction. | ||
9 | - | ||
10 | -wire[4:0] reg_writereg1; // register number for the write data. | ||
11 | -wire[31:0] reg_writedata; // data that will be written in the register. | ||
12 | -wire[31:0] reg_readdata1, reg_readdata2; // data from the requested register. | ||
13 | - | ||
14 | -wire[31:0] alu_input2; // input data of ALU. | ||
15 | -wire[31:0] alu_result; // result data of ALU. | ||
16 | -wire alu_branch; // indicator for branch operation. | ||
17 | - | ||
18 | -wire[31:0] mem_readdata; // data from the requested address. | ||
19 | - | ||
20 | -wire ctrl_regdst, ctrl_regwrite, ctrl_alusrc, ctrl_memread, ctrl_memwrite, ctrl_memtoreg, ctrl_branch, ctrl_jump, ctrl_jumpreg; | ||
21 | -wire[3:0] ctrl_aluctrl; // control signals. | ||
22 | - | ||
23 | -wire[31:0] extend_output; | ||
24 | - | ||
25 | -wire[31:0] shiftBranch_output; | ||
26 | -wire[31:0] shiftJump_output; | ||
27 | - | ||
28 | -Clock clock(clk); | ||
29 | -InstructionMemory instrmem(instr_address, instr); | ||
30 | -Register register(clk, instr[25:21], instr[20:16], reg_writereg1, reg_writedata, ctrl_regwrite, reg_readdata1, reg_readdata2); | ||
31 | -ALU alu(clk, reg_readdata1, alu_input2, ctrl_aluctrl, alu_result, alu_branch); | ||
32 | -DataMemory datamem(clk, alu_result, reg_readdata2, ctrl_memread, ctrl_memwrite, mem_readdata); | ||
33 | -Control ctrl(instr[31:26], ctrl_regdst, ctrl_regwrite, ctrl_alusrc, ctrl_aluctrl, ctrl_memread, ctrl_memwrite, ctrl_memtoreg, ctrl_branch, ctrl_jump, ctrl_jumpreg); | ||
34 | -Mux5bit mux_writereg(instr[20:16], instr[15:11], ctrl_regdst, reg_writereg1); | ||
35 | -Mux32bit mux_alu(reg_readdata2, extend_output, ctrl_alusrc, alu_input2); | ||
36 | -Mux32bit mux_writedata(alu_result, mem_readdata, ctrl_memtoreg, reg_writedata); | ||
37 | -Mux32bit mux_branch(addPC4, addPCbranch, {ctrl_branch&alu_branch} , tempPC_branch); | ||
38 | -Mux32bit mux_jumpreg({addPC4[31:28], shiftJump_output[27:0]}, reg_readdata1, ctrl_jumpreg, tempPC_jump); | ||
39 | -Mux32bit mux_jump(tempPC_branch, tempPC_jump, ctrl_jump, nextPC); | ||
40 | -SignExtend extend(instr[15:0], extend_output); | ||
41 | -Adder add_pc4(PC, 32'h00000004, addPC4); | ||
42 | -Adder add_branch(addPC4, shiftBranch_output, addPCbranch); | ||
43 | -ShiftLeft2 shiftBranch(extend_output, shiftBranch_output); | ||
44 | -ShiftLeft2 shiftJump({6'b000000, instr[25:0]}, shiftJump_output); | ||
45 | - | ||
46 | -initial begin | ||
47 | - PC = 32'h00000000; | ||
48 | -end | ||
49 | - | ||
50 | -always @(posedge clk) begin | ||
51 | - case(nextPC[31]) // if nextPC is available, PC = nextPC. | ||
52 | - 1'b0: PC = nextPC; | ||
53 | - 1'b1: PC = nextPC; | ||
54 | - endcase | ||
55 | - | ||
56 | - instr_address = PC; | ||
57 | -end | ||
58 | - | ||
59 | -/* | ||
60 | -wire clk; // clock | ||
61 | -reg[31:0] PC, nextPC; // program counter | ||
62 | - | ||
63 | -// Instruction Memory (IM) | ||
64 | -reg[31:0] address; // instruction address. input of IM. | ||
65 | -wire[31:0] instr; // loaded instruction. output of IM | ||
66 | - | ||
67 | -// Register | ||
68 | -reg[4:0] reg_readreg1, reg_readreg2; // register numbers of the read data. input of register. | ||
69 | -reg[4:0] reg_writereg1; // register number for the write data. input of register. | ||
70 | -reg[31:0] reg_writedata; // data that will be written in the register. input of register. | ||
71 | -reg reg_sig_regwrite; // regwrite control signal. input of register | ||
72 | -wire[31:0] reg_readdata1, reg_readdata2; // data from the requested register. outputs of register. | ||
73 | - | ||
74 | -// ALU | ||
75 | -reg[31:0] alu_input1, alu_input2; // input data of ALU. inputs of ALU. | ||
76 | -reg[3:0] alu_control; // ALU control signal. input of ALU. | ||
77 | -wire[31:0] alu_result; // result data of ALU. output of ALU. | ||
78 | -wire alu_branch; // indicator for branch operation. output of ALU. | ||
79 | - | ||
80 | -//Data Memory (DM) | ||
81 | -reg[31:0] mem_addr; // address of the read data. input of DM. | ||
82 | -reg[31:0] mem_writedata; // data that will be written in the memory. input of DM. | ||
83 | -reg mem_memread, mem_memwrite; // control signals for DM. input of DM. | ||
84 | -wire[31:0] mem_readdata; // data from the requested address. output of DM. | ||
85 | - | ||
86 | -// Control Unit | ||
87 | -reg[5:0] ctrl_opcode; // opcode of the instruction. input of control unit. | ||
88 | -wire ctrl_regdst, ctrl_regwrite, ctrl_alusrc, ctrl_memread; // ?? | ||
89 | -wire ctrl_memwrite, ctrl_memtoreg, ctrl_branch, ctrl_jump; // ??? control signals outputs of control unit. | ||
90 | -wire[1:0] ctrl_aluop; // ?? | ||
91 | - | ||
92 | -// ALU Control Unit | ||
93 | -reg[5:0] aluctrl_funct; // function code of the R type instructions. input of ALU control unit. | ||
94 | -reg[1:0] aluctrl_aluop; // aluop signal. input of ALU control unit. | ||
95 | -wire[3:0] aluctrl_sig; // alu control signal. output of ALU control unit. | ||
96 | - | ||
97 | -// Multiplexer (Mux) | ||
98 | - // mux_writereg Mux for Write Register. | ||
99 | -reg[4:0] mux_writereg_input1, mux_writereg_input2; | ||
100 | -reg mux_writereg_signal; | ||
101 | -wire[4:0] mux_writereg_output; | ||
102 | - // mux_alu Mux for ALU input 2. | ||
103 | -reg[31:0] mux_alu_input1, mux_alu_input2; | ||
104 | -reg mux_alu_signal; | ||
105 | -wire[31:0] mux_alu_output; | ||
106 | - // mux_writedata Mux for Write Data of Register. | ||
107 | -reg[31:0] mux_writedata_input1, mux_writedata_input2; | ||
108 | -reg mux_writedata_signal; | ||
109 | -wire[31:0] mux_writedata_output; | ||
110 | - // mux_branch Mux for Branch | ||
111 | -reg[31:0] mux_branch_input1, mux_branch_input2; | ||
112 | -reg mux_branch_signal; | ||
113 | -wire[31:0] mux_branch_output; | ||
114 | - // mux_jump Mux for Jump | ||
115 | -reg[31:0] mux_jump_input1, mux_jump_input2; | ||
116 | -reg mux_jump_signal; | ||
117 | -wire[31:0] mux_jump_output; | ||
118 | - | ||
119 | -// Sign Extend | ||
120 | -reg[15:0] extend_input; | ||
121 | -wire[31:0] extend_output; | ||
122 | - | ||
123 | -// Adder | ||
124 | - // add_pc4 | ||
125 | -reg[31:0] add_pc4_input; // input2 is 4. | ||
126 | -wire[31:0] add_pc4_output; | ||
127 | - // add_branch | ||
128 | -reg[31:0] add_branch_input1, add_branch_input2; | ||
129 | -wire[31:0] add_branch_output; | ||
130 | - | ||
131 | -// Shift Left 2 | ||
132 | - // shiftBranch ShiftLeft2 which is used for Branch instructions. | ||
133 | -reg[31:0] shiftBranch_input; | ||
134 | -wire[31:0] shiftBranch_output; | ||
135 | - // shiftJump ShiftLeft2 which is used for Jump instructions. | ||
136 | -reg[31:0] shiftJump_input; | ||
137 | -wire[31:0] shiftJump_output; | ||
138 | - | ||
139 | - | ||
140 | -Clock clock(clk); | ||
141 | -InstructionMemory instrmem(address, instr); | ||
142 | -Register register(reg_readreg1, reg_readreg2, reg_writereg1, reg_writedata, reg_sig_regwrite, reg_readdata1, reg_readdata2); | ||
143 | -ALU alu(alu_input1, alu_input2, alu_control, alu_result, alu_branch); | ||
144 | -DataMemory datamem(mem_addr, mem_writedata, mem_memread, mem_memwrite, mem_readdata); | ||
145 | -Control ctrl(ctrl_opcode, ctrl_regdst, ctrl_regwrite, ctrl_alusrc, ctrl_aluop, ctrl_memread, ctrl_memwrite, ctrl_memtoreg, ctrl_branch, ctrl_jump); | ||
146 | -ALUControl aluctrl(aluctrl_funct, aluctrl_aluop, aluctrl_sig); | ||
147 | -Mux5bit mux_writereg(mux_writereg_input1, mux_writereg_input2, mux_writereg_signal, mux_writereg_output); | ||
148 | -Mux32bit mux_alu(mux_alu_input1, mux_alu_input2, mux_alu_signal, mux_alu_output); | ||
149 | -Mux32bit mux_writedata(mux_writedata_input1, mux_writedata_input2, mux_writedata_signal, mux_writedata_output); | ||
150 | -Mux32bit mux_branch(mux_branch_input1, mux_branch_input2, mux_branch_signal, mux_branch_output); | ||
151 | -Mux32bit mux_jump(mux_jump_input1, mux_jump_input2, mux_jump_signal, mux_jump_output); | ||
152 | -SignExtend extend(extend_input, extend_output); | ||
153 | -Adder add_pc4(add_pc4_input, 32'h00000004, add_pc4_output); | ||
154 | -Adder add_branch(add_branch_input1, add_branch_input2, add_branch_output); | ||
155 | -ShiftLeft2 shiftBranch(shiftBranch_input, shiftBranch_output); | ||
156 | -ShiftLeft2 shiftJump(shiftJump_input, shiftJump_output); | ||
157 | - | ||
158 | -initial begin | ||
159 | - PC = 32'h00000000; | ||
160 | - nextPC = 32'h00000000; | ||
161 | -end | ||
162 | - | ||
163 | -always @(posedge clk) begin | ||
164 | -// IF | ||
165 | - case(nextPC[0]) | ||
166 | - 1'b0: PC = nextPC; | ||
167 | - 1'b1: PC = nextPC; | ||
168 | - endcase | ||
169 | -#1; | ||
170 | - address = PC; | ||
171 | - add_pc4_input = PC; | ||
172 | -#1; | ||
173 | -// ID | ||
174 | - ctrl_opcode <= instr[31:26]; | ||
175 | - reg_readreg1 <= instr[25:21]; | ||
176 | - reg_readreg2 <= instr[20:16]; | ||
177 | - mux_writereg_input1 <= instr[20:16]; | ||
178 | - mux_writereg_input2 <= instr[15:11]; | ||
179 | - extend_input <= instr[15:0]; | ||
180 | - aluctrl_funct <= instr[5:0]; | ||
181 | - shiftJump_input <= {6'b000000, instr[25:0]}; | ||
182 | -#1; | ||
183 | - mux_writereg_signal <= ctrl_regdst; | ||
184 | - aluctrl_aluop <= ctrl_aluop; | ||
185 | - | ||
186 | -// EX | ||
187 | - mux_alu_input1 <= reg_readdata2; | ||
188 | - mux_alu_input2 <= extend_output; | ||
189 | - mux_alu_signal <= ctrl_alusrc; | ||
190 | - shiftBranch_input <= extend_output; | ||
191 | -#1; | ||
192 | - alu_input1 <= reg_readdata1; | ||
193 | - alu_input2 <= mux_alu_output; | ||
194 | - alu_control <= aluctrl_sig; | ||
195 | - add_branch_input1 <= add_pc4_output; | ||
196 | - add_branch_input2 <= shiftBranch_output; | ||
197 | -#1; | ||
198 | - mux_branch_input1 <= add_pc4_output; | ||
199 | - mux_branch_input2 <= add_branch_output; | ||
200 | - mux_branch_signal <= ctrl_branch & alu_branch; | ||
201 | -#1; | ||
202 | - | ||
203 | -// MEM | ||
204 | - mux_jump_input1 <= mux_branch_output; | ||
205 | - mux_jump_input2 <= {add_pc4_output[31:28], shiftJump_output[27:0]}; | ||
206 | - mux_jump_signal <= ctrl_jump; | ||
207 | - mem_addr <= alu_result; | ||
208 | - mem_writedata <= reg_readdata2; | ||
209 | - mem_memread <= ctrl_memread; | ||
210 | - mem_memwrite <= ctrl_memwrite; | ||
211 | -#1; | ||
212 | -// WB | ||
213 | - mux_writedata_input1 <= alu_result; | ||
214 | - mux_writedata_input2 <= mem_readdata; | ||
215 | - mux_writedata_signal <= ctrl_memtoreg; | ||
216 | -#1; | ||
217 | - reg_sig_regwrite <= ctrl_regwrite; | ||
218 | - reg_writereg1 <= mux_writereg_output; | ||
219 | - reg_writedata <= mux_writedata_output; | ||
220 | -#1; | ||
221 | - nextPC <= mux_jump_output; | ||
222 | -end | ||
223 | -*/ | ||
224 | -endmodule |
Project/SingleCycle/transcript
deleted
100644 → 0
1 | -# Reading C:/Modeltech_pe_edu_10.4a/tcl/vsim/pref.tcl |
Project/SingleCycle/vsim.wlf
deleted
100644 → 0
No preview for this file type
Project/SingleCycle/wlft0q31xw
deleted
100644 → 0
No preview for this file type
Project/SingleCycle/wlft1sjhhx
deleted
100644 → 0
No preview for this file type
Project/SingleCycle/wlft7656v6
deleted
100644 → 0
No preview for this file type
Project/SingleCycle/wlftrbi4mr
deleted
100644 → 0
No preview for this file type
... | @@ -9,308 +9,308 @@ z2 | ... | @@ -9,308 +9,308 @@ z2 |
9 | cModel Technology | 9 | cModel Technology |
10 | dC:/Modeltech_pe_edu_10.4a/examples | 10 | dC:/Modeltech_pe_edu_10.4a/examples |
11 | vAdder | 11 | vAdder |
12 | -!s110 1590134076 | 12 | +Z0 !s110 1590181223 |
13 | !i10b 1 | 13 | !i10b 1 |
14 | !s100 C]ac0M5ljAN8jKk:YMWUe1 | 14 | !s100 C]ac0M5ljAN8jKk:YMWUe1 |
15 | IPABU2L8BVV2T>WDY4a1F@3 | 15 | IPABU2L8BVV2T>WDY4a1F@3 |
16 | -Z0 VDg1SIo80bB@j0V0VzS_@n1 | 16 | +Z1 VDg1SIo80bB@j0V0VzS_@n1 |
17 | -Z1 dD:/class/Capstone1/KNW_Project2/Project/SingleCycle | 17 | +Z2 dD:/class/Capstone1/KNW_Project2/Project/SingleCycle |
18 | w1589585757 | 18 | w1589585757 |
19 | 8D:/class/Capstone1/KNW_Project2/Project/SingleCycle/Adder.v | 19 | 8D:/class/Capstone1/KNW_Project2/Project/SingleCycle/Adder.v |
20 | FD:/class/Capstone1/KNW_Project2/Project/SingleCycle/Adder.v | 20 | FD:/class/Capstone1/KNW_Project2/Project/SingleCycle/Adder.v |
21 | L0 1 | 21 | L0 1 |
22 | -Z2 OP;L;10.4a;61 | 22 | +Z3 OP;L;10.4a;61 |
23 | r1 | 23 | r1 |
24 | !s85 0 | 24 | !s85 0 |
25 | 31 | 25 | 31 |
26 | -!s108 1590134076.000000 | 26 | +Z4 !s108 1590181223.000000 |
27 | !s107 D:/class/Capstone1/KNW_Project2/Project/SingleCycle/Adder.v| | 27 | !s107 D:/class/Capstone1/KNW_Project2/Project/SingleCycle/Adder.v| |
28 | !s90 -reportprogress|300|-work|work|-stats=none|D:/class/Capstone1/KNW_Project2/Project/SingleCycle/Adder.v| | 28 | !s90 -reportprogress|300|-work|work|-stats=none|D:/class/Capstone1/KNW_Project2/Project/SingleCycle/Adder.v| |
29 | !s101 -O0 | 29 | !s101 -O0 |
30 | !i113 1 | 30 | !i113 1 |
31 | -Z3 o-work work -L mtiAvm -L mtiRnm -L mtiOvm -L mtiUvm -L mtiUPF -L infact -O0 | 31 | +Z5 o-work work -L mtiAvm -L mtiRnm -L mtiOvm -L mtiUvm -L mtiUPF -L infact -O0 |
32 | n@adder | 32 | n@adder |
33 | vALU | 33 | vALU |
34 | -!s110 1590179328 | 34 | +R0 |
35 | !i10b 1 | 35 | !i10b 1 |
36 | !s100 :;Xi4U9^j:B2YKA2g;48a2 | 36 | !s100 :;Xi4U9^j:B2YKA2g;48a2 |
37 | Ilz@oO[_i9<DDh^X5Z@MYO2 | 37 | Ilz@oO[_i9<DDh^X5Z@MYO2 |
38 | -R0 | ||
39 | R1 | 38 | R1 |
39 | +R2 | ||
40 | w1590179297 | 40 | w1590179297 |
41 | 8D:/class/Capstone1/KNW_Project2/Project/SingleCycle/ALU.v | 41 | 8D:/class/Capstone1/KNW_Project2/Project/SingleCycle/ALU.v |
42 | FD:/class/Capstone1/KNW_Project2/Project/SingleCycle/ALU.v | 42 | FD:/class/Capstone1/KNW_Project2/Project/SingleCycle/ALU.v |
43 | L0 1 | 43 | L0 1 |
44 | -R2 | 44 | +R3 |
45 | r1 | 45 | r1 |
46 | !s85 0 | 46 | !s85 0 |
47 | 31 | 47 | 31 |
48 | -!s108 1590179328.000000 | 48 | +R4 |
49 | !s107 D:/class/Capstone1/KNW_Project2/Project/SingleCycle/ALU.v| | 49 | !s107 D:/class/Capstone1/KNW_Project2/Project/SingleCycle/ALU.v| |
50 | !s90 -reportprogress|300|-work|work|-stats=none|D:/class/Capstone1/KNW_Project2/Project/SingleCycle/ALU.v| | 50 | !s90 -reportprogress|300|-work|work|-stats=none|D:/class/Capstone1/KNW_Project2/Project/SingleCycle/ALU.v| |
51 | !s101 -O0 | 51 | !s101 -O0 |
52 | !i113 1 | 52 | !i113 1 |
53 | -R3 | 53 | +R5 |
54 | n@a@l@u | 54 | n@a@l@u |
55 | vALUControl | 55 | vALUControl |
56 | -Z4 !s110 1590134077 | 56 | +Z6 !s110 1590134077 |
57 | !i10b 1 | 57 | !i10b 1 |
58 | !s100 5M;8KH=?8dC:nP8HEC8AT0 | 58 | !s100 5M;8KH=?8dC:nP8HEC8AT0 |
59 | Ij7f_HKS32W^mlmZIBXe=P0 | 59 | Ij7f_HKS32W^mlmZIBXe=P0 |
60 | -R0 | ||
61 | R1 | 60 | R1 |
61 | +R2 | ||
62 | w1589611047 | 62 | w1589611047 |
63 | 8D:/class/Capstone1/KNW_Project2/Project/SingleCycle/ALU_Control.v | 63 | 8D:/class/Capstone1/KNW_Project2/Project/SingleCycle/ALU_Control.v |
64 | FD:/class/Capstone1/KNW_Project2/Project/SingleCycle/ALU_Control.v | 64 | FD:/class/Capstone1/KNW_Project2/Project/SingleCycle/ALU_Control.v |
65 | L0 1 | 65 | L0 1 |
66 | -R2 | 66 | +R3 |
67 | r1 | 67 | r1 |
68 | !s85 0 | 68 | !s85 0 |
69 | 31 | 69 | 31 |
70 | -Z5 !s108 1590134077.000000 | 70 | +Z7 !s108 1590134077.000000 |
71 | !s107 D:/class/Capstone1/KNW_Project2/Project/SingleCycle/ALU_Control.v| | 71 | !s107 D:/class/Capstone1/KNW_Project2/Project/SingleCycle/ALU_Control.v| |
72 | !s90 -reportprogress|300|-work|work|-stats=none|D:/class/Capstone1/KNW_Project2/Project/SingleCycle/ALU_Control.v| | 72 | !s90 -reportprogress|300|-work|work|-stats=none|D:/class/Capstone1/KNW_Project2/Project/SingleCycle/ALU_Control.v| |
73 | !s101 -O0 | 73 | !s101 -O0 |
74 | !i113 1 | 74 | !i113 1 |
75 | -R3 | 75 | +R5 |
76 | n@a@l@u@control | 76 | n@a@l@u@control |
77 | vClock | 77 | vClock |
78 | -R4 | 78 | +Z8 !s110 1590181224 |
79 | !i10b 1 | 79 | !i10b 1 |
80 | !s100 OWQXV6kDYiT>ChTOoCFa]2 | 80 | !s100 OWQXV6kDYiT>ChTOoCFa]2 |
81 | IQ3e7_okQ4UFF5[gGVRJ]L2 | 81 | IQ3e7_okQ4UFF5[gGVRJ]L2 |
82 | -R0 | ||
83 | R1 | 82 | R1 |
83 | +R2 | ||
84 | w1589585780 | 84 | w1589585780 |
85 | 8D:/class/Capstone1/KNW_Project2/Project/SingleCycle/clock.v | 85 | 8D:/class/Capstone1/KNW_Project2/Project/SingleCycle/clock.v |
86 | FD:/class/Capstone1/KNW_Project2/Project/SingleCycle/clock.v | 86 | FD:/class/Capstone1/KNW_Project2/Project/SingleCycle/clock.v |
87 | L0 1 | 87 | L0 1 |
88 | -R2 | 88 | +R3 |
89 | r1 | 89 | r1 |
90 | !s85 0 | 90 | !s85 0 |
91 | 31 | 91 | 31 |
92 | -R5 | 92 | +Z9 !s108 1590181224.000000 |
93 | !s107 D:/class/Capstone1/KNW_Project2/Project/SingleCycle/clock.v| | 93 | !s107 D:/class/Capstone1/KNW_Project2/Project/SingleCycle/clock.v| |
94 | !s90 -reportprogress|300|-work|work|-stats=none|D:/class/Capstone1/KNW_Project2/Project/SingleCycle/clock.v| | 94 | !s90 -reportprogress|300|-work|work|-stats=none|D:/class/Capstone1/KNW_Project2/Project/SingleCycle/clock.v| |
95 | !s101 -O0 | 95 | !s101 -O0 |
96 | !i113 1 | 96 | !i113 1 |
97 | -R3 | 97 | +R5 |
98 | n@clock | 98 | n@clock |
99 | vControl | 99 | vControl |
100 | -!s110 1590177655 | 100 | +R8 |
101 | !i10b 1 | 101 | !i10b 1 |
102 | !s100 h4IKEzP5K:837Y_KUcOW]0 | 102 | !s100 h4IKEzP5K:837Y_KUcOW]0 |
103 | I3T=^6M9lNafR2XL8nj12I1 | 103 | I3T=^6M9lNafR2XL8nj12I1 |
104 | -R0 | ||
105 | R1 | 104 | R1 |
105 | +R2 | ||
106 | w1590177608 | 106 | w1590177608 |
107 | 8D:/class/Capstone1/KNW_Project2/Project/SingleCycle/Control.v | 107 | 8D:/class/Capstone1/KNW_Project2/Project/SingleCycle/Control.v |
108 | FD:/class/Capstone1/KNW_Project2/Project/SingleCycle/Control.v | 108 | FD:/class/Capstone1/KNW_Project2/Project/SingleCycle/Control.v |
109 | L0 1 | 109 | L0 1 |
110 | -R2 | 110 | +R3 |
111 | r1 | 111 | r1 |
112 | !s85 0 | 112 | !s85 0 |
113 | 31 | 113 | 31 |
114 | -!s108 1590177654.000000 | 114 | +R9 |
115 | !s107 D:/class/Capstone1/KNW_Project2/Project/SingleCycle/Control.v| | 115 | !s107 D:/class/Capstone1/KNW_Project2/Project/SingleCycle/Control.v| |
116 | !s90 -reportprogress|300|-work|work|-stats=none|D:/class/Capstone1/KNW_Project2/Project/SingleCycle/Control.v| | 116 | !s90 -reportprogress|300|-work|work|-stats=none|D:/class/Capstone1/KNW_Project2/Project/SingleCycle/Control.v| |
117 | !s101 -O0 | 117 | !s101 -O0 |
118 | !i113 1 | 118 | !i113 1 |
119 | -R3 | 119 | +R5 |
120 | n@control | 120 | n@control |
121 | vDataMemory | 121 | vDataMemory |
122 | -!s110 1590179269 | 122 | +R8 |
123 | !i10b 1 | 123 | !i10b 1 |
124 | !s100 RT9n9HH7ShGYTRk0Zj<MK3 | 124 | !s100 RT9n9HH7ShGYTRk0Zj<MK3 |
125 | InmT0b<BMV7FknI]N:9n7g0 | 125 | InmT0b<BMV7FknI]N:9n7g0 |
126 | -R0 | ||
127 | R1 | 126 | R1 |
127 | +R2 | ||
128 | w1590179259 | 128 | w1590179259 |
129 | 8D:/class/Capstone1/KNW_Project2/Project/SingleCycle/Data Memory.v | 129 | 8D:/class/Capstone1/KNW_Project2/Project/SingleCycle/Data Memory.v |
130 | FD:/class/Capstone1/KNW_Project2/Project/SingleCycle/Data Memory.v | 130 | FD:/class/Capstone1/KNW_Project2/Project/SingleCycle/Data Memory.v |
131 | L0 1 | 131 | L0 1 |
132 | -R2 | 132 | +R3 |
133 | r1 | 133 | r1 |
134 | !s85 0 | 134 | !s85 0 |
135 | 31 | 135 | 31 |
136 | -!s108 1590179269.000000 | 136 | +R9 |
137 | !s107 D:/class/Capstone1/KNW_Project2/Project/SingleCycle/Data Memory.v| | 137 | !s107 D:/class/Capstone1/KNW_Project2/Project/SingleCycle/Data Memory.v| |
138 | !s90 -reportprogress|300|-work|work|-stats=none|D:/class/Capstone1/KNW_Project2/Project/SingleCycle/Data Memory.v| | 138 | !s90 -reportprogress|300|-work|work|-stats=none|D:/class/Capstone1/KNW_Project2/Project/SingleCycle/Data Memory.v| |
139 | !s101 -O0 | 139 | !s101 -O0 |
140 | !i113 1 | 140 | !i113 1 |
141 | -R3 | 141 | +R5 |
142 | n@data@memory | 142 | n@data@memory |
143 | vInstructionMemory | 143 | vInstructionMemory |
144 | -!s110 1590180465 | 144 | +Z10 !s110 1590181225 |
145 | !i10b 1 | 145 | !i10b 1 |
146 | !s100 =6Ye0hT1H9KSDP1=FhXga2 | 146 | !s100 =6Ye0hT1H9KSDP1=FhXga2 |
147 | ISLBgfdW;aN8g[2DAo[I992 | 147 | ISLBgfdW;aN8g[2DAo[I992 |
148 | -R0 | ||
149 | R1 | 148 | R1 |
149 | +R2 | ||
150 | w1590180454 | 150 | w1590180454 |
151 | 8D:/class/Capstone1/KNW_Project2/Project/SingleCycle/InstructionMemory.v | 151 | 8D:/class/Capstone1/KNW_Project2/Project/SingleCycle/InstructionMemory.v |
152 | FD:/class/Capstone1/KNW_Project2/Project/SingleCycle/InstructionMemory.v | 152 | FD:/class/Capstone1/KNW_Project2/Project/SingleCycle/InstructionMemory.v |
153 | L0 1 | 153 | L0 1 |
154 | -R2 | 154 | +R3 |
155 | r1 | 155 | r1 |
156 | !s85 0 | 156 | !s85 0 |
157 | 31 | 157 | 31 |
158 | -!s108 1590180465.000000 | 158 | +Z11 !s108 1590181225.000000 |
159 | !s107 D:/class/Capstone1/KNW_Project2/Project/SingleCycle/InstructionMemory.v| | 159 | !s107 D:/class/Capstone1/KNW_Project2/Project/SingleCycle/InstructionMemory.v| |
160 | !s90 -reportprogress|300|-work|work|-stats=none|D:/class/Capstone1/KNW_Project2/Project/SingleCycle/InstructionMemory.v| | 160 | !s90 -reportprogress|300|-work|work|-stats=none|D:/class/Capstone1/KNW_Project2/Project/SingleCycle/InstructionMemory.v| |
161 | !s101 -O0 | 161 | !s101 -O0 |
162 | !i113 1 | 162 | !i113 1 |
163 | -R3 | 163 | +R5 |
164 | n@instruction@memory | 164 | n@instruction@memory |
165 | vMux32bit | 165 | vMux32bit |
166 | -R4 | 166 | +R6 |
167 | !i10b 1 | 167 | !i10b 1 |
168 | !s100 6HOE]5bDRSA[<HBJLTnYP0 | 168 | !s100 6HOE]5bDRSA[<HBJLTnYP0 |
169 | InTEk>^`Yjc4Xl2[WnZ3^Y3 | 169 | InTEk>^`Yjc4Xl2[WnZ3^Y3 |
170 | -R0 | ||
171 | R1 | 170 | R1 |
172 | -Z6 w1589610975 | ||
173 | -Z7 8D:/class/Capstone1/KNW_Project2/Project/SingleCycle/Mux.v | ||
174 | -Z8 FD:/class/Capstone1/KNW_Project2/Project/SingleCycle/Mux.v | ||
175 | -L0 1 | ||
176 | R2 | 171 | R2 |
172 | +Z12 w1589610975 | ||
173 | +Z13 8D:/class/Capstone1/KNW_Project2/Project/SingleCycle/Mux.v | ||
174 | +Z14 FD:/class/Capstone1/KNW_Project2/Project/SingleCycle/Mux.v | ||
175 | +L0 1 | ||
176 | +R3 | ||
177 | r1 | 177 | r1 |
178 | !s85 0 | 178 | !s85 0 |
179 | 31 | 179 | 31 |
180 | -R5 | 180 | +R7 |
181 | -Z9 !s107 D:/class/Capstone1/KNW_Project2/Project/SingleCycle/Mux.v| | 181 | +Z15 !s107 D:/class/Capstone1/KNW_Project2/Project/SingleCycle/Mux.v| |
182 | -Z10 !s90 -reportprogress|300|-work|work|-stats=none|D:/class/Capstone1/KNW_Project2/Project/SingleCycle/Mux.v| | 182 | +Z16 !s90 -reportprogress|300|-work|work|-stats=none|D:/class/Capstone1/KNW_Project2/Project/SingleCycle/Mux.v| |
183 | !s101 -O0 | 183 | !s101 -O0 |
184 | !i113 1 | 184 | !i113 1 |
185 | -R3 | 185 | +R5 |
186 | n@mux32bit | 186 | n@mux32bit |
187 | vMux5bit | 187 | vMux5bit |
188 | -R4 | 188 | +R6 |
189 | !i10b 1 | 189 | !i10b 1 |
190 | !s100 1oCn>`bHoZ=?A6[JF911T3 | 190 | !s100 1oCn>`bHoZ=?A6[JF911T3 |
191 | I]EmV`Adl6kHglkN9IK>LX2 | 191 | I]EmV`Adl6kHglkN9IK>LX2 |
192 | -R0 | ||
193 | R1 | 192 | R1 |
194 | -R6 | ||
195 | -R7 | ||
196 | -R8 | ||
197 | -L0 16 | ||
198 | R2 | 193 | R2 |
194 | +R12 | ||
195 | +R13 | ||
196 | +R14 | ||
197 | +L0 16 | ||
198 | +R3 | ||
199 | r1 | 199 | r1 |
200 | !s85 0 | 200 | !s85 0 |
201 | 31 | 201 | 31 |
202 | -R5 | 202 | +R7 |
203 | -R9 | 203 | +R15 |
204 | -R10 | 204 | +R16 |
205 | !s101 -O0 | 205 | !s101 -O0 |
206 | !i113 1 | 206 | !i113 1 |
207 | -R3 | 207 | +R5 |
208 | n@mux5bit | 208 | n@mux5bit |
209 | vRegister | 209 | vRegister |
210 | -!s110 1590177077 | 210 | +R10 |
211 | !i10b 1 | 211 | !i10b 1 |
212 | !s100 Bdb0dL`fj[<g;4lO0DTA?2 | 212 | !s100 Bdb0dL`fj[<g;4lO0DTA?2 |
213 | I`9^FTXAAIcP>dnBfah`[e1 | 213 | I`9^FTXAAIcP>dnBfah`[e1 |
214 | -R0 | ||
215 | R1 | 214 | R1 |
215 | +R2 | ||
216 | w1590176245 | 216 | w1590176245 |
217 | 8D:/class/Capstone1/KNW_Project2/Project/SingleCycle/Register.v | 217 | 8D:/class/Capstone1/KNW_Project2/Project/SingleCycle/Register.v |
218 | FD:/class/Capstone1/KNW_Project2/Project/SingleCycle/Register.v | 218 | FD:/class/Capstone1/KNW_Project2/Project/SingleCycle/Register.v |
219 | L0 1 | 219 | L0 1 |
220 | -R2 | 220 | +R3 |
221 | r1 | 221 | r1 |
222 | !s85 0 | 222 | !s85 0 |
223 | 31 | 223 | 31 |
224 | -!s108 1590177076.000000 | 224 | +R11 |
225 | !s107 D:/class/Capstone1/KNW_Project2/Project/SingleCycle/Register.v| | 225 | !s107 D:/class/Capstone1/KNW_Project2/Project/SingleCycle/Register.v| |
226 | !s90 -reportprogress|300|-work|work|-stats=none|D:/class/Capstone1/KNW_Project2/Project/SingleCycle/Register.v| | 226 | !s90 -reportprogress|300|-work|work|-stats=none|D:/class/Capstone1/KNW_Project2/Project/SingleCycle/Register.v| |
227 | !s101 -O0 | 227 | !s101 -O0 |
228 | !i113 1 | 228 | !i113 1 |
229 | -R3 | 229 | +R5 |
230 | n@register | 230 | n@register |
231 | vShiftLeft2 | 231 | vShiftLeft2 |
232 | -R4 | 232 | +R10 |
233 | !i10b 1 | 233 | !i10b 1 |
234 | !s100 eI5Ec:gWMIfN>mTKQIBY93 | 234 | !s100 eI5Ec:gWMIfN>mTKQIBY93 |
235 | IWRY1:Un@<nHGbA7hoKFL[1 | 235 | IWRY1:Un@<nHGbA7hoKFL[1 |
236 | -R0 | ||
237 | R1 | 236 | R1 |
237 | +R2 | ||
238 | w1589586193 | 238 | w1589586193 |
239 | 8D:/class/Capstone1/KNW_Project2/Project/SingleCycle/ShiftLeft2.v | 239 | 8D:/class/Capstone1/KNW_Project2/Project/SingleCycle/ShiftLeft2.v |
240 | FD:/class/Capstone1/KNW_Project2/Project/SingleCycle/ShiftLeft2.v | 240 | FD:/class/Capstone1/KNW_Project2/Project/SingleCycle/ShiftLeft2.v |
241 | L0 1 | 241 | L0 1 |
242 | -R2 | 242 | +R3 |
243 | r1 | 243 | r1 |
244 | !s85 0 | 244 | !s85 0 |
245 | 31 | 245 | 31 |
246 | -R5 | 246 | +R11 |
247 | !s107 D:/class/Capstone1/KNW_Project2/Project/SingleCycle/ShiftLeft2.v| | 247 | !s107 D:/class/Capstone1/KNW_Project2/Project/SingleCycle/ShiftLeft2.v| |
248 | !s90 -reportprogress|300|-work|work|-stats=none|D:/class/Capstone1/KNW_Project2/Project/SingleCycle/ShiftLeft2.v| | 248 | !s90 -reportprogress|300|-work|work|-stats=none|D:/class/Capstone1/KNW_Project2/Project/SingleCycle/ShiftLeft2.v| |
249 | !s101 -O0 | 249 | !s101 -O0 |
250 | !i113 1 | 250 | !i113 1 |
251 | -R3 | 251 | +R5 |
252 | n@shift@left2 | 252 | n@shift@left2 |
253 | vSignExtend | 253 | vSignExtend |
254 | -Z11 !s110 1590134078 | 254 | +R10 |
255 | !i10b 1 | 255 | !i10b 1 |
256 | !s100 ahVKzC^1fD@70fO3WnVUV0 | 256 | !s100 ahVKzC^1fD@70fO3WnVUV0 |
257 | Izf_2?i[S@:;mKbJ:CXF753 | 257 | Izf_2?i[S@:;mKbJ:CXF753 |
258 | -R0 | ||
259 | R1 | 258 | R1 |
259 | +R2 | ||
260 | w1589586199 | 260 | w1589586199 |
261 | 8D:/class/Capstone1/KNW_Project2/Project/SingleCycle/SignExtend.v | 261 | 8D:/class/Capstone1/KNW_Project2/Project/SingleCycle/SignExtend.v |
262 | FD:/class/Capstone1/KNW_Project2/Project/SingleCycle/SignExtend.v | 262 | FD:/class/Capstone1/KNW_Project2/Project/SingleCycle/SignExtend.v |
263 | L0 1 | 263 | L0 1 |
264 | -R2 | 264 | +R3 |
265 | r1 | 265 | r1 |
266 | !s85 0 | 266 | !s85 0 |
267 | 31 | 267 | 31 |
268 | -Z12 !s108 1590134078.000000 | 268 | +R11 |
269 | !s107 D:/class/Capstone1/KNW_Project2/Project/SingleCycle/SignExtend.v| | 269 | !s107 D:/class/Capstone1/KNW_Project2/Project/SingleCycle/SignExtend.v| |
270 | !s90 -reportprogress|300|-work|work|-stats=none|D:/class/Capstone1/KNW_Project2/Project/SingleCycle/SignExtend.v| | 270 | !s90 -reportprogress|300|-work|work|-stats=none|D:/class/Capstone1/KNW_Project2/Project/SingleCycle/SignExtend.v| |
271 | !s101 -O0 | 271 | !s101 -O0 |
272 | !i113 1 | 272 | !i113 1 |
273 | -R3 | 273 | +R5 |
274 | n@sign@extend | 274 | n@sign@extend |
275 | vtest | 275 | vtest |
276 | -R11 | 276 | +!s110 1590134078 |
277 | !i10b 1 | 277 | !i10b 1 |
278 | !s100 Sm5D9nHWJl4JV?TA`lU4`0 | 278 | !s100 Sm5D9nHWJl4JV?TA`lU4`0 |
279 | IW:K2A@A@^WBUal;dbVMEN0 | 279 | IW:K2A@A@^WBUal;dbVMEN0 |
280 | -R0 | ||
281 | R1 | 280 | R1 |
281 | +R2 | ||
282 | w1589610276 | 282 | w1589610276 |
283 | 8D:/class/Capstone1/KNW_Project2/Project/SingleCycle/test.v | 283 | 8D:/class/Capstone1/KNW_Project2/Project/SingleCycle/test.v |
284 | FD:/class/Capstone1/KNW_Project2/Project/SingleCycle/test.v | 284 | FD:/class/Capstone1/KNW_Project2/Project/SingleCycle/test.v |
285 | L0 1 | 285 | L0 1 |
286 | -R2 | 286 | +R3 |
287 | r1 | 287 | r1 |
288 | !s85 0 | 288 | !s85 0 |
289 | 31 | 289 | 31 |
290 | -R12 | 290 | +!s108 1590134078.000000 |
291 | !s107 D:/class/Capstone1/KNW_Project2/Project/SingleCycle/test.v| | 291 | !s107 D:/class/Capstone1/KNW_Project2/Project/SingleCycle/test.v| |
292 | !s90 -reportprogress|300|-work|work|-stats=none|D:/class/Capstone1/KNW_Project2/Project/SingleCycle/test.v| | 292 | !s90 -reportprogress|300|-work|work|-stats=none|D:/class/Capstone1/KNW_Project2/Project/SingleCycle/test.v| |
293 | !s101 -O0 | 293 | !s101 -O0 |
294 | !i113 1 | 294 | !i113 1 |
295 | -R3 | 295 | +R5 |
296 | vtestbench | 296 | vtestbench |
297 | -!s110 1590179703 | 297 | +R10 |
298 | !i10b 1 | 298 | !i10b 1 |
299 | !s100 5AnCjSMdS0^a=^L0fjCWj2 | 299 | !s100 5AnCjSMdS0^a=^L0fjCWj2 |
300 | IlnGeUJ27C[a2FGBi<YI?;0 | 300 | IlnGeUJ27C[a2FGBi<YI?;0 |
301 | -R0 | ||
302 | R1 | 301 | R1 |
302 | +R2 | ||
303 | w1590179680 | 303 | w1590179680 |
304 | 8D:/class/Capstone1/KNW_Project2/Project/SingleCycle/testbench.v | 304 | 8D:/class/Capstone1/KNW_Project2/Project/SingleCycle/testbench.v |
305 | FD:/class/Capstone1/KNW_Project2/Project/SingleCycle/testbench.v | 305 | FD:/class/Capstone1/KNW_Project2/Project/SingleCycle/testbench.v |
306 | L0 1 | 306 | L0 1 |
307 | -R2 | 307 | +R3 |
308 | r1 | 308 | r1 |
309 | !s85 0 | 309 | !s85 0 |
310 | 31 | 310 | 31 |
311 | -!s108 1590179703.000000 | 311 | +R11 |
312 | !s107 D:/class/Capstone1/KNW_Project2/Project/SingleCycle/testbench.v| | 312 | !s107 D:/class/Capstone1/KNW_Project2/Project/SingleCycle/testbench.v| |
313 | !s90 -reportprogress|300|-work|work|-stats=none|D:/class/Capstone1/KNW_Project2/Project/SingleCycle/testbench.v| | 313 | !s90 -reportprogress|300|-work|work|-stats=none|D:/class/Capstone1/KNW_Project2/Project/SingleCycle/testbench.v| |
314 | !s101 -O0 | 314 | !s101 -O0 |
315 | !i113 1 | 315 | !i113 1 |
316 | -R3 | 316 | +R5 | ... | ... |
No preview for this file type
Project/SingleCycle/work/_lib1_1.qdb
deleted
100644 → 0
No preview for this file type
Project/SingleCycle/work/_lib1_1.qpg
deleted
100644 → 0
No preview for this file type
Project/SingleCycle/work/_lib1_2.qdb
0 → 100644
No preview for this file type
Project/SingleCycle/work/_lib1_2.qpg
0 → 100644
No preview for this file type
No preview for this file type
-
Please register or login to post a comment