Documento técnico

Fixing Design Stuttering Problems in Catapult HLS

RTL waveforms

This paper describes Matchlib example 73_stutter_fix, which is an example of a "stuttering" issue that can arise when a process has multiple message-passing interfaces (or "MIOs") that have external communication paths between them that have latency. The term "stuttering" refers to the problem where a design is intended to process transactions at an optimal rate (e.g. II=1), but the actual design is unable to meet that rate and instead stutters.

Note that there is also an example and discussion of design stuttering in example 72* in the Matchlib examples kit. That example focuses on the use of the Matchlib connections back-annotation feature to enable the stuttering behavior seen in the post-HLS simulation to also be seen in the pre-HLS simulation. In contrast, the focus of this example is on resolving stuttering behavior in the RTL by appropriate use of HLS directives.

It should be noted that the general issues and the solutions presented here are all applicable if the design were instead created entirely in hand-written RTL. However, the discussion here is specific to the usage of HLS.

Compartilhe