SoC Roadmap

From Milkymist Wiki

(Redirected from Roadmap)
Jump to: navigation, search

Contents

[edit] Milkymist SoC 0.x/1.x series

[edit] 0.1 (August 20th, 2009)

  • First release (pre-alpha)
  • Can render a simplified version of "Geiss - Cosmic Dust 2"
  • Xilinx ML401 support only

[edit] 0.1.1 (August 24th, 2009)

[edit] 0.1.2 (September 12th, 2009)

  • BIOS boot screen
  • Chroma key support in TMU
  • Documentation for TMU improvements in 0.3
  • Minor bugfixes

[edit] 0.1.3 (November 14th, 2009)

  • Directory reorganization
  • GPLv3 license
  • Preliminary support for external software emulation library
  • Support for warm boot (from Takeshi)
  • Support for PS/2 (from Takeshi)
  • Edge-sensitive interrupts on all cores
  • Documentation update

[edit] 0.2 (January 16th, 2010)

  • Support for Ethernet (using Opencores ethmac)
  • PS/2 write support (Takeshi)
  • Hard reset support
  • Dropped support for the Avnet Spartan-3A board, now available as a fork
  • flterm 1.1 (now has default load addresses)
  • Upgraded to LatticeMico32 3.5
  • Reduced drive strength for SystemACE
  • New splash screen

[edit] 0.2.1 (January 31st, 2010)

  • Fixed DRAM write-to-read timing violation (Zeus)
  • Improved DRAM read-to-write and write-to-write timing (Zeus)
  • Cache coherent VGA framebuffer transactions
  • Minor fixes and cleanups

[edit] 0.3 (February 18th, 2010)

  • Major TMU redesign (TMU2):
    • Improved performance (2-3 times faster)
    • Rectangular rendering primitive
    • Bilinear texture filtering
    • Texture wrapping
    • Subpixel texture resolution
    • New vertex format
  • PFPU modified to support the new TMU vertex format
  • Additional MilkDrop features in the demo firmware:
    • More wave modes
    • Borders
    • Motion vectors (experimental)
    • Texture wrapping
    • Random preset chooser
    • Fine-grained decay

[edit] 0.4 (March 8th, 2010)

  • New, light Ethernet MAC (Minimac)
  • TFTP network boot from the BIOS
  • Fixed TMU2 interpolation (bug reported by Jacky)

[edit] 0.5 (April 18th, 2010)

  • System capabilities register
  • Memory performance monitoring (retrieves memory bandwidth utilization and average memory access time from the live system)
  • New PFPU instructions:
    • QUAKE (Quake-III style inverse square root approximation)
    • IF (conditional)
    • TSIGN (sign manipulation)
  • Translucency (alpha) support in TMU
  • Faster FastMemoryLink arbiter
  • Fixed DRAM write-to-read (tWTR) timing violation on fully pipelined transfers
  • New FPVM (Floating Point Virtual Machine) library for runtime compilation of PFPU programs
    • High-level API makes it easy to use the PFPU
    • Supports addition, subtraction, multiplication, fast inverse square root, square root, division (experimental), modulo (experimental), integer/float conversions, comparisons (above/below/equal), conditional statements (if), absolute value, sine, cosine, integer part, min(), max()
  • New patch parser
  • New renderer features
    • Configurable per-vertex equations
    • Video echo
    • Warp
    • Scale (sx/sy)
    • Q variables
  • New patches included
  • irender command to input patch code on the serial console
  • Build host tools using clang instead of GCC
  • Software bugfixes
    • TFTP boot in QEMU
    • Correct placement of motion vectors
    • LCD user interface race conditions
    • Renderer stop race conditions

[edit] 0.5.1 (June 10th, 2010)

  • Complete thesis report in documentation
  • 8kB->16kB texel cache
  • TMU performance monitoring
  • Fixed texel cache initialization bug
  • Fixed handling of variables read before written in per-vertex equations
  • All peripherals enabled by default (including Ethernet)
  • New SDRAM initialization system, easy compatibility with 3rd party bootloaders
  • Removed on-chip SRAM (no longer needed)
  • Increased Minimac FIFO sizes to prevent xflows
  • Faster line drawing code
  • Now comes with 62 patches

[edit] 0.6 (June 27th, 2010)

  • Support for the Milkymist One
  • OSD patch selection
  • New asynchronous FIFO design
  • Improved TMU2 rounding mode
  • Improved decay handling
  • 16kB->32kB texel cache
  • 32kB L2 cache
  • Smaller and direct mapped L1 cache
  • Limit FPS to 25 instead of 30 to ensure smooth execution on more presets
  • More patches

[edit] 0.7 (July 23rd, 2010)

  • Support for video input (not used by the demo renderer)
  • Support for MIDI (not used by the demo renderer)
  • Support for VESA DDC (not used by the demo renderer)
  • Support for RC5 infrared remote control (usable in OSD menu)
  • Flash write support (contributed by Michael Walle)
  • New memory map (contributed by Michael Walle)
  • Experimental "softusb" USB core (no functional firmware yet)
  • Increased Minimac FIFO sizes
  • Improved netboot code

[edit] 0.8 (August 14th, 2010)

  • Support for DMX
  • Support for memory card
  • Support for Synplify synthesis
  • Fixed a bug that prevented access to the upper 64M of SDRAM. The whole 128M are addressable now.
  • Rewritten USB PHY
  • All AVR Classic instructions in Navré, except conditional jumps on I/O registers
  • Navré bugfixes

[edit] 0.9

  • Extensive Navré core testing
  • Navré bugfixes
  • Support for USB input devices
  • MIDI THRU support
  • New memory map
  • New flash map
  • Standby and rescue bitstreams
  • ICAP write support
  • Board revision readout
  • Code cleanups
  • Fixed DDC EDID read, now works reliably with all monitors

[edit] 1.0

  • No change except bugfixes

[edit] Milkymist SoC 2.x series?

  • PHT: Pluggable HDL Templates (automatically generates interconnect, arbiters, etc.)
  • HPDMC2: out-of-order SDRAM controller with QoS and page hit optimization
  • Split transaction FML2 bus
  • Further resource-optimized CSR2 bus
  • Separate DMA backbone
  • Scatter-gather DMA controller
  • Mico32 MMU
  • 32bpp RGBA graphics everywhere

[edit] Milkymist SoC 3.x series?

  • On-the-fly hardware compilation of shaders + partial reconfiguration
Personal tools