Skip to content

Assertion for DecodeError in floo_route_comp.sv fires regardless of the address valid signal #126

Open
@makotolagano

Description

@makotolagano

There is an assertion in floo_route_comp.sv on line 66 that checks if the DecodeError happened and fires regardless of the address valid signal.

Here is the mentioned assertion:

ASSERT(DecodeError, !dec_error)

Here is my NoC configuration YAML file:

name: mesh
description: "AXI mesh configuration with XY routing for FlooGen"
network_type: "axi"

routing:
  route_algo: "XY"
  use_id_table: true

protocols:
  - name: "axi_in"
    protocol: "AXI4"
    data_width: 64
    addr_width: 48
    id_width: 4
    user_width: 1
    type_prefix: # prevents `axi_axi` prefix
  - name: "axi_out"
    protocol: "AXI4"
    data_width: 64
    addr_width: 48
    id_width: 4
    user_width: 1
    type_prefix: # prevents `axi_axi` prefix

endpoints:
  - name: "niu"
    array: [4, 4]
    addr_range:
      base: 0x0000_0000_0000
      size: 0x0000_0001_0000 # 64KB
    mgr_port_protocol:
      - "axi_in"
    sbr_port_protocol:
      - "axi_out"


routers:
  - name: "router"
    array: [4, 4]
    degree: 5

connections:
  - src: "niu"
    dst: "router"
    src_range:
    - [0, 3]
    - [0, 3]
    dst_range:
    - [0, 3]
    - [0, 3]
    dst_dir: "Eject"

I'm using VCS to build and simulate the generated configuration with Cocotb AXI4 masters and AXI4 RAMs as slaves at each endpoint.
When I run the simulation everything besides this looks like it's working correctly.
Problem probably lays where Cocotb AXI4 Masters are driving Xs on AW bus when the addresses are not valid. This should be valid to do, so the mentioned assertion should check for !(dec_error && aw_valid) instead of just !dec_error. Just to mention, aw_valid signal is not available in the floo_route_comp.sv directly.

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