Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[otp_ctrl] Unused hw_cfg #6404

Closed
tjaychen opened this issue Apr 30, 2021 · 3 comments
Closed

[otp_ctrl] Unused hw_cfg #6404

tjaychen opened this issue Apr 30, 2021 · 3 comments
Assignees
Labels
Component:RTL Earlgrey-PROD Triaged Temporary label to triage issues into Earlgrey-PROD Milestones IP:otp_ctrl Priority:P3 Priority: low Type:Enhancement Feature requests, enhancements Type:FutureRelease Not relevant to currently planned releases/milestones

Comments

@tjaychen
Copy link

It would be good to have the ability to remove the unallocated buffered flops inside partitions such as hw_cfg.
Right now most of hw_cfg is empty, and that will probably still be the case when everything is done.

An alternative option is we just take the extra space and push it into the unbuffered software partitions. That would be a fine solution also without incurring additional hardware.

This issue is already well known, just filing for tracking purposes.

@msfschaffner
Copy link
Contributor

Agreed, there are a ton of unneeded flops sitting in that partition right now.
However, since the digest is calculated over the entire partition, these flops cannot be optimized away in RTL (unless we introduce a mechanism to hardwire the unused buffer flops to 0).

So I think the way to go is to shrink the HW_CFG partition once we have connected all chicken switches, and give the free space to the SW_CFG partitions.

@tjaychen
Copy link
Author

sounds good to me, thanks @msfschaffner

@tjaychen tjaychen removed their assignment Jun 24, 2021
tjaychen pushed a commit to tjaychen/opentitan that referenced this issue Aug 11, 2021
- This is mainly done to support lowRISC#6404
- It would be nice to enhance this further such that any
  bytes not used up by buffered partitions are automatically
  allocated to the software partitions evenly.

Signed-off-by: Timothy Chen <[email protected]>
tjaychen pushed a commit to tjaychen/opentitan that referenced this issue Aug 13, 2021
- This is mainly done to support lowRISC#6404
- It would be nice to enhance this further such that any
  bytes not used up by buffered partitions are automatically
  allocated to the software partitions evenly.

Signed-off-by: Timothy Chen <[email protected]>
tjaychen pushed a commit to tjaychen/opentitan that referenced this issue Aug 13, 2021
- This is mainly done to support lowRISC#6404
- Unallocated bits can optionally be allocated to other
  partitions.

Signed-off-by: Timothy Chen <[email protected]>

[otp] slightly re-arrange code

- done to ensure size calculation is NOT done before
  validation.

Signed-off-by: Timothy Chen <[email protected]>

[otp] Allow unused otp bits to be distributed

- Add a new attribute called "absorb" to partitions.
- The "absorb" attribute indicates a partition is willing
  to accept extra bits.

Signed-off-by: Timothy Chen <[email protected]>

[otp] Do not enable absorb function for now

Signed-off-by: Timothy Chen <[email protected]>
tjaychen pushed a commit that referenced this issue Aug 15, 2021
- This is mainly done to support #6404
- Unallocated bits can optionally be allocated to other
  partitions.

Signed-off-by: Timothy Chen <[email protected]>

[otp] slightly re-arrange code

- done to ensure size calculation is NOT done before
  validation.

Signed-off-by: Timothy Chen <[email protected]>

[otp] Allow unused otp bits to be distributed

- Add a new attribute called "absorb" to partitions.
- The "absorb" attribute indicates a partition is willing
  to accept extra bits.

Signed-off-by: Timothy Chen <[email protected]>

[otp] Do not enable absorb function for now

Signed-off-by: Timothy Chen <[email protected]>
Muqing-Liu pushed a commit to Muqing-Liu/opentitan that referenced this issue Aug 18, 2021
- This is mainly done to support lowRISC#6404
- Unallocated bits can optionally be allocated to other
  partitions.

Signed-off-by: Timothy Chen <[email protected]>

[otp] slightly re-arrange code

- done to ensure size calculation is NOT done before
  validation.

Signed-off-by: Timothy Chen <[email protected]>

[otp] Allow unused otp bits to be distributed

- Add a new attribute called "absorb" to partitions.
- The "absorb" attribute indicates a partition is willing
  to accept extra bits.

Signed-off-by: Timothy Chen <[email protected]>

[otp] Do not enable absorb function for now

Signed-off-by: Timothy Chen <[email protected]>
@tjaychen tjaychen added IP:otp_ctrl Component:RTL Priority:P3 Priority: low Type:Enhancement Feature requests, enhancements labels Feb 8, 2022
@cindychip cindychip added Type:FutureRelease Not relevant to currently planned releases/milestones Triaged labels Feb 25, 2023
@cindychip cindychip added this to the Discrete: M3 milestone Feb 25, 2023
@msfschaffner msfschaffner added the Earlgrey-PROD Triaged Temporary label to triage issues into Earlgrey-PROD Milestones label Oct 6, 2023
@msfschaffner
Copy link
Contributor

I think this has already been done - closing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component:RTL Earlgrey-PROD Triaged Temporary label to triage issues into Earlgrey-PROD Milestones IP:otp_ctrl Priority:P3 Priority: low Type:Enhancement Feature requests, enhancements Type:FutureRelease Not relevant to currently planned releases/milestones
Projects
None yet
Development

No branches or pull requests

3 participants