Skip to content
Patrick Lehmann edited this page Jul 16, 2015 · 7 revisions

The PicoBlaze-Library L_PicoBlaze contains hardware modules as well as assembler routines.

Main features of the hardware components:

  • auxiliary package
    • PicoBlaze related constants, records and types
    • Functions to define a generic PortID to register mapping
    • Functions for semi-automated bus wiring
    • Functions to write debug information for simulators and ChipScope to disk
  • Core system:
  • Accelerators:
    • multiplier
    • divider
    • ...
  • I/O devices for:
    • GPIO
    • LCD
    • Bit-Banging IO
    • ...
  • I/O adapters for:
    • Xilinx Dynamic Reconfiguration Port (DRP)
    • ...

Main features of the software stack:

  • Core system
    • predefined [RegisterNames register names] and calling conventions
    • ROM switching, if multiple ROM pages are used (up to 32k instructions)
  • Libraries:
    • Stack functions: push, pop, top, ...
    • Delay functions: sleep from nanoseconds to seconds
    • Co-routines (lightweight threads)
  • I/O routines to communicate with the hardware modules:
    • I²C
    • SPI
    • LCD
    • UART
  • Device routines implement special protocols like:
    • Terminal
    • PCA9548 (I²C switch)
    • SI570 (external, programmable clock source)
    • 7-Series GTX transceiver