Skip to content
Patrick Lehmann edited this page Sep 8, 2015 · 7 revisions

The PicoBlaze-Library

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

Main Features of the Hardware Components:

  • auxiliary packages
    • 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 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
    • OneWire (OW)
    • LCD
    • UART
  • Device routines implement special protocols like:
    • Terminal
    • PCA9548 (I²C switch)
    • SI570 (external, programmable clock source)
    • 7-Series GTX transceiver