Category: ℹ️ - Information
Parent channel: #⁉️-questions
Thread ID: 1446150954536927232
Messages: 11
message-1446150954536927232
2025-12-04T14:47:35.747+00:00 — Jonathan (@jonathan_ha_25034)
- Message ID:
1446150954536927232 - Author ID:
1152597572385525871 - Nickname: Jonathan
- User name: jonathan_ha_25034
- Type:
Default - Discord message: https://discord.com/channels/1361349522684510449/1446150954536927232/1446150954536927232
- Archive source: https://discord.wafer.space/wafer-space/%E2%84%B9%EF%B8%8F%20-%20Information/%E2%81%89%EF%B8%8F-questions/setup-violations-in-tt-corners-when-using-macros/2025-12/2025-12.json
- Archive source: https://discord.wafer.space/wafer-space/Information/questions/setup-violations-in-tt-corners-when-using-macros/2025-12/2025-12.json
Content
Hi everyone, we are building our toplevel module out of several designs by using macros. We only have one clock input which is routed to all macros, but they do not run at the same clock frequency. Of course, the timing analysis finds Setup Violations in some macros if the toplevel period is smaller than the period of the macro. But how should we go about this? STA finds Setup Violations in the TT corners and then errors out. Is this fine if we know that the macro will never be used at this frequency or do we at least have to fix all errors?
<details>
<summary>Other message metadata</summary>{
"author": {
"avatarUrl": "2025-12_media/4-4551A.png",
"discriminator": "0000",
"isBot": false
},
"message": {}
}
</details>message-1446265210347458691
2025-12-04T22:21:36.455+00:00 — Tim 'mithro' Ansell (@mithro_)
- Message ID:
1446265210347458691 - Author ID:
169786952432746498 - Nickname: Tim 'mithro' Ansell
- User name: mithro_
- Type:
Reply - Edited: 2025-12-04T22:22:00.578+00:00
- Discord message: https://discord.com/channels/1361349522684510449/1446150954536927232/1446265210347458691
- Archive source: https://discord.wafer.space/wafer-space/%E2%84%B9%EF%B8%8F%20-%20Information/%E2%81%89%EF%B8%8F-questions/setup-violations-in-tt-corners-when-using-macros/2025-12/2025-12.json
- Archive source: https://discord.wafer.space/wafer-space/Information/questions/setup-violations-in-tt-corners-when-using-macros/2025-12/2025-12.json
Reply/reference
<details> <summary>Reference data</summary>{
"channelId": "1446150954536927232",
"guildId": "1361349522684510449",
"messageId": "1446150954536927232"
}
</details>Content
I'm pretty sure the precheck does **not** do any timing analysis.
<details>
<summary>Other message metadata</summary>{
"author": {
"avatarUrl": "2025-12_media/9679bb77da48d47c905b398d98a83780-75B68.png",
"discriminator": "0000",
"isBot": false
},
"message": {
"mentions": [
{
"avatarUrl": "2025-12_media/4-4551A.png",
"color": null,
"discriminator": "0000",
"id": "1152597572385525871",
"isBot": false,
"name": "jonathan_ha_25034",
"nickname": "Jonathan",
"roles": []
}
]
}
}
</details>message-1446265704281280553
2025-12-04T22:23:34.218+00:00 — Tim 'mithro' Ansell (@mithro_)
- Message ID:
1446265704281280553 - Author ID:
169786952432746498 - Nickname: Tim 'mithro' Ansell
- User name: mithro_
- Type:
Default - Discord message: https://discord.com/channels/1361349522684510449/1446150954536927232/1446265704281280553
- Archive source: https://discord.wafer.space/wafer-space/%E2%84%B9%EF%B8%8F%20-%20Information/%E2%81%89%EF%B8%8F-questions/setup-violations-in-tt-corners-when-using-macros/2025-12/2025-12.json
- Archive source: https://discord.wafer.space/wafer-space/Information/questions/setup-violations-in-tt-corners-when-using-macros/2025-12/2025-12.json
Content
You might be able to do something trickly like put in a clock buffer per macro and use sdc to set the maximum frequency on the clock buffer output....
<details>
<summary>Other message metadata</summary>{
"author": {
"avatarUrl": "2025-12_media/9679bb77da48d47c905b398d98a83780-75B68.png",
"discriminator": "0000",
"isBot": false
},
"message": {}
}
</details>message-1446265812779405384
2025-12-04T22:24:00.086+00:00 — Tim 'mithro' Ansell (@mithro_)
- Message ID:
1446265812779405384 - Author ID:
169786952432746498 - Nickname: Tim 'mithro' Ansell
- User name: mithro_
- Type:
Default - Discord message: https://discord.com/channels/1361349522684510449/1446150954536927232/1446265812779405384
- Archive source: https://discord.wafer.space/wafer-space/%E2%84%B9%EF%B8%8F%20-%20Information/%E2%81%89%EF%B8%8F-questions/setup-violations-in-tt-corners-when-using-macros/2025-12/2025-12.json
- Archive source: https://discord.wafer.space/wafer-space/Information/questions/setup-violations-in-tt-corners-when-using-macros/2025-12/2025-12.json
Content
The Tiny Tapeout people like @tnt and @urish might have some other ideas?
<details>
<summary>Other message metadata</summary>{
"author": {
"avatarUrl": "2025-12_media/9679bb77da48d47c905b398d98a83780-75B68.png",
"discriminator": "0000",
"isBot": false
},
"message": {
"mentions": [
{
"avatarUrl": "2025-12_media/2b6c3aac0ae09fc8a72a4b2e17d7f9c9-39032.png",
"color": null,
"discriminator": "0000",
"id": "732347216412278825",
"isBot": false,
"name": "urish",
"nickname": "urish",
"roles": [
{
"color": null,
"id": "1423020172595298314",
"name": "Mod",
"position": 4
}
]
},
{
"avatarUrl": "2025-12_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png",
"color": null,
"discriminator": "0000",
"id": "596068704471482370",
"isBot": false,
"name": "246tnt",
"nickname": "tnt",
"roles": []
}
]
}
}
</details>message-1446266546295934997
2025-12-04T22:26:54.97+00:00 — tnt (@246tnt)
- Message ID:
1446266546295934997 - Author ID:
596068704471482370 - Nickname: tnt
- User name: 246tnt
- Type:
Default - Discord message: https://discord.com/channels/1361349522684510449/1446150954536927232/1446266546295934997
- Archive source: https://discord.wafer.space/wafer-space/%E2%84%B9%EF%B8%8F%20-%20Information/%E2%81%89%EF%B8%8F-questions/setup-violations-in-tt-corners-when-using-macros/2025-12/2025-12.json
- Archive source: https://discord.wafer.space/wafer-space/Information/questions/setup-violations-in-tt-corners-when-using-macros/2025-12/2025-12.json
Content
The pre-check doesn't do any STA indeed so if you're confident that the violations are false positives you can ignore it. But you could also write a custom SDC that just sets up the constraints correctly for each submodule.
<details>
<summary>Other message metadata</summary>{
"author": {
"avatarUrl": "2025-12_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png",
"discriminator": "0000",
"isBot": false
},
"message": {}
}
</details>message-1446412502681391195
2025-12-05T08:06:53.684+00:00 — Jonathan (@jonathan_ha_25034)
- Message ID:
1446412502681391195 - Author ID:
1152597572385525871 - Nickname: Jonathan
- User name: jonathan_ha_25034
- Type:
Reply - Discord message: https://discord.com/channels/1361349522684510449/1446150954536927232/1446412502681391195
- Archive source: https://discord.wafer.space/wafer-space/%E2%84%B9%EF%B8%8F%20-%20Information/%E2%81%89%EF%B8%8F-questions/setup-violations-in-tt-corners-when-using-macros/2025-12/2025-12.json
- Archive source: https://discord.wafer.space/wafer-space/Information/questions/setup-violations-in-tt-corners-when-using-macros/2025-12/2025-12.json
Reply/reference
<details> <summary>Reference data</summary>{
"channelId": "1446150954536927232",
"guildId": "1361349522684510449",
"messageId": "1446265210347458691"
}
</details>Content
The precheck runs without problems. I was just concerned about the "make librelane" flow, since this one ends with an error due to Setup Violations in the tt corner in this case. Does an error prevent some part of the flow from being run? From the log files it seems that every step was executed
<details>
<summary>Other message metadata</summary>{
"author": {
"avatarUrl": "2025-12_media/4-4551A.png",
"discriminator": "0000",
"isBot": false
},
"message": {
"mentions": [
{
"avatarUrl": "2025-12_media/9679bb77da48d47c905b398d98a83780-75B68.png",
"color": null,
"discriminator": "0000",
"id": "169786952432746498",
"isBot": false,
"name": "mithro_",
"nickname": "Tim 'mithro' Ansell",
"roles": []
}
]
}
}
</details>message-1446412929351286865
2025-12-05T08:08:35.41+00:00 — tnt (@246tnt)
- Message ID:
1446412929351286865 - Author ID:
596068704471482370 - Nickname: tnt
- User name: 246tnt
- Type:
Default - Discord message: https://discord.com/channels/1361349522684510449/1446150954536927232/1446412929351286865
- Archive source: https://discord.wafer.space/wafer-space/%E2%84%B9%EF%B8%8F%20-%20Information/%E2%81%89%EF%B8%8F-questions/setup-violations-in-tt-corners-when-using-macros/2025-12/2025-12.json
- Archive source: https://discord.wafer.space/wafer-space/Information/questions/setup-violations-in-tt-corners-when-using-macros/2025-12/2025-12.json
Content
No, STA errors won't prevent anything from running, they're just informations.
<details>
<summary>Other message metadata</summary>{
"author": {
"avatarUrl": "2025-12_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png",
"discriminator": "0000",
"isBot": false
},
"message": {}
}
</details>message-1446412971134681203
2025-12-05T08:08:45.372+00:00 — tnt (@246tnt)
- Message ID:
1446412971134681203 - Author ID:
596068704471482370 - Nickname: tnt
- User name: 246tnt
- Type:
Default - Discord message: https://discord.com/channels/1361349522684510449/1446150954536927232/1446412971134681203
- Archive source: https://discord.wafer.space/wafer-space/%E2%84%B9%EF%B8%8F%20-%20Information/%E2%81%89%EF%B8%8F-questions/setup-violations-in-tt-corners-when-using-macros/2025-12/2025-12.json
- Archive source: https://discord.wafer.space/wafer-space/Information/questions/setup-violations-in-tt-corners-when-using-macros/2025-12/2025-12.json
Content
If you get something in the `final` subdir, then all the steps ran.
<details>
<summary>Other message metadata</summary>{
"author": {
"avatarUrl": "2025-12_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png",
"discriminator": "0000",
"isBot": false
},
"message": {}
}
</details>message-1446413785215799448
2025-12-05T08:11:59.464+00:00 — Egor Lukyanchenko (@egorxe)
- Message ID:
1446413785215799448 - Author ID:
709384666909507634 - Nickname: Egor Lukyanchenko
- User name: egorxe
- Type:
Reply - Edited: 2025-12-05T08:12:18.043+00:00
- Discord message: https://discord.com/channels/1361349522684510449/1446150954536927232/1446413785215799448
- Archive source: https://discord.wafer.space/wafer-space/%E2%84%B9%EF%B8%8F%20-%20Information/%E2%81%89%EF%B8%8F-questions/setup-violations-in-tt-corners-when-using-macros/2025-12/2025-12.json
- Archive source: https://discord.wafer.space/wafer-space/Information/questions/setup-violations-in-tt-corners-when-using-macros/2025-12/2025-12.json
Reply/reference
<details> <summary>Reference data</summary>{
"channelId": "1446150954536927232",
"guildId": "1361349522684510449",
"messageId": "1446412502681391195"
}
</details>Content
You can add "Checker.SetupViolations: null" to the substituting_steps section of config.yaml to stop the LibreLane from failing a flow on timing violations.
<details>
<summary>Other message metadata</summary>{
"author": {
"avatarUrl": "2025-12_media/3-FB033.png",
"discriminator": "0000",
"isBot": false
},
"message": {
"mentions": [
{
"avatarUrl": "2025-12_media/4-4551A.png",
"color": null,
"discriminator": "0000",
"id": "1152597572385525871",
"isBot": false,
"name": "jonathan_ha_25034",
"nickname": "Jonathan",
"roles": []
}
]
}
}
</details>message-1446414131451269180
2025-12-05T08:13:22.013+00:00 — Jonathan (@jonathan_ha_25034)
- Message ID:
1446414131451269180 - Author ID:
1152597572385525871 - Nickname: Jonathan
- User name: jonathan_ha_25034
- Type:
Default - Discord message: https://discord.com/channels/1361349522684510449/1446150954536927232/1446414131451269180
- Archive source: https://discord.wafer.space/wafer-space/%E2%84%B9%EF%B8%8F%20-%20Information/%E2%81%89%EF%B8%8F-questions/setup-violations-in-tt-corners-when-using-macros/2025-12/2025-12.json
- Archive source: https://discord.wafer.space/wafer-space/Information/questions/setup-violations-in-tt-corners-when-using-macros/2025-12/2025-12.json
Content
Okay, thanks very much. I will try that 🙂
<details>
<summary>Other message metadata</summary>{
"author": {
"avatarUrl": "2025-12_media/4-4551A.png",
"discriminator": "0000",
"isBot": false
},
"message": {
"inlineEmojis": [
{
"code": "slight_smile",
"id": "",
"imageUrl": "2025-12_media/1f642-83E8A.svg",
"isAnimated": false,
"name": "🙂"
}
]
}
}
</details>message-1446414877324218538
2025-12-05T08:16:19.843+00:00 — tnt (@246tnt)
- Message ID:
1446414877324218538 - Author ID:
596068704471482370 - Nickname: tnt
- User name: 246tnt
- Type:
Default - Discord message: https://discord.com/channels/1361349522684510449/1446150954536927232/1446414877324218538
- Archive source: https://discord.wafer.space/wafer-space/%E2%84%B9%EF%B8%8F%20-%20Information/%E2%81%89%EF%B8%8F-questions/setup-violations-in-tt-corners-when-using-macros/2025-12/2025-12.json
- Archive source: https://discord.wafer.space/wafer-space/Information/questions/setup-violations-in-tt-corners-when-using-macros/2025-12/2025-12.json
Content
Oh, looks like my info is outdated, I wasn't even aware that flow failed on STA violation now, sorry about that.
Reactions
- Resolved media URL: https://discord.wafer.space/wafer-space/%E2%84%B9%EF%B8%8F%20-%20Information/%E2%81%89%EF%B8%8F-questions/setup-violations-in-tt-corners-when-using-macros/2025-12/2025-12_media/1f44d-27259.svg
- Resolved media URL: https://discord.wafer.space/wafer-space/%E2%84%B9%EF%B8%8F%20-%20Information/%E2%81%89%EF%B8%8F-questions/setup-violations-in-tt-corners-when-using-macros/2025-12/2025-12_media/4-4551A.png
[
{
"count": 1,
"emoji": {
"code": "thumbsup",
"id": "",
"imageUrl": "2025-12_media/1f44d-27259.svg",
"isAnimated": false,
"name": "👍"
},
"users": [
{
"avatarUrl": "2025-12_media/4-4551A.png",
"color": null,
"discriminator": "0000",
"id": "1152597572385525871",
"isBot": false,
"name": "jonathan_ha_25034",
"nickname": "Jonathan"
}
]
}
]
</details><details>
<summary>Other message metadata</summary>{
"author": {
"avatarUrl": "2025-12_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png",
"discriminator": "0000",
"isBot": false
},
"message": {}
}
</details>