Background Work
Chipyard Version and Hash
Release: 1.13.0
Hash: a6a6a6
OS Setup
Linux 5.15.0-139-generic
LSB Version: core-11.1.0ubuntu2-noarch:printing-11.1.0ubuntu2-noarch:security-11.1.0ubuntu2-noarch
Distributor ID: Ubuntu
Description: Ubuntu 20.04.6 LTS
Release: 20.04
Codename: focal
Other Setup
Workload: Hello world workload.
SRAM Model: The SRAM is modeled behaviorally.
Simulation Platform: The code is run on VCS.
Current Behavior
The read port returns an indeterminate value when there is a simultaneous write and read to the same entry, causing incorrect behavior.
Expected Behavior
The BTB should return a valid value when both read and write operations happen simultaneously.
Other Information
The bug lies in a branch-prediction unit, where the BTB is implemented as a dual-port SRAM. When the predictor performs a simultaneous write and read to the same entry, the read port returns an indeterminate value, leading to incorrect behavior.

Background Work
Chipyard Version and Hash
Release: 1.13.0
Hash: a6a6a6
OS Setup
Linux 5.15.0-139-generic
LSB Version: core-11.1.0ubuntu2-noarch:printing-11.1.0ubuntu2-noarch:security-11.1.0ubuntu2-noarch
Distributor ID: Ubuntu
Description: Ubuntu 20.04.6 LTS
Release: 20.04
Codename: focal
Other Setup
Workload: Hello world workload.
SRAM Model: The SRAM is modeled behaviorally.
Simulation Platform: The code is run on VCS.
Current Behavior
The read port returns an indeterminate value when there is a simultaneous write and read to the same entry, causing incorrect behavior.
Expected Behavior
The BTB should return a valid value when both read and write operations happen simultaneously.
Other Information
The bug lies in a branch-prediction unit, where the BTB is implemented as a dual-port SRAM. When the predictor performs a simultaneous write and read to the same entry, the read port returns an indeterminate value, leading to incorrect behavior.