|
29bc2e6d96
|
Project: Cleaned up some code and run the project through aspell
|
2023-11-15 14:37:46 +00:00 |
|
|
7d2cb5672f
|
Reduced numbers to be sorted in gnome_sort.asm to fit in lcd, fixed hlt on real hardware, slowed down cpu, increased lcd fifo and with that I almost got gnome_sort.asm working perfectly on real hardware
|
2023-11-12 07:31:05 +00:00 |
|
|
e06c0eeaa0
|
Made the build system simplify the microcode so that yosys understands and synthesises it! Now gnome_sort.asm almost works!
|
2023-11-12 04:04:56 +00:00 |
|
|
f471b305d8
|
Switched some assignments in decode.v to non-blocking which fixed a seemingly unrelated bug with incrementing the accumulator, added some more working test code in colored_led.asm and did some semantic changes as per yosys suggestions
|
2023-11-12 02:54:41 +00:00 |
|
|
30ffa1b00c
|
Fixed a "combinatorial loop" and now if the build-in memory is reduced the design can be synthesized!
|
2023-11-06 05:36:04 +00:00 |
|
|
5ebd53b11c
|
fixed more driver conflicts
|
2023-11-06 01:35:48 +00:00 |
|
|
ae16c79b0a
|
Fixed another driver conflict
|
2023-11-05 20:18:11 +00:00 |
|
|
aa9b7c0a50
|
Removed more "conflicting driver" issues with yet more performance penalties...
|
2023-11-04 15:33:23 +00:00 |
|
|
df2975fa09
|
Fixed a lot of "conflicting driver" issues but I had to roll back an optimisation
|
2023-11-04 11:04:22 +00:00 |
|
|
694f708a32
|
Fixed some relatively low hanging fruit
|
2023-11-04 08:08:22 +00:00 |
|
|
5feee9de57
|
Added support to the build system for synthesising, place and routing, serialising and uploading the design to a Lattice ECP5 OrangeCrab FPGA
|
2023-11-02 00:29:14 +00:00 |
|
|
557d160be6
|
did some cleanup relating to the generation of the VALID_INSTRUCTION signal
|
2023-11-01 05:00:09 +00:00 |
|
|
49335a2c2f
|
Fixed a small bug in log generation and did some cleanup
|
2023-10-31 19:01:34 +00:00 |
|
|
42c319d55d
|
Lots of cleanup mainly on processor.v
|
2023-06-01 02:13:55 +01:00 |
|
|
a693b87e96
|
General cleanup and moved the reading of instruction parameters from a separate stage in execute to circuitry during the decode
|
2023-05-29 02:29:15 +01:00 |
|
|
af63ef1d68
|
Moved the decoder logic to decoder.v Now processor.v only connects the different modules
|
2023-05-27 23:35:00 +01:00 |
|
|
79d598fc64
|
Changed slogan and cleaned up some small pieces of code
|
2023-05-23 16:18:33 +01:00 |
|
|
3dd2ff59ea
|
Added 2 more test programs, 2 new instructions and fixed a bug in CMP
|
2023-05-21 01:48:50 +01:00 |
|
|
021dd06e9a
|
Added support for some more instructions, fixed a bug in CMP and also added a program that uses them
|
2023-05-19 17:59:20 +01:00 |
|
|
7db70d79ff
|
Made execute unit start at a state transition of a signal from the decoder thus allowing for an IPC of 0.99 !!
|
2023-05-17 21:30:21 +01:00 |
|
|
53e9d371d7
|
Fully optimised BIU. Now it can instantly deliver instructions back to back
|
2023-05-16 18:07:28 +01:00 |
|
|
df342467c7
|
Saved a clock cycle from microcode starts and added info in decode to allow saving a cycle on almost every instruction
|
2023-05-13 13:45:15 +01:00 |
|
|
539fb8416b
|
Fixed copyright notices, did some major cleanup and bumped README's versions
|
2023-05-11 16:28:10 +01:00 |
|
|
a8ab6b2dc7
|
Separated the execution unit from decode
|
2023-05-11 12:22:49 +01:00 |
|
|
7e612bb701
|
made BIU snoop into the processor to deliver new instructions faster and fixed some bugs
|
2023-05-10 08:31:14 +01:00 |
|
|
b7bfbd4e33
|
Improved BIU performance and debug messages
|
2023-05-10 04:05:56 +01:00 |
|
|
da51dd6da7
|
First draft of a bus interface unit in an effort to make the CPU pipelined. Currently supports code prefetching
|
2023-05-07 13:34:15 +01:00 |
|
|
f4b22951d0
|
Cleaned up some pieces of code and fixed a bug
|
2023-05-04 00:49:04 +01:00 |
|
|
bd7610879f
|
Removed erroneous file and run aspell
|
2023-03-21 14:51:39 +00:00 |
|
|
11624ca2d2
|
Added the OUT instruction to be able to properly address I/O and moved printing logic to a device on the I/O space. Also added IRET which is basically just a RET in this case
|
2023-03-09 06:03:13 +00:00 |
|
|
9de83fd7c1
|
Added partial support for the software interrupt INT instruction
|
2023-03-08 07:26:28 +00:00 |
|
|
ba52ff89e6
|
Fixed most problems verilator's linter found
|
2023-03-04 06:22:28 +00:00 |
|
|
59ec1b7a15
|
Removed remnants of the old memory addressing system
|
2023-03-03 20:43:25 +00:00 |
|
|
f60084344e
|
Overhauled cpu frontend. Made memory byte addressable (necessary), cleaned up state machine and fixed small bug with MOV
|
2023-03-03 06:29:06 +00:00 |
|
|
f7d76f1944
|
Removed useless state in the state machine and ran the project through aspell
|
2023-02-26 02:46:43 +00:00 |
|
|
6e8d951360
|
Increased the accessible memory and got the Mandelbrot renderer working under the brainfuck compiler!
|
2023-02-24 17:38:23 +00:00 |
|
|
6ea34a3525
|
Added MOV Immidiate to REG/MEM
|
2023-02-24 15:25:45 +00:00 |
|
|
5af6d720c3
|
Fixed ADD again and some memory read logic. Compiler runs the default brainfuck message program!!
|
2023-02-24 14:10:07 +00:00 |
|
|
3e484a0ceb
|
Added register indirect unconditional jump
|
2023-02-24 13:04:32 +00:00 |
|
|
9ed3dc3312
|
Fixed bug introduced in a previous commit about fixing ADD
|
2023-02-24 12:48:03 +00:00 |
|
|
96b7a4d298
|
Added the SUB instruction (piggybacking off of ADD) AND THE COMPILER FINISHES GENERATING CODE!!
|
2023-02-24 12:47:32 +00:00 |
|
|
808827cbdd
|
Fixed arg bug in ADD
|
2023-02-24 11:54:13 +00:00 |
|
|
355c673a37
|
Added a POP instruction
|
2023-02-24 11:31:15 +00:00 |
|
|
c3580848de
|
Added bitwise TEST instruction
|
2023-02-24 10:08:01 +00:00 |
|
|
abee49d6c3
|
Implemented PUSH instruction, fixed register addressing bug and a RET bug
|
2023-02-24 07:32:27 +00:00 |
|
|
a189da249c
|
Added STOS instruction. Native brainfuck compiler started generating code!
|
2023-02-24 05:01:55 +00:00 |
|
|
e684db8348
|
Added support to CMP for compare memory to opcode parameter, added support for both PROC_DE_LOAD_?_PARAM and PROC_MEMIO_READ at the same command and associated changes
|
2023-02-24 02:18:48 +00:00 |
|
|
c4ac55d4c3
|
Implemented the RET instruction,fixed CALL bug, clarified MOD naming and usage
|
2023-02-23 14:48:48 +00:00 |
|
|
7fde422341
|
Added Microcode support, Stack, implemented the CALL instruction in microcode and grouped the wires on the decoder module
|
2023-02-22 01:28:23 +00:00 |
|
|
e2e9a92832
|
Cleaned the decoder a bit and laid down some of the groundwork for microcode
|
2023-02-19 16:22:23 +00:00 |
|