diff --git a/README.md b/README.md index 0921308..04a8e28 100644 --- a/README.md +++ b/README.md @@ -77,6 +77,20 @@ Total PLLs : 1 / 4 ( 25 % ) The maximum frequency is 39 MHz. The project uses a 30 MHz clock. +### CPU benchmarks + +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 | + + ### Running software The ao486 successfuly runs the following software: diff --git a/bios/bochs-2.6.2/rombios.c.diff b/bios/bochs-2.6.2/rombios.c.diff deleted file mode 100644 index f93622b..0000000 --- a/bios/bochs-2.6.2/rombios.c.diff +++ /dev/null @@ -1,59 +0,0 @@ -185c185 -< mov ax,#0x21 //ao #?1 ---- -> mov ax,#?1 -1540,1545c1540,1541 -< if((action & BIOS_PRINTF_DEBUG) || (action & BIOS_PRINTF_INFO) || (action & BIOS_PRINTF_SCREEN)) { -< while(inw(DEBUG_PORT+6) == 0) { ; } -< } -< if (action & BIOS_PRINTF_DEBUG) outb(DEBUG_PORT, c); -< if (action & BIOS_PRINTF_INFO) outb(INFO_PORT, c); -< if (action & BIOS_PRINTF_SCREEN) outb(INFO_PORT, c); ---- -> if (action & BIOS_PRINTF_DEBUG) outb(DEBUG_PORT, c); -> if (action & BIOS_PRINTF_INFO) outb(INFO_PORT, c); -1709c1705 -< outb(PANIC_PORT2, '&'); //ao 0x00 ---- -> outb(PANIC_PORT2, 0x00); -2516,2518c2512 -< //AO modif -< Bit16u time=0,last=0; -< //AO modif ---- -> Bit32u time=0,last=0; -2539,2541c2533 -< //AO modif -< if (time>>8 != last) // mod 2048 each 16 ms -< //AO modif ---- -> if (time>>16 != last) // mod 2048 each 16 ms -2543,2548c2535,2536 -< //AO modif -< last = time >>8; -< //AO modif -< //AO modif -< BX_DEBUG_ATA("await_ide: (TIMEOUT,BSY,!BSY,!BSY_DRQ,!BSY_!DRQ,!BSY_RDY) %d time= %ld timeout= %d, status= %x\n",when_done,time>>3, timeout, status); -< //AO modif ---- -> last = time >>16; -> BX_DEBUG_ATA("await_ide: (TIMEOUT,BSY,!BSY,!BSY_DRQ,!BSY_!DRQ,!BSY_RDY) %d time= %ld timeout= %d\n",when_done,time>>11, timeout); -2552,2554c2540 -< //AO modif -< BX_DEBUG_ATA("await_ide: ERROR (TIMEOUT,BSY,!BSY,!BSY_DRQ,!BSY_!DRQ,!BSY_RDY) %d time= %ld timeout= %d\n",when_done,time>>3, timeout); -< //AO modif ---- -> BX_DEBUG_ATA("await_ide: ERROR (TIMEOUT,BSY,!BSY,!BSY_DRQ,!BSY_!DRQ,!BSY_RDY) %d time= %ld timeout= %d\n",when_done,time>>11, timeout); -2557,2559c2543 -< //AO modif -< if ((timeout == 0) || ((time>>3) > timeout)) break; -< //AO modif ---- -> if ((timeout == 0) || ((time>>11) > timeout)) break; -3118,3121c3102 -< //AO modification start -< //modif if(ioflag == 0) await_ide(NOT_BSY, iobase1, IDE_TIMEOUT); -< await_ide(NOT_BSY, iobase1, IDE_TIMEOUT); -< //AO modification end ---- -> if(ioflag == 0) await_ide(NOT_BSY, iobase1, IDE_TIMEOUT); diff --git a/bios/bochs-2.6.2/rombios.h.diff b/bios/bochs-2.6.2/rombios.h.diff deleted file mode 100644 index 9723301..0000000 --- a/bios/bochs-2.6.2/rombios.h.diff +++ /dev/null @@ -1,26 +0,0 @@ -42,45c42,45 -< #define PANIC_PORT 0x8888 //ao 0x400 -< #define PANIC_PORT2 0x8888 //ao 0x401 -< #define INFO_PORT 0x8888 //ao 0x402 -< #define DEBUG_PORT 0x8888 //ao 0x403 ---- -> #define PANIC_PORT 0x400 -> #define PANIC_PORT2 0x401 -> #define INFO_PORT 0x402 -> #define DEBUG_PORT 0x403 -98,100c98,100 -< #define BX_PCIBIOS 0 //ao -< #define BX_APM 0 //ao -< #define BX_PNPBIOS 0 //ao ---- -> #define BX_PCIBIOS 1 -> #define BX_APM 1 -> #define BX_PNPBIOS 1 -105c105 -< #define BX_ELTORITO_BOOT 0 //ao ---- -> #define BX_ELTORITO_BOOT 1 -110c110 -< #define BX_VIRTUAL_PORTS 0 //ao /* normal output to Bochs ports */ ---- -> #define BX_VIRTUAL_PORTS 1 /* normal output to Bochs ports */ diff --git a/bios/vgabios-0.7a/Makefile.diff b/bios/vgabios-0.7a/Makefile.diff deleted file mode 100644 index 4ba45b2..0000000 --- a/bios/vgabios-0.7a/Makefile.diff +++ /dev/null @@ -1,10 +0,0 @@ -34,35c34 -< vgabios.bin : VGAFLAGS := -< #-DVBE -DPCIBIOS ---- -> vgabios.bin : VGAFLAGS := -DVBE -DPCIBIOS -47,48c46 -< vgabios.bin : $(VGA_FILES) biossums -< #$(VGA_FILES) $(VBE_FILES) biossums ---- -> vgabios.bin : $(VGA_FILES) $(VBE_FILES) biossums diff --git a/syn/components/ao486/ao486.sdc b/syn/components/ao486/ao486.sdc index 6ef790d..bd5f2a4 100644 --- a/syn/components/ao486/ao486.sdc +++ b/syn/components/ao486/ao486.sdc @@ -23,7 +23,7 @@ # Clock constraints -create_clock -name "clk" -period 20.000ns [get_ports {clk}] +create_clock -name "clk" -period 30.000ns [get_ports {clk}] # Automatically constrain PLL and other generated clocks diff --git a/syn/soc/firmware/exe/main.cpp b/syn/soc/firmware/exe/main.cpp index 57b7468..dae8f38 100644 --- a/syn/soc/firmware/exe/main.cpp +++ b/syn/soc/firmware/exe/main.cpp @@ -947,6 +947,8 @@ int main() { alt_irq_disable_all(); + runtime_menu(); + //release reset - start executing IOWR(PIO_OUTPUT_BASE, 0, 0x00); diff --git a/syn/soc/firmware/exe_bsp/settings.bsp b/syn/soc/firmware/exe_bsp/settings.bsp index 32c5bde..96e56a2 100644 --- a/syn/soc/firmware/exe_bsp/settings.bsp +++ b/syn/soc/firmware/exe_bsp/settings.bsp @@ -2,8 +2,8 @@ hal default - Mar 30, 2014 5:20:07 PM - 1396192807247 + Apr 2, 2014 12:46:00 AM + 1396392360587 /home/alek/aktualne/github/ao486/syn/soc/firmware/exe_bsp settings.bsp ../../system.sopcinfo diff --git a/syn/soc/firmware/exe_bsp/summary.html b/syn/soc/firmware/exe_bsp/summary.html index 1b39710..1a71c34 100644 --- a/syn/soc/firmware/exe_bsp/summary.html +++ b/syn/soc/firmware/exe_bsp/summary.html @@ -22,10 +22,10 @@

BSP Description

BSP Version:default -BSP Generated On:Mar 30, 2014 5:20:07 PM +BSP Generated On:Apr 2, 2014 12:46:00 AM -BSP Generated Timestamp:1396192807247 +BSP Generated Timestamp:1396392360587 BSP Generated Location:/home/alek/aktualne/github/ao486/syn/soc/firmware/exe_bsp