v19.7.0

This is a working draft for the up-coming 19.7.0 release.

We are pleased to announce the release of TT System Firmware firmware version 19.7.0 🥳🎉.

.. note::

Upgrade tt-smi version to v4.1.1 to display accurate DRAM training status. Older versions of tt-smi will show DRAM training status to be N when it is trained. This is a visual bug and does not affect actual DRAM training.

Major enhancements with this release include:

Wormhole

New Features

  • Add support for BH-style message queues

  • Add support for POWER_SETTING message via the message queue

    • Only support Tensix power flag for now

Stability Improvements

  • Avoid attempting to wipe disabled/untrained DRAMs

  • Improve DRAM training stability

  • Reduce DRAM training time

Blackhole

Power & Performance Improvements

  • New process based V/F curve reduces TDP, VCORE and Input Power while increasing AICLK frequency.

    • Note that since the V/F curve is process based, results for every chip will differ.

    • On chips we measured, we saw TDP and VCORE reduction by 4-8%, Input Power reduction by 1-3%, and AICLK increase by 2-3%.

  • Updated tuning for TDP throttler

  • Updated GDDR temperature limit to 89 C across all boards

  • Fix telemetry reporting of limiting arbiter in TAG_AICLK_ARB_MIN, TAG_AICLK_ARB_MAX, and TAG_AICLK_PPM_INFO

API Changes

  • New CMFW message TT_SMC_MSG_TOGGLE_GDDR_RESET to reset and retrain a specific GDDR controller (0-7). Sample usage can be found in the pytest file.

  • Publish TAG_AICLK_PPM_INFO in telemetry tag table

  • BIST failure and completion status is now stored in the GDDR_STATUS[31:16] telemetry tag.

Developer Features

  • DMFW and SMFW now store Zephyr’s APP_VERSION_STRING and APP_BUILD_VERSION binary descriptors, which provide the app version and the FW bundle’s git revision respectively. These are printed to the boot banner, and can also be accessed using Zephyr’s west bindesc tool.

  • Added DEST register wipe during Tensix initialization, ensuring all non-harvested cores start with zeroed DEST registers at boot. A TRISC wipe firmware is loaded from SPI flash via multicast and executed on TRISC 0 across all cores.

Stability Improvements

  • Updated Blackhole ERISC FW to v1.9.0

    • Embedded erisc fw version at known location (offset 0x188) for SYSIP-190

    • Increased ERISC_CODE region by 4K, taken from ERISC_DATA region

    • Updated chip_info_exchange to be more of a handshake

    • Fixed send telemetry logic bug

    • Fixed bug where is eth_sel unset the core would still attempt SerDes init

    • Reworked SerDes synchronization between 2 ETH cores sharing a SerDes

    • Added per-lane SerDes reset control

      • Reworked port action up/down to properly bring link down

      • Reinit from reset only toggles lane resets instead of full SerDes reset

System Improvements

  • Improved DRAM interface margins on Galaxy Rev C boards

NOC

  • Fixed NOC “logical_id” programming for GDDR ports (this does not functionally impact NOC translation, just how it is reported)

Grendel

Added a virtual console logging driver, which supports outputting logs from Zephyr’s logging subsystem via the virtual console used in pre-SI simulation

Driver Additions

  • Enabled driver for CDNS MIPI I3C peripheral

Migration guide

An overview of required and recommended changes to make when migrating from the previous v19.6.0 release can be found in 19.7 Migration Guide.

Full ChangeLog

The full ChangeLog from the previous v19.6.0 release can be found at the link below.

https://github.com/tenstorrent/tt-system-firmware/compare/v19.6.0…v19.7.0