Commit Graph

33 Commits

Author SHA1 Message Date
84be5eed67 Boot_code/BIOS: Split the litedram init off to a separate file and included the brainfuck compiler in the bios as a demo for the ram 2023-12-05 03:07:14 +00:00
63ea29e399 Peripherals/Memory: Added support for the litedram DDR memory controller, created a new memory map and updated all relevant code and files including the addition of rudimentary wait state support for the cpu (BIU) 2023-12-03 19:24:39 +00:00
98d30a1813 Project: removed a .fst.hier file thought to be generated by gtkwave and added the type to gitignore 2023-11-15 00:32:40 +00:00
0ca1da81b1 Assembly code: Fixed a bug where the compiler would print a null byte which was masked by the verilog simulators 2023-11-14 21:14:45 +00:00
2c8e8a9d9c Added simple support for \n and \r on the HD44780 driver, increased the synthesised mem to fit brainfuck_compiled.asm and made it the default. 2023-11-12 21:39:27 +00:00
618c3102d8 Fixed some dependencies on the makefiles 2023-11-12 13:30:12 +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
863af26422 Forgot to add the changes to colored_led.asm from the previous commit 2023-11-09 23:08:12 +00:00
01dcbfa7a1 The CPU works on real hardware for the first time! I added an adjustment for ram size, added control for a led and a test program for it. On the fpga board there is an actual led there that I used to verify functionality 2023-11-06 08:13:36 +00:00
aa9b7c0a50 Removed more "conflicting driver" issues with yet more performance penalties... 2023-11-04 15:33:23 +00:00
3a63e916f5 Added cycles to waveform capture for icarus verilog 2023-10-31 19:32:35 +00:00
35a5a9ada2 Added more data to a test program 2023-05-22 22:33:00 +01:00
6c146098ee Removed useless code from cache_fill_and_empty.asm 2023-05-21 03:01:24 +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
07d2a80b2e Added code to record statistics and a tool to plot them 2023-05-14 16:06:33 +01:00
2f9a8fa236 Improved DOS char print code 2023-03-14 07:20:30 +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
99cbc49e95 Wrote a more complete testbench for verilator, switched from lx2 to fst and fixed cpu clock frequency calculation 2023-03-05 00:10:55 +00:00
b00cd988cf Cleaned up boot_code 2023-03-03 19:36:28 +00:00
0c36e9d78c Added message about compilation process on the compiler and fixed Makefile dependencies 2023-02-25 01:42:45 +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
cac01f0333 Fixed Makefile bug 2023-02-22 01:51:14 +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
619702384b Wrote an optimised native brainfuck compiler intended to be the default program running on release v0.1 utilising a good precentage of the 8086 instruction set 2023-02-19 21:42:59 +00:00
e6c9c722e3 Run the project through aspell and tweaked the README 2023-02-19 00:52:52 +00:00
fd4a9b5442 Fixed register addressing bug, mem read endianness, cleaned up code and added a provisional project logo 2023-02-19 00:20:53 +00:00
ed3d7101d3 Further improved build system and changed brainfuck print message 2023-02-16 23:26:32 +00:00
ded47555a5 Improved build system and project directory structure 2023-02-16 01:52:02 +00:00