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

Added CV32E40P example constraints #545

Merged
merged 2 commits into from
Oct 14, 2020

Conversation

Silabs-ArjanB
Copy link
Contributor

Hi @davideschiavone Can you please review these example constraints?

Could you also close/reject the following as I think we should not be adding tool/technology specific flows in this repos (that could be done in core-v-mcu if we have the need for it)

Signed-off-by: Arjan Bink [email protected]

set out_delay_data_we [expr $clock_period * 0.57]
set out_delay_data_be [expr $clock_period * 0.57]
set out_delay_data_addr [expr $clock_period * 0.57]
set out_delay_data_wdata [expr $clock_period * 0.57]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why cannot we assume that output and input delay from/to memories are the same?
These numbers (0.83 and 0.57) look very specific to a given technology

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @davideschiavone I want to convey that memory related output come out roughly midway through the cycle and that memory related inputs are expected to arrive late. The numbers will always be tech specific, which is why there is a comment at the top about that. Would it be okay if I just round the numbers: 0.57 -> 0.6, 0.83 -> 0.8. I do not really care about the actual numbers as long as the signals arriving from memory are assumed to arrive later than that we will guarantee the availability of the signals towards memory (this will assure there are no dis-allowed combinatorial paths inside the core for the OBI interfaces. If you have other nrs in mind, please let me know.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

0.6 and 0.8 with the comments look ok.
Is there a specific reason why we are saying that we leave inside the core 40% to go out (1-0.6) and we have only 20% (1-0.8) from the response? why not , for example, 30% each?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The numbers are based on what is possible plus what is expected from the environment. In particular the OBI inputs are expected to arrive very late in the cycle if you are building a system without wait states.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes I understand the number per se, I don't understand why it's different between input and output


# I/O delays for non RISC-V Bus Interface ports
set in_delay_other [expr $clock_period * 0.10]
set out_delay_other [expr $clock_period * 0.57]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same as before

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay to just round 0.57 to 0.6?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes

@MikeOpenHWGroup
Copy link
Member

Thanks for this PR @Silabs-ArjanB. Having synthesis constraints adds credibility to this project. Couldl you add the "SPDX" license tag to the header?

# SPDX-License-Identifier: Apache-2.0 WITH SHL-2.0

I hate to nag about this, but it is important. Thanks.

@Silabs-ArjanB
Copy link
Contributor Author

Thanks for this PR @Silabs-ArjanB. Having synthesis constraints adds credibility to this project. Couldl you add the "SPDX" license tag to the header?

# SPDX-License-Identifier: Apache-2.0 WITH SHL-2.0

I hate to nag about this, but it is important. Thanks.

Hi @MikeOpenHWGroup The above is just our standard license file. I just looked at the latest commit in core-v-verif and it looks the same to me, see https://github.com/MikeOpenHWGroup/core-v-verif/blob/1c36bde284a0e9971dc02cf2fa7c1c3940cf2d08/cv32/env/uvme_cv32/uvme_cv32_tdefs.sv

@MikeOpenHWGroup
Copy link
Member

I just looked at the latest commit in core-v-verif and it looks the same to me

You are right about that. I have an action item from the Eclipse Foundation to add the SPDX line to all files in core-v-verif. Sounds like fun doesn't it? Just trying to save you the same hassle.

@Silabs-ArjanB
Copy link
Contributor Author

I just looked at the latest commit in core-v-verif and it looks the same to me

You are right about that. I have an action item from the Eclipse Foundation to add the SPDX line to all files in core-v-verif. Sounds like fun doesn't it? Just trying to save you the same hassle.

I propose that somebody writes a script and fixes all files in this repos as opposed to do ad-hoc single fixes.

@MikeOpenHWGroup
Copy link
Member

I propose that somebody writes a script and fixes all files in this repos as opposed to do ad-hoc single fixes.

I agree that would be the best (well, at least the fastest) approach. However, for core-v-verif at least, I need to ensure that the original contributor of the code signs off on any changes to the copyright header. Painful.

@Silabs-ArjanB
Copy link
Contributor Author

I just looked at the latest commit in core-v-verif and it looks the same to me

You are right about that. I have an action item from the Eclipse Foundation to add the SPDX line to all files in core-v-verif. Sounds like fun doesn't it? Just trying to save you the same hassle.

Yes, sounds like fun indeed. For now I stick to the header that my company approved though.

Signed-off-by: Arjan Bink <[email protected]>
@Silabs-ArjanB Silabs-ArjanB merged commit a26b194 into openhwgroup:master Oct 14, 2020
@Silabs-ArjanB Silabs-ArjanB deleted the ArjanB_constraints branch October 14, 2020 10:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants