<@U017X0NM2E7>: I'll take a look. Thanks for rep...
# verification-be
t
@User: I'll take a look. Thanks for reporting back.
m
I updated the message with how to reproduce the error after you responded.
t
Even better!
m
@Tim Edwards I logged this on github with some more information. https://github.com/RTimothyEdwards/magic/issues/70
t
@Mitch Bailey: I basically gave up on doing this the preferred way. I had previously removed a restriction from magic about using brackets in instance names. Possibly if I stopped worrying about this in net names and just escaped slashes in instance names, it would work. For now, I am just prohibiting slashes in instance names and converting them to underscores when reading from GDS or DEF. That should take care of the problem for now.
m
@Tim Edwards Your fix 8.3.132 appears to work. I logged the issue to github because on my free slack account, I can't access messages older than a month or so. The current issue may be unrelated. The ext file contains merge statements for nets that are internal to subckts.
Copy code
merge "PHY_1162/VPWR" "soc.soc_mem.mem.SRAM/FILLER_173_42/VPWR"
merge "soc.soc_mem.mem.SRAM/FILLER_173_42/VPWR" "PHY_463/VPWR"
soc.soc_mem.mem.SRAM
is an instance defined in a
use
statement. I think it wants to merge with the net
FILLER_173_42/VPWR
of
soc.soc_mem.mem.SRAM
but that's not a port of the subckt. How does magic extract connections to non-ports in subcells?
t
@Mitch Bailey: It's not a valid port, but it's a valid hierarchical name. This was the problem I was having with the slashes in the instance names. Magic uses the "/" in the .ext file to represent the hieararchy, so when the "/" character shows up in instance names, the extraction gets totally screwed up. In the above example, it's only necessary that the last node in the chain of "/" splits should be a port.
m
@Tim Edwards With magic 8.3.125, I was able to extract caravel/storage. With magic 8.3.132, I can not. A bunch of these errors.
Copy code
connect(1): no such node pk_pdriver_3_0\/pk_pinv_16_0/vdd
I checked the ext files, and though there are no / in the use line instance names, there are multiple slashes in the merge line nets. As you suggest, changing / -> _ when gds is read may work. If you let me know when you have a new stable version, and I'll do a regression test on the caravel blocks that have passed so far.
t
@Mitch Bailey: Yes, revision 132 is effectively hosed. Use 133.