Benjamin Ramhorst
d6bb9bd762
Added infrastructure for Fibonacci's number
2020-06-10 20:10:34 +01:00
Benjamin Ramhorst
3e4e5569b1
Added testing for Fibonacci and linked list
2020-06-10 18:01:31 +01:00
Aadi Desai
4688a56452
Modified Test Program to add LDR and STR
...
Also fixed logic within decoder for LDR and STR
2020-06-10 15:51:51 +01:00
Kacper
719c9ede2b
Added decoder logic for STR and LDR
2020-06-10 14:40:58 +01:00
Aadi Desai
a1cf89e644
Added LDR and STR to alu and set up data paths
...
Decoder changes remaining
2020-06-10 14:02:15 +01:00
Kacper
a249245102
Merge branch 'master' of https://github.com/supleed2/CPUProject
2020-06-10 13:00:43 +01:00
Kacper
6839781fa0
Added STR and LDR to the cpp generator
2020-06-10 13:00:40 +01:00
Aadi Desai
d046242bc1
Final State before Pipelining
...
Debug Complete, data and instruction mifs + ram files. Test program checked
2020-06-09 22:45:20 +01:00
Aadi Desai
7a02c2c234
Merge pull request #1 from supleed2/alu
...
Alu MUL, MLA and MLS fixed. LUT in multiply block fixed.
2020-06-09 20:35:41 +01:00
Aadi Desai
fefcad13ce
Updated alu to feed only positive values to multiply block
...
When both values are positive/negative the positive result from the multiply block is correct. When only one is negative, the result is inverted.
2020-06-09 20:34:29 +01:00
Aadi Desai
12da9b94a5
Updated LUT to have an unregistered output
...
Allows Multiply block output to be valid after 1 clock cycle rather than 2
2020-06-09 20:33:10 +01:00
Kacper
20f2adc4a1
Removed some waveform and test files
2020-06-09 19:01:55 +01:00
Kacper
46282576df
Added pipelined SM and block needed for pipelining
2020-06-09 15:49:41 +01:00
Kacper
778dd7f538
Update test_no_mul.txt
2020-06-09 12:11:06 +01:00
Kacper
7b6806967d
Update data.mif
2020-06-08 23:08:11 +01:00
Kacper
2f6cbeae56
Debugging complete!
...
The CPU works now except for the multiply commands. Pipelining is next! Woooo!
2020-06-08 23:07:52 +01:00
Kacper
c2ce212ed5
Fixed ASR in C++ generator
2020-06-08 21:37:12 +01:00
Kacper
47f20744ac
Added new test mif with no multiplication
2020-06-08 13:13:26 +01:00
Kacper
24b293e24b
Recompiled certain files
2020-06-08 12:10:14 +01:00
Kacper
8272afe500
Merge branch 'master' of https://github.com/supleed2/CPUProject
2020-06-07 23:23:20 +01:00
Kacper
3d9ea175cd
Working on debugging
...
The multiplier uses a 2 port ROM. For some reason, I cannot generate one on my machine and so I cannot change the exusting LUT ROM to remove the register outputs. If someone else can do it (Ben), that would be great.
2020-06-07 23:23:13 +01:00
Kacper
64ca41b287
Resolved ISA conflict
2020-06-07 22:35:29 +01:00
Kacper
b527d5e77d
Debugging CPU
2020-06-07 20:51:33 +01:00
Aadi Desai
94124c5a0e
Update LIFOstack to support 32 memory slots
...
Also fixed typo on line 15, previous version had a pointer for 16 slots but the memory register only had 4 slots
2020-06-07 20:05:46 +01:00
Kacper
42739283f5
Update .gitignore
2020-06-07 17:45:40 +01:00
Kacper
24e22f13ec
Fixed instrGen and added large test
...
Also added a note about the OR instruction. Either to fix later or leave as is.
2020-06-07 17:41:37 +01:00
Kacper
0b1ffea9ce
Updated instruction generator to include new opcodes
2020-06-07 17:10:37 +01:00
Kacper
9a1a1da664
Complete CPU v2 (not tested)
2020-06-07 16:12:05 +01:00
Kacper
685f69a7cf
Almost ready CPU
...
Changed the MUX blocks into Verilog just cuz they look neater and are probably more optimised in the end. Added the LIFO stack. Working on decoder logic.
2020-06-07 15:08:34 +01:00
Aadi Desai
f6b3489884
Updated ALU to include PSH and POP
2020-06-04 18:12:24 +01:00
Aadi Desai
7997617e00
Add stack Verilog file
...
Uses Last In First Out ordering
2020-06-04 18:03:46 +01:00
Kacper
4318a5b70b
CPU completed
2020-06-04 16:33:27 +01:00
Aadi Desai
12bd671c00
Merge branch 'master' of https://github.com/supleed2/CPUProject
2020-06-04 15:05:17 +01:00
Aadi Desai
08a8635959
Updated ALU to use internal carry register
...
Also tidied up begin/end tags to reduce number of lines and improve readability
2020-06-04 15:05:13 +01:00
Benjamin Ramhorst
f8edff65a1
Merge branch 'master' of https://github.com/supleed2/CPUProject
2020-06-04 00:36:27 +01:00
Benjamin Ramhorst
09dd851499
Completed source code for generating .mif files from opcodes and registers
2020-06-04 00:36:11 +01:00
Aadi Desai
3647e0b15c
ALU now uses multiply block rather than * operator
...
Updated to use custom block and decide which step of MUL, MLA and MLS depending on exec2 input
2020-06-03 15:15:44 +01:00
Kacper
1c0032fa95
Fixed decoder and SM
2020-06-02 20:09:22 +01:00
Aadi Desai
e1d7bf884d
Merge branch 'master' of https://github.com/supleed2/CPUProject
2020-06-02 16:58:04 +01:00
Aadi Desai
2ca1e90a2c
ALU enable control added, minor fix with RRC
...
Multiply still to be updated
2020-06-02 16:57:58 +01:00
ben
5d6c9803fc
Implemented multiplication fully. 16 bits and 8 bits multiplier circuits available
2020-05-29 09:47:44 -07:00
Aadi Desai
3f0c91b0ff
Initial ALU Verilog
...
Currently using incorrect implementation for Multiply (* operator), to be fixed once Multiply method is decided
2020-05-29 14:16:02 +01:00
Benjamin Ramhorst
fedfcaaada
Added most of the code for generating the instruction MIF. Still need to do a big if-else statement for every instruction.
2020-05-28 14:42:02 -07:00
ben
3d6e456fcc
Almost completed 16 bit multiplier.
2020-05-28 15:02:22 -07:00
ben
e39d2f653a
Started working on the multiply block. Added absolute value block.
2020-05-28 09:11:14 -07:00
Kacper
132e1ad7fe
Delete DECODE.v.bak
2020-05-27 18:59:12 +01:00
Kacper
cf179ad2cf
Revisions for testing
2020-05-27 18:53:59 +01:00
Kacper
e1acb56b66
Finished decoder
2020-05-27 18:53:03 +01:00
Kacper
1747e0c0b2
Delete cbx_args.txt
2020-05-27 11:10:59 +01:00
Kacper
5ed70dabb0
Working on datapath
2020-05-27 11:10:13 +01:00