Fixed equation solver instructions
This commit is contained in:
@@ -11,14 +11,11 @@ module instructionMemory(
|
|||||||
initial begin
|
initial begin
|
||||||
//Equation Solver
|
//Equation Solver
|
||||||
memory[0] <= 9'b000000000;
|
memory[0] <= 9'b000000000;
|
||||||
memory[1] <= 9'b011000000; //add0
|
memory[1] <= 9'b000100000; //load
|
||||||
memory[1] <= 9'b011001001; //add1
|
memory[2] <= 9'b000101000; //load
|
||||||
memory[1] <= 9'b000100000; //load
|
memory[3] <= 9'b010100010; //add
|
||||||
memory[2] <= 9'b000101000; //load
|
memory[4] <= 9'b111100000; //shift left
|
||||||
memory[3] <= 9'b010100010; //add
|
memory[5] <= 9'b111100000; //shift left
|
||||||
memory[4] <= 9'b111100000; //shift left
|
|
||||||
memory[5] <= 9'b111100000; //shift left
|
|
||||||
memory[6] <= 9'b000000000; //halt
|
|
||||||
|
|
||||||
// //Testing all instructions
|
// //Testing all instructions
|
||||||
// memory[6] <= 9'b010100011; //sub
|
// memory[6] <= 9'b010100011; //sub
|
||||||
@@ -80,68 +77,68 @@ module instructionMemory(
|
|||||||
|
|
||||||
|
|
||||||
// Bubble Sort
|
// Bubble Sort
|
||||||
memory[0] <= 9'b000000001; // nop
|
// memory[0] <= 9'b000000001; // nop
|
||||||
// Setup
|
// // Setup
|
||||||
memory[1] <= 9'b010000000; // zero $a
|
// memory[1] <= 9'b010000000; // zero $a
|
||||||
memory[2] <= 9'b000100000; // lb $a, $a
|
// memory[2] <= 9'b000100000; // lb $a, $a
|
||||||
memory[3] <= 9'b010001000; // zero $b
|
// memory[3] <= 9'b010001000; // zero $b
|
||||||
memory[4] <= 9'b010010000; // zero $c
|
// memory[4] <= 9'b010010000; // zero $c
|
||||||
memory[5] <= 9'b010011000; // zero $d
|
// memory[5] <= 9'b010011000; // zero $d
|
||||||
memory[6] <= 9'b101001000; // banks $b, $0
|
// memory[6] <= 9'b101001000; // banks $b, $0
|
||||||
memory[7] <= 9'b101001010; // banks $b, $1
|
// memory[7] <= 9'b101001010; // banks $b, $1
|
||||||
memory[8] <= 9'b100100011; // jf EndChk
|
// memory[8] <= 9'b100100011; // jf EndChk
|
||||||
// Increment current index to compare next pair of values
|
// // Increment current index to compare next pair of values
|
||||||
// Inc:
|
// // Inc:
|
||||||
memory[9] <= 9'b101001001; // bankl $b, $0
|
// memory[9] <= 9'b101001001; // bankl $b, $0
|
||||||
memory[10] <= 9'b011001001; // addi $b, 1
|
// memory[10] <= 9'b011001001; // addi $b, 1
|
||||||
memory[11] <= 9'b101001000; // banks $b, $0
|
// memory[11] <= 9'b101001000; // banks $b, $0
|
||||||
// Check if at the end of the array
|
// // Check if at the end of the array
|
||||||
// EndChk:
|
// // EndChk:
|
||||||
memory[12] <= 9'b101001001; // bankl $b, $0
|
// memory[12] <= 9'b101001001; // bankl $b, $0
|
||||||
memory[13] <= 9'b011101000; // slt $b, $a
|
// memory[13] <= 9'b011101000; // slt $b, $a
|
||||||
memory[14] <= 9'b110001001; // beq $b, JSC
|
// memory[14] <= 9'b110001001; // beq $b, JSC
|
||||||
memory[15] <= 9'b100100001; // jf LoadNext
|
// memory[15] <= 9'b100100001; // jf LoadNext
|
||||||
// JSC:
|
// // JSC:
|
||||||
memory[16] <= 9'b100110100; // jf SwapChk
|
// memory[16] <= 9'b100110100; // jf SwapChk
|
||||||
// Load next values for comparison
|
// // Load next values for comparison
|
||||||
// LoadNext:
|
// // LoadNext:
|
||||||
memory[17] <= 9'b101001001; // bankl $b, $0
|
// memory[17] <= 9'b101001001; // bankl $b, $0
|
||||||
memory[18] <= 9'b011001001; // addi $b, 1
|
// memory[18] <= 9'b011001001; // addi $b, 1
|
||||||
memory[19] <= 9'b000110010; // lb $c, $b
|
// memory[19] <= 9'b000110010; // lb $c, $b
|
||||||
memory[20] <= 9'b011001001; // addi $b, 1
|
// memory[20] <= 9'b011001001; // addi $b, 1
|
||||||
memory[21] <= 9'b000111010; // lb $d, $b
|
// memory[21] <= 9'b000111010; // lb $d, $b
|
||||||
// Compare loaded values to see if they need to be swapped
|
// // Compare loaded values to see if they need to be swapped
|
||||||
memory[22] <= 9'b101011110; // banks $d, $3
|
// memory[22] <= 9'b101011110; // banks $d, $3
|
||||||
memory[23] <= 9'b011111100; // slt $d, $c
|
// memory[23] <= 9'b011111100; // slt $d, $c
|
||||||
memory[24] <= 9'b110011001; // beq $d, JI
|
// memory[24] <= 9'b110011001; // beq $d, JI
|
||||||
memory[25] <= 9'b100100001; // jf Swap
|
// memory[25] <= 9'b100100001; // jf Swap
|
||||||
// JI:
|
// // JI:
|
||||||
memory[26] <= 9'b101110010; // jb Inc
|
// memory[26] <= 9'b101110010; // jb Inc
|
||||||
// Swap values in array
|
// // Swap values in array
|
||||||
// Swap:
|
// // Swap:
|
||||||
memory[27] <= 9'b101001001; // bankl $b, $0
|
// memory[27] <= 9'b101001001; // bankl $b, $0
|
||||||
memory[28] <= 9'b011001001; // addi $b, 1
|
// memory[28] <= 9'b011001001; // addi $b, 1
|
||||||
memory[29] <= 9'b101011111; // bankl $d, $3
|
// memory[29] <= 9'b101011111; // bankl $d, $3
|
||||||
memory[30] <= 9'b001011010; // sb $d, $b
|
// memory[30] <= 9'b001011010; // sb $d, $b
|
||||||
memory[31] <= 9'b011001001; // addi $b, 1
|
// memory[31] <= 9'b011001001; // addi $b, 1
|
||||||
memory[32] <= 9'b001010010; // sb $c, $b
|
// memory[32] <= 9'b001010010; // sb $c, $b
|
||||||
memory[33] <= 9'b010001000; // zero $b
|
// memory[33] <= 9'b010001000; // zero $b
|
||||||
memory[34] <= 9'b011001001; // addi $b, 1
|
// memory[34] <= 9'b011001001; // addi $b, 1
|
||||||
memory[35] <= 9'b101001010; // banks $b, $1
|
// memory[35] <= 9'b101001010; // banks $b, $1
|
||||||
memory[36] <= 9'b101111100; // jb Inc
|
// memory[36] <= 9'b101111100; // jb Inc
|
||||||
// Check to see if any swaps have been made in the last iteration
|
// // Check to see if any swaps have been made in the last iteration
|
||||||
// SwapChk:
|
// // SwapChk:
|
||||||
memory[37] <= 9'b101001011; // bankl $b, $1
|
// memory[37] <= 9'b101001011; // bankl $b, $1
|
||||||
memory[38] <= 9'b110001001; // beq $b, JE
|
// memory[38] <= 9'b110001001; // beq $b, JE
|
||||||
memory[39] <= 9'b100100001; // jf Reset
|
// memory[39] <= 9'b100100001; // jf Reset
|
||||||
// JE:
|
// // JE:
|
||||||
memory[40] <= 9'b100100011; // jf End
|
// memory[40] <= 9'b100100011; // jf End
|
||||||
// Reset:
|
// // Reset:
|
||||||
memory[41] <= 9'b010001000; // zero $b
|
// memory[41] <= 9'b010001000; // zero $b
|
||||||
memory[42] <= 9'b101001000; // banks $b, $0
|
// memory[42] <= 9'b101001000; // banks $b, $0
|
||||||
memory[43] <= 9'b101111011; // jb LoadNext
|
// memory[43] <= 9'b101111011; // jb LoadNext
|
||||||
// End:
|
// // End:
|
||||||
memory[44] <= 9'b000000000; // halt
|
// memory[44] <= 9'b000000000; // halt
|
||||||
|
|
||||||
|
|
||||||
// Binary Search
|
// Binary Search
|
||||||
|
|||||||
Reference in New Issue
Block a user