Committed on the Free edition of March Hare Software CVSNT Server. Upgrade to CVS Suite for more features and support: http://march-hare.com/cvsnt/ git-svn-id: http://moon:8086/svn/vhdl/trunk@518 cc03376c-175c-47c8-b038-4cd826a8556b
82 lines
4.0 KiB
Plaintext
82 lines
4.0 KiB
Plaintext
-----------------------------------------------------------------
|
|
Changes in release 12
|
|
-----------------------------------------------------------------
|
|
- reworked GCC-toolchain: Valid mips*-elf-binaries are now compiled and linked
|
|
using a single mips*-elf-gcc command.
|
|
To use: Copy $THIS_REALEASE/bsp/toolchain/specs to $MIPS_GCC_PREFIX/lib/gcc/mipsel-elf/$GCC_VERSION/,
|
|
and see bsp/examples/Makefile gcc usage
|
|
GCC-provided crt*-functions are now called without problems.
|
|
In summary: The toolchain is now more compliant to the intentional use of GCC.
|
|
- mips_biu.vhd: Addresses 0xA0000000..0xBFFFFFFF are now un-dcached for memory-mapped I/O,
|
|
which is now compliant to literature.
|
|
- gpio_wb.vhd: Timer reset is now removed. This helps to keep current time in case of CPU reset.
|
|
- new bsp-example source: gunzip
|
|
- updated drawing 'mips_jbus_timing.pdf'
|
|
- added drawing 'memory_map.pdf'
|
|
- moved COP0 from mips_pipeline.vhd to mips_top.vhd. Created new cop-interface for later COPz connection.
|
|
- added I/D-cache info (size and linesize) to upper 16 bits of PrID-Register.
|
|
Example of reading cache info is done in bsp/examples/testbench::PrintCPUinfo()
|
|
- simplified instruction decoder in mips_instr.vhd. Now there are less warnings during synthesis.
|
|
Removed idecode_rom.vhd from project as consequence.
|
|
- added cop0 instructions to invalidate I-cache and D-Cache
|
|
- added copz instructions lwcz and swcz
|
|
- gpio_wb.vhd: added 32 bit timer with interrupt and auto reload
|
|
- added debugger in libsys. New files are mipsdis.c/h and dbg.c/h
|
|
- exception handlers can now be registered to any exception type
|
|
- bugfix: cop0 registers were not written during exception commit. Cop registers now behave like general registers.
|
|
- added pin 'eb' to mips_top.vhd to select CPU-endianess at reset time (eb = 0 : little-endian, eb = 1 : big-endian)
|
|
- Status register bit 'RE'= 1 (bit 25) reverses endianess in user-mode
|
|
- Status register bit 'TS' (TLB Shutdown, bit 21) is tied high to indicate the absence of a MMU.
|
|
- uart_wb.vhd: added interrupt enable
|
|
- Interrupt pending flags (IP) are not anymore masked by Interrupt mask flags (IM) in H/W.
|
|
Masking has to be done in S/W. H/W masking was removed because it isn't MIPS-compliant.
|
|
- added NMI pin (more MIPS compliant). Asserting causes exception. Exception vector is reset (0xBFC00000).
|
|
Using NMI as reset is dangerous because periphery is not reseted.
|
|
Unitialized/unreseted periphery may cause trouble (e.g. firing unwanted interrupts)
|
|
- Bootloader: Startup now invalidates I/D-Caches at boot
|
|
- Bugfix: register bypass with same target register, used for unaligned loads (LWL, LWR), was incorrect. Newlib's memcpy() (MIPS-optimized) uses this.
|
|
Consectutive load instructions without nops (which is legal) using same target register like
|
|
lw $1, 0(mem)
|
|
lwl $1, 1(mem)
|
|
or
|
|
lwl $1, 0(mem)
|
|
lwr $1, 1(mem)
|
|
or similar, lead to incorrect result. Now it'S fixed.
|
|
|
|
-----------------------------------------------------------------
|
|
Changes in release 11
|
|
-----------------------------------------------------------------
|
|
- bug-fix in mips_pipeline: pc_is_branch is now initialized at reset
|
|
(fixes CPU unrecoverable state after reset)
|
|
- reverted "optimization" in mips_dcache, which behaved buggy during exceptions
|
|
- new example source: test_exception
|
|
- minor changes in libsys
|
|
- added async_port_timing in doc
|
|
- examples/testbench: date set now really works
|
|
|
|
-----------------------------------------------------------------
|
|
Changes in release 10b
|
|
-----------------------------------------------------------------
|
|
- fixed compiler bug (missing nop after lw) in bootloader,
|
|
which caused exception during boot
|
|
|
|
-----------------------------------------------------------------
|
|
Changes in release 10a
|
|
-----------------------------------------------------------------
|
|
async_port_wb:
|
|
- added byte enable for async_port
|
|
|
|
bootloader.c
|
|
- fixed compiler bug (missing nop after lw)
|
|
|
|
mips-core
|
|
- SEL_O lines are also asserted correctly during reads
|
|
|
|
tools/romgen
|
|
- TCL-Jtage now compatible with Chipscope 10.1
|
|
|
|
mips_sys.c
|
|
- use byte enable for sram and flash
|
|
|
|
|