lowRISC / lowRISC/opentitan

[topgen] Intermodule feature to assign default value to vector signal

Open
#2,591 4 comments 0 reactions 1 assignee Assigned to @eunchan View on GitHub
Component:Tooling Earlgrey-PROD Triaged Priority:P1 Type:Bug Type:FutureRelease
Dominant language
SystemVerilog
Stars
3.6k
Forks
1.1k
Avg merge
2d 22h
Merged PRs (30d)
141

Description

If the dangling inter-module signal of an IP is a vector signal (width more than 1) and input, then topgen intermodule doesn't assign the value correctly.

Example:

```hjson
inter_signal_list: [
{ struct: "a",
type: "uni",
name: "a",
act: "rcv",
package: "pkg",
width: 2
}
]
```

Result from topgen:
```systemverilog
// top
mod u_mod (
.a_i (pkg::A_DEFAULT)
);
```

Expected result:

```systemverilog

pkg::a_t [1:0] mod_a;

mod u_mod (
.a_i(mod_a)
);

assign mod_a = {2{pkg::A_DEFAULT}};
```

CC: @msfschaffner @tjaychen

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.