8000 Timing violation in default Gemmini configuration at 3 ns clock period · Issue #405 · ucb-bar/gemmini · GitHub
[go: up one dir, main page]

Skip to content

Timing violation in default Gemmini configuration at 3 ns clock period #405

Open

Description

@mtalhartl

Timing violation in default Gemmini configuration at 3 ns clock period

Description

I am running timing analysis on the default Gemmini configuration without any RTL modifications.

With a target clock period of 3 ns (~333 MHz), I am seeing a significant setup timing violation on a path within the Gemmini scratchpad/accumulator scaling logic.

I am trying to understand whether this timing path is expected in the default configuration and what the recommended approach is for analyzing or optimizing it.

Timing result

The worst path reported is:

Path 1: VIOLATED (-3334 ps) Setup Check with Pin
i_gemmini/spad/acc_scale_unit/pipe_out_p_stages_0_resp_data_6_0_reg_5_/CP->D

View: view_typ
Group: F2F_PATHS

Startpoint:
(R) i_gemmini/spad/norm_unit_passthru_q_wrap_1_reg/CP

Clock:
(R) gemmini_clk

Endpoint:
(R) i_gemmini/spad/acc_scale_unit/pipe_out_p_stages_0_resp_data_6_0_reg_5_/D

Clock:
(R) gemmini_clk

Full timing information:

                     Capture       Launch
       Clock Edge:+    3000            0
       Src Latency:+      0             0
       Net Latency:+      0 (I)         0 (I)
          Arrival:=    3000            0

            Setup:-       26
       Uncertainty:-     600
     Required Time:=    2374
       Launch Clock:-       0
          Data Path:-    5708
             Slack:=   -3334

Configuration

  • Gemmini configuration: default
  • RTL modifications: None
  • Target clock period: 3 ns
  • Target frequency: approximately 333 MHz
  • Analysis view: view_typ
  • Path group: F2F_PATHS

Question

I would appreciate some guidance on this timing path.

In particular:

  1. Is this timing violation expected with the default Gemmini configuration at a 3 ns clock period?
  2. Is the norm_unit_passthru → acc_scale_unit path normally expected to be one of the critical paths in Gemmini?
  3. What is the recommended way to analyze this path to determine which RTL operation is responsible for the 5708 ps data path delay?
  4. Are there existing pipeline/register boundaries or configuration parameters that are intended to address this path?
  5. If achieving ~333 MHz is a reasonable target, what would be the recommended approach for optimizing this path without changing the functional behavior of the default Gemmini configuration?

I have not yet compared this result against a timing report from the original/reference Gemmini implementation, so I would also appreciate knowing whether this path is known to be timing-critical in the default design.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      0