-
Notifications
You must be signed in to change notification settings - Fork 8
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
naming: Never remove underscores from original name #119
base: main
Are you sure you want to change the base?
Conversation
Signed-off-by: gatecat <[email protected]>
Yes I noticed this annoying management of underscore. I agree with the principle that we should modify as little as possible the original names. My only concern is about |
Yes, my bad, I didn't realise that VHDL apparently prohibits two consecutive underscores. So, if you wanted to use this SRAM with VHDL, you'd have to use an extended identifier in the backend. |
I confirm, So the translation should be moved at |
I'm a bit concerned about taking names from the BLIF file as-is, because a name might have a One option for now would be to remove everything but double underscores at the BLIF parse stage and escape those specifically during VHDL export? |
@jpc-lip6 sorry for the ping, just wondering if you've had a chance to think about my last message here? |
Hello Myrtle, sorry, not yet. Lot of things to do for my lectures last week! Will try as soon as possible. |
Hello Myrtle, I may have time to look into the problem in the next days. But my first question is the "specification". On the other hand, the We can also do what you suggest, that is "sanitize" the names coming from Last question: I'm not sure I understand what you do mean by escaping the double underscores |
This is a lot less of a concern for cell names, where it's unlikely anyway, if we get rid of VHDL cleansing in general, you could (and with Yosys flattening, almost certainly will) have a net name with a If you then want to refer to that net, say to create an HTree on it it's ambiguous between a net called
Instead of replacing the double underscores with a single one, we could theoretically keep the names intact by using a VHDL extended identifier, so |
In the case of the HTree, the net must be in the core or corona. It cannot be a deep net.
Ha OK. I understand and would agree if there wasn't a catch. The point of using VHDL (an, in fact, VST) All in all, I thing this is less of a technical issue than a policy of design flow one. We should clearly It is a recurrent problem in design flows, and I think we should have clear guidelines before patching |
The rules to prevent duplicate or leading/trailing underscores make sense when other characters are being translated to underscores, but in my opinion make less sense when underscores are present in the original cell name.
For example, the gf180 cell
gf180mcu_fd_ip_sram__sram512x8m8wm1
would be renamed togf180mcu_fd_ip_sram_sram512x8m8wm1
by the code as-is, which would cause problems for GDS patching or timing analysis.If you prefer a more conservative change that just preserves double (or more underscores) in names, I can also take that approach.