Loading repository data…
Loading repository data…
alfikpl / repository
The ao486 is an x86 compatible Verilog core implementing all features of a 486 SX.
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
The ao486 is an x86 compatible Verilog core implementing all features of a 486 SX. The core was modeled and tested based on the Bochs software x86 implementation. Together with the 486 core, the ao486 project also contains a SoC capable of booting the Linux kernel version 3.13 and Microsoft Windows 95.
The ao486 processor model has the following features:
The ao486 SoC consists of the following components:
All components are modeled as Altera Qsys components. Altera Qsys connects all parts together, and supplies the SDRAM controller.
The ao486 project is currently only running on the Terasic DE2-115 board.
The project is synthesised for the Altera Cyclone IV E EP4CE115F29C7 device. Resource utilization is as follows:
| Unit | Logic cells | M9K memory blocks |
|---|---|---|
| ao486 processor | 36517 | 47 |
| floppy | 1514 | 2 |
| hdd | 2071 | 17 |
| nios2 | 1056 | 3 |
| onchip for nios2 | 0 | 32 |
| pc_dma | 848 | 0 |
| pic | 388 | 0 |
| pit | 667 | 0 |
| ps2 | 742 | 2 |
| rtc | 783 | 1 |
| sound | 37131 | 29 |
| vga | 2534 | 260 |
The fitter raport after compiling all components of the ao486 project is as follows:
Fitter Status : Successful - Sun Mar 30 21:00:13 2014
Quartus II 64-Bit Version : 13.1.0 Build 162 10/23/2013 SJ Web Edition
Revision Name : soc
Top-level Entity Name : soc
Family : Cyclone IV E
Device : EP4CE115F29C7
Timing Models : Final
Total logic elements : 91,256 / 114,480 ( 80 % )
Total combinational functions : 86,811 / 114,480 ( 76 % )
Dedicated logic registers : 26,746 / 114,480 ( 23 % )
Total registers : 26865
Total pins : 108 / 529 ( 20 % )
Total virtual pins : 0
Total memory bits : 2,993,408 / 3,981,312 ( 75 % )
Embedded Multiplier 9-bit elements : 44 / 532 ( 8 % )
Total PLLs : 1 / 4 ( 25 % )
The maximum frequency is 39 MHz. The project uses a 30 MHz clock.
The package DosTests.zip from http://www.roylongbottom.org.uk/dhrystone%20results.htm was used to benchmark the ao486.
| Test | Result |
|---|---|
| Dhryston 1 Benchmark Non-Optimised | 1.00 VAX MIPS |
| Dhryston 1 Benchmark Optimised | 4.58 VAX MIPS |
| Dhryston 2 Benchmark Non-Optimised | 1.01 VAX MIPS |
| Dhryston 2 Benchmark Optimised | 3.84 VAX MIPS |
The ao486 successfuly runs the following software:
The ao486 project uses the BIOS from the Bochs project (http://bochs.sourceforge.net, version 2.6.2). Some minor changes were required to support the hard drive.
The VGA BIOS is from the VGABIOS project (http://www.nongnu.org/vgabios, version 0.7a). No changes were required. The VGA model does not have VBE extensions, so the extensions were disabled.
The ao486 SoC uses a Altera NIOS2 processor for managing all components and displaying the contents of the On Screen Display.
The OSD allows the user to insert and remove floppy disks.
All files in the following directories:
are licensed under the BSD license:
All files in the following directories:
are taken from the Bochs Project and are licensed under the LGPL license.
The binary file sd/fd_1_44m/fdboot.img is taken from the FreeDOS project.
The binary file sd/bios/bochs_legacy is a compiled BIOS from the Bochs project.
The binary file sd/vgabios/vgabios-lgpl is a compiled VGA BIOS from the vgabios project.
To compile the SoC, which contains the NIOS II microcontroller, Altera Quartus II software is required. The Verilog components of the SoC, in particular the ao486 processor, should be possible to compile in any Verilog compiler. Currently synthesis project files are prepared only for Altera Quartus II.
NOTE: In the current version some synthesis project files -- especially the paths in those files, could be broken.
To compile the ao486 processor load the project file from syn/components/ao486/ao486.qpf.
To compile the ao486 SoC load the project file from syn/soc/soc.qpf.
Before compiling in Altera Quartus II, the Qsys system must be generated.
To compile the BIOS do the following:
To compile the VGABIOS do the following: