intel / intel/rohd-hcl

Gracefully handle fewer than 2 requests to arbitrate between

Open
#272 0 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
Dart
Stars
115
Forks
39
Avg merge
1d 13h
Merged PRs (30d)
1

Description

### Describe the bug

The `RotateRoundRobinArbiter` doesn't handle 1 request gracefully because the `preference` signal just gets squashed down to 0-bits.

Something like this might be better:
```dart
final preference =
Logic(name: 'preference', width: max(1, log2Ceil(count)));
```

However, we also may need to add some checks for an empty list of things to arbitrate between (illegal scenario?). We should review other arbiters (and components) for similar issues.

### To Reproduce

_No response_

### Expected behavior

_No response_

### Actual behavior

_No response_

### Additional: Dart SDK info

_No response_

### Additional: pubspec.yaml

```yaml

```

### Additional: Context

_No response_

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.