-
Notifications
You must be signed in to change notification settings - Fork 771
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
[aes] Hierarchical paths in AES RTL won't synthesize in DC #10180
Comments
This syntax worked fine both in Yosys and Vivado. But I understand that it needs to be fixed. I'll have a look and for sure will have a PR ready by tomorrow morning. Sorry for causing this issue! |
This resolves lowRISC#10180. Signed-off-by: Pirmin Vogel <vogelpi@lowrisc.org>
sorry for missing this during the earlier review Pirmin.
…On Wed, Jan 19, 2022 at 2:21 PM Pirmin Vogel ***@***.***> wrote:
This syntax worked fine both in Yosys and Vivado. But I understand that it
needs to be fixed. I'll have a look and for sure will have a PR ready by
tomorrow morning. Sorry for causing this issue!
—
Reply to this email directly, view it on GitHub
<#10180 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAH2RSQO25XEPIEVB6M66VTUW42PLANCNFSM5MI65FAQ>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
You are receiving this because you were assigned.Message ID:
***@***.***>
|
Fix lowRISC#10180 Signed-off-by: Michael Schaffner <msf@google.com>
Hey I missed it as well ;). I drafted a fix here: #10206 |
This is kind of embarrassing: it turned out that Yosys also doesn't like the hierarchical reference. The resulting netlist (I've formally verified) was non functional :-( |
This resolves lowRISC#10180. Signed-off-by: Pirmin Vogel <vogelpi@lowrisc.org>
this is sort of a side topic. But does this mean we should file a bug on Yosys? If it actually doesn't like it, I feel like the flow should have error'd out instead of continuing to do something...weird. |
This resolves #10180. Signed-off-by: Pirmin Vogel <vogelpi@lowrisc.org>
We probably should, yes. @vogelpi can you take care of this? |
After checking the sv2v output I can confirm it's a Yosys issue (and not our sv2v + Yosys flow). Checking the Yosys repository, it seems this is known (see YosysHQ/yosys#2266 and YosysHQ/yosys#647) and it produces at least warnings in the synthesis log:
The problem isn't easy to solve but @rswarbrick seems to have prepared a draft PR already that moves things in the right direction. I will file a PR to our coding style guide to discourage usage of hierarchical references for code that is meant to be synthesized. |
thank you Pirmin and Rupert.
…On Fri, Jan 21, 2022 at 1:35 AM Pirmin Vogel ***@***.***> wrote:
After checking the sv2v output I can confirm it's a Yosys issue (and not
our sv2v + Yosys flow). Checking the Yosys repository, it seems this is
known (see YosysHQ/yosys#2266
<YosysHQ/yosys#2266> and YosysHQ/yosys#647
<YosysHQ/yosys#647>) and it produces at least
warnings in the synthesis log:
syn_out/aes_sbox/generated/aes_sbox_dom.v:628: Warning: Identifier `\u_aes_dom_mul_gamma1_gamma0.gen_pipeline.a_x_q' is implicitly declared.
syn_out/aes_sbox/generated/aes_sbox_dom.v:629: Warning: Identifier `\u_aes_dom_mul_gamma1_gamma0.gen_pipeline.a_y_q' is implicitly declared.
syn_out/aes_sbox/generated/aes_sbox_dom.v:630: Warning: Identifier `\u_aes_dom_mul_gamma1_gamma0.gen_pipeline.b_x_q' is implicitly declared.
syn_out/aes_sbox/generated/aes_sbox_dom.v:631: Warning: Identifier `\u_aes_dom_mul_gamma1_gamma0.gen_pipeline.b_y_q' is implicitly declared.
The problem isn't easy to solve but @rswarbrick
<https://github.com/rswarbrick> seems to have prepared a draft PR already
that moves things in the right direction.
I will file a PR to our coding style guide to discourage usage of
hierarchical references for code that is meant to be synthesized.
—
Reply to this email directly, view it on GitHub
<#10180 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAH2RSVPV4XVFIJ4EEC4353UXESGNANCNFSM5MI65FAQ>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
You are receiving this because you were assigned.Message ID:
***@***.***>
|
This resolves lowRISC#10180. Signed-off-by: Pirmin Vogel <vogelpi@lowrisc.org>
This resolves lowRISC#10180. Signed-off-by: Pirmin Vogel <vogelpi@lowrisc.org>
Hey @vogelpi - I just realized that we have added hierarchical paths in the AES RTL as part of the latest AES update:
opentitan/hw/ip/aes/rtl/aes_sbox_dom.sv
Lines 681 to 684 in 3cc8d5a
This is not synthesizable and should only be used in TB code.
We need to fix this since otherwise DC errors out.
I can try and fix this tomorrow - but if anyone can take a look in the meantime that would be great.
The text was updated successfully, but these errors were encountered: