Project: updated copyright notices and README and fixed a few spelling mistakes

This commit is contained in:
(Tim) Efthimis Kritikos 2024-02-10 15:52:13 +00:00
parent 1966ab78b4
commit be402aa8f7
32 changed files with 111 additions and 36 deletions

View File

@ -1,6 +1,6 @@
# This file is part of the 9086 project. # This file is part of the 9086 project.
# #
# Copyright (c) 2023 Efthymios Kritikos # Copyright (c) 2024 Efthymios Kritikos
# #
# This program is free software: you can redistribute it and/or modify # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by

View File

@ -20,16 +20,16 @@ A CPU that aims to be binary compatible with the 8086 ISA, focused on optimisati
Both Verilator and Icarus Verilog can be used for simulation. You can select which one you want with the SIM variable on [./common.mk](./common.mk). Both Verilator and Icarus Verilog can be used for simulation. You can select which one you want with the SIM variable on [./common.mk](./common.mk).
This list shows the software needed and the versions used during development : This list shows the software needed and the versions used during development :
* Icarus Verilog : version 12.0 OR **(preferred)** Verilator : 5.016 * Icarus Verilog : version 12.0 OR **(preferred)** Verilator : 5.018
* bin86 : 0.16.21 * bin86 : 0.16.21
* GNU Make : 4.4.1 * GNU Make : 4.4.1
* xxd : 2022-01-14 * xxd : 2023-10-25
* POSIX coreutils : GNU coreutils 9.4 * POSIX coreutils : GNU coreutils 9.4
After that you can run `make` on the top level directory and it should build everything and start the simulation After that you can run `make` on the top level directory and it should build everything and start the simulation
### Synthesis and bitstream creation for FPGAs ### Synthesis and bitstream creation for FPGAs
You need to set FPGA\_BOARD in [./common.mk](./common.mk) to the name of a directory inside [./system/fpga\_config/](system/fpga_config/). You should also check inside your board directory for config.mk for further board-specific configuration options. Then you can run `make upload_bitstream` in the top level directory and it should create the bitstream and upload it. You need to set FPGA\_BOARD in [./common.mk](./common.mk) to the name of a directory inside [./system/fpga\_config/](system/fpga_config/). You should also check inside your board directory for config.mk for further board-specific configuration options like the model of I2C boot rom (if any). Then you can run `make upload_bitstream` in the top level directory and it should create the bitstream and upload it to the fpga. Depending on the board you might need to run `make upload_bootrom` to upload the boot code to an I2C eeprom.
These are the currently supported FPGA boards: These are the currently supported FPGA boards:
@ -37,10 +37,10 @@ These are the currently supported FPGA boards:
This list shows the software needed and the versions used during development : This list shows the software needed and the versions used during development :
* yosys : 0.35 * yosys : 0.37
* bin86 : 0.16.21 * bin86 : 0.16.21
* GNU Make : 4.4.1 * GNU Make : 4.4.1
* xxd : 2022-01-14 * xxd : 2023-10-25
* POSIX coreutils : GNU coreutils 9.4 * POSIX coreutils : GNU coreutils 9.4
Additionally, for ECP5 FPGAs: Additionally, for ECP5 FPGAs:
@ -52,6 +52,10 @@ Additionally, for FPGAs using the [foboot](https://github.com/im-tomu/foboot) bo
* dfu-util : 0.11 * dfu-util : 0.11
Additionally, for boards that require an I2C eeprom to boot from
* minipro : 0.6 - ( git commit a227bce77d1b592785558e0af58ae2b0b97d4a23 )
Additionally, if you need a DRAM/DDR controller, the project supports litedram but all the dependencies Additionally, if you need a DRAM/DDR controller, the project supports litedram but all the dependencies
needed to build it are downloaded automatically by the appropriate script. needed to build it are downloaded automatically by the appropriate script.

View File

@ -1,6 +1,6 @@
# This file is part of the 9086 project. # This file is part of the 9086 project.
# #
# Copyright (c) 2023 Efthymios Kritikos # Copyright (c) 2024 Efthymios Kritikos
# #
# This program is free software: you can redistribute it and/or modify # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
; ;
; This file is part of the 9086 project. ; This file is part of the 9086 project.
; ;
; Copyright (c) 2023 Efthymios Kritikos ; Copyright (c) 2024 Efthymios Kritikos
; ;
; This program is free software: you can redistribute it and/or modify ; This program is free software: you can redistribute it and/or modify
; it under the terms of the GNU General Public License as published by ; it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
; ;
; This file is part of the 9086 project. ; This file is part of the 9086 project.
; ;
; Copyright (c) 2023 Efthymios Kritikos ; Copyright (c) 2024 Efthymios Kritikos
; ;
; This program is free software: you can redistribute it and/or modify ; This program is free software: you can redistribute it and/or modify
; it under the terms of the GNU General Public License as published by ; it under the terms of the GNU General Public License as published by

View File

@ -1 +0,0 @@
,user,localhost,24.10.2023 00:59,file:///home/user/.config/libreoffice/4;

View File

@ -1,6 +1,6 @@
# This file is part of the 9086 project. # This file is part of the 9086 project.
# #
# Copyright (c) 2023 Efthymios Kritikos # Copyright (c) 2024 Efthymios Kritikos
# #
# This program is free software: you can redistribute it and/or modify # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
This file is part of the 9086 project. This file is part of the 9086 project.
Copyright (c) 2023 Efthymios Kritikos Copyright (c) 2024 Efthymios Kritikos
This program is free software: you can redistribute it and/or modify This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
This file is part of the 9086 project. This file is part of the 9086 project.
Copyright (c) 2023 Efthymios Kritikos Copyright (c) 2024 Efthymios Kritikos
This program is free software: you can redistribute it and/or modify This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -3,7 +3,7 @@
This file is part of the 9086 project. This file is part of the 9086 project.
Copyright (c) 2023 Efthymios Kritikos Copyright (c) 2024 Efthymios Kritikos
This program is free software: you can redistribute it and/or modify This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
This file is part of the 9086 project. This file is part of the 9086 project.
Copyright (c) 2023 Efthymios Kritikos Copyright (c) 2024 Efthymios Kritikos
This program is free software: you can redistribute it and/or modify This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
This file is part of the 9086 project. This file is part of the 9086 project.
Copyright (c) 2023 Efthymios Kritikos Copyright (c) 2024 Efthymios Kritikos
This program is free software: you can redistribute it and/or modify This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -3,7 +3,7 @@
This file is part of the 9086 project. This file is part of the 9086 project.
Copyright (c) 2023 Efthymios Kritikos Copyright (c) 2024 Efthymios Kritikos
This program is free software: you can redistribute it and/or modify This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
This file is part of the 9086 project. This file is part of the 9086 project.
Copyright (c) 2023 Efthymios Kritikos Copyright (c) 2024 Efthymios Kritikos
This program is free software: you can redistribute it and/or modify This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
This file is part of the 9086 project. This file is part of the 9086 project.
Copyright (c) 2023 Efthymios Kritikos Copyright (c) 2024 Efthymios Kritikos
This program is free software: you can redistribute it and/or modify This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
This file is part of the 9086 project. This file is part of the 9086 project.
Copyright (c) 2023 Efthymios Kritikos Copyright (c) 2024 Efthymios Kritikos
This program is free software: you can redistribute it and/or modify This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
This file is part of the 9086 project. This file is part of the 9086 project.
Copyright (c) 2023 Efthymios Kritikos Copyright (c) 2024 Efthymios Kritikos
This program is free software: you can redistribute it and/or modify This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
This file is part of the 9086 project. This file is part of the 9086 project.
Copyright (c) 2023 Efthymios Kritikos Copyright (c) 2024 Efthymios Kritikos
This program is free software: you can redistribute it and/or modify This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
This file is part of the 9086 project. This file is part of the 9086 project.
Copyright (c) 2023 Efthymios Kritikos Copyright (c) 2024 Efthymios Kritikos
This program is free software: you can redistribute it and/or modify This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
@ -103,7 +103,7 @@ always @( posedge clock )begin
just_transacted<=2'd1; just_transacted<=2'd1;
end end
end end
end else if(just_transacted!=2'd0&&CYCLE_END==1'b1)begin // In the unlikely senario that the CPU wants to write without having checked for the previous write end else if(just_transacted!=2'd0&&CYCLE_END==1'b1)begin // In the unlikely scenario that the CPU wants to write without having checked for the previous write
WISHBONE_STATUS[0:0]<=WISHBONE_ACK_IN; WISHBONE_STATUS[0:0]<=WISHBONE_ACK_IN;
WISHBONE_STATUS[1:1]<=WISHBONE_ERROR_IN; WISHBONE_STATUS[1:1]<=WISHBONE_ERROR_IN;
WISHBONE_ACTIVE_CYCLE<=0; WISHBONE_ACTIVE_CYCLE<=0;

View File

@ -2,7 +2,7 @@
This file is part of the 9086 project. This file is part of the 9086 project.
Copyright (c) 2023 Efthymios Kritikos Copyright (c) 2024 Efthymios Kritikos
This program is free software: you can redistribute it and/or modify This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -3,7 +3,7 @@
This file is part of the 9086 project. This file is part of the 9086 project.
Copyright (c) 2023 Efthymios Kritikos Copyright (c) 2024 Efthymios Kritikos
This program is free software: you can redistribute it and/or modify This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -4,7 +4,7 @@
This file is part of the 9086 project. This file is part of the 9086 project.
Copyright (c) 2023 Efthymios Kritikos Copyright (c) 2024 Efthymios Kritikos
This program is free software: you can redistribute it and/or modify This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
This file is part of the 9086 project. This file is part of the 9086 project.
Copyright (c) 2023 Efthymios Kritikos Copyright (c) 2024 Efthymios Kritikos
This program is free software: you can redistribute it and/or modify This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
This file is part of the 9086 project. This file is part of the 9086 project.
Copyright (c) 2023 Efthymios Kritikos Copyright (c) 2024 Efthymios Kritikos
This program is free software: you can redistribute it and/or modify This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
This file is part of the 9086 project. This file is part of the 9086 project.
Copyright (c) 2023 Efthymios Kritikos Copyright (c) 2024 Efthymios Kritikos
This program is free software: you can redistribute it and/or modify This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
This file is part of the 9086 project. This file is part of the 9086 project.
Copyright (c) 2023 Efthymios Kritikos Copyright (c) 2024 Efthymios Kritikos
This program is free software: you can redistribute it and/or modify This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
This file is part of the 9086 project. This file is part of the 9086 project.
Copyright (c) 2023 Efthymios Kritikos Copyright (c) 2024 Efthymios Kritikos
This program is free software: you can redistribute it and/or modify This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
This file is part of the 9086 project. This file is part of the 9086 project.
Copyright (c) 2023 Efthymios Kritikos Copyright (c) 2024 Efthymios Kritikos
This program is free software: you can redistribute it and/or modify This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -1,4 +1,22 @@
#!/bin/sh #!/bin/sh
#
# docker_build_tests.sh - Tests the build process on various distributions with docker
#
# Copyright (c) 2024 Efthymios Kritikos
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
set -eu set -eu
PROJDIRNAME=$(basename $(realpath "$(dirname "$0")"/..)) PROJDIRNAME=$(basename $(realpath "$(dirname "$0")"/..))

View File

@ -1,4 +1,22 @@
#!/bin/sh #!/bin/sh
#
# gen_litedram.sh - Downloads and generates the litedram verilog source code for a specific phy or for simulation
#
# Copyright (c) 2024 Efthymios Kritikos
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
set -eu set -eu
SOURCE_CODE_URL=https://github.com/enjoy-digital/litedram/archive/refs/tags/2023.08.tar.gz SOURCE_CODE_URL=https://github.com/enjoy-digital/litedram/archive/refs/tags/2023.08.tar.gz
@ -107,7 +125,7 @@ wget --output-document=source.tar.gz --quiet "$SOURCE_CODE_URL"
if [ "$(md5sum source.tar.gz)" != "${SOURCE_MD5_SUM} source.tar.gz" ] if [ "$(md5sum source.tar.gz)" != "${SOURCE_MD5_SUM} source.tar.gz" ]
then then
echo Downlaoded litedram source downloaded doesn\'t match md5 sum echo Downloaded litedram source downloaded doesn\'t match md5 sum
exit 1 exit 1
fi fi
@ -213,11 +231,11 @@ if ! [ "$(sed 's@//.*@@' build/gateware/litedram_core.v | md5sum )" = "$CHECK_MD
then then
if [ "$FORCE" = 0 ] if [ "$FORCE" = 0 ]
then then
echo ERROR: File was successfully bult but the md5sum doesn\'t match the one used in development. echo ERROR: File was successfully built but the md5sum doesn\'t match the one used in development.
echo You can ignore this error by passing the --force flag echo You can ignore this error by passing the --force flag
exit 1 exit 1
else else
echo WARNING: File was successfully bult but the md5sum doesn\'t match the one used in development. echo WARNING: File was successfully built but the md5sum doesn\'t match the one used in development.
fi fi
fi fi

View File

@ -1,4 +1,22 @@
#!/bin/sh #!/bin/sh
#
# parse_nextpnr_stats.sh - Reads a nextpnr json report file and generates some basic statistics about the design
#
# Copyright (c) 2024 Efthymios Kritikos
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
set -eu set -eu
if ! which jq &> /dev/null if ! which jq &> /dev/null

View File

@ -1,4 +1,22 @@
#!/bin/sh #!/bin/sh
#
# plot.sh - Parses the runtime simulation json data and plots them to an svg file
#
# Copyright (c) 2024 Efthymios Kritikos
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
set -euf set -euf
print_help(){ print_help(){