krispaul has quit [Read error: Connection reset by peer]
krispaul has joined #yosys
<FabM>
Hi,
<FabM>
Is there a project like CXXRTL but for Rust ?
whitequark[cis] has joined #yosys
<whitequark[cis]>
not sure. cxxrtl can be used *from* rust; what's your use case?
<FabM>
Yes I think we can call C++ API from rust program. But I was wondering if there was a project that converted HDL Verilog directly to Rust.
<FabM>
Like CXXRTL but for Rust
<whitequark[cis]>
there is actually a C API which is a lot more convenient
<whitequark[cis]>
I think someone was working on a Rust backend but I don't recall who
<jix>
there is also the functional backend infrastructure which turns a netlist into a topologically sorted graph of operations, intended to write custom backends primarily to make it easier to interface yosys with various formal methods tools, but including a naive C++ backend, adapting that to output Rust would be another option
<jix>
so if you just need some way to evaluate a circuit, that might be enough, if you care about performance or having an actual API or any of the other things CXXRTL provides, it's not going to provide any of that
<jix>
with that you might also run into some limitations since this hasn't been used that much outside of a few specific use cases, but most likely those would be limitations we'd want to get rid of or bugs we'd want to fix
<jix>
(and with that I mean limitations in what RTLIL it can handle, providing the same functionality that CXXRTL provides is out of scope)
<jix>
FabM: ^
<FabM>
jix, Okay, thanks for the explanation. I think CXXRTL will suffice in my case. :)
Guest19 has joined #yosys
<Guest19>
Hi
<Guest19>
In my Yosys , *.ys script I want to put command by which I can get list of Black Bixes. Like in Design Compiler - get_cells -filter is_black_box == true
<jix>
Guest19: you can select all cells that are black box instances using the selection pattern `=* * %d %C` (without the quotes) and to list them you could use `select -list =* * %d %C`
<jix>
this doesn't include builtin primitives though, for those you'd use the selection `*/t:$*`
<jix>
`=* * %d %C` means take all modules including blackboxes `=*` then `* %d` means subtract from that all modules without blackboxes and select the result and `%C` means replace the selection with all cells that are instances of currently selected modules
<jix>
`*/t:$*` means select all cells that have a celltype starting with `$`
Guest18 has joined #yosys
<Guest19>
In my *.ys scropt I have addeed - select -list =* * %d %C`. But got error - ERROR: Unknown selection operator '%C`'.
<jix>
what version of yosys are you using?
<Guest19>
Yosys 0.9 (git sha1 1979e0b)
<jix>
that version is almost 6 years out of date
<Guest19>
Ok
<Guest19>
Which are the latest version?
<Guest19>
Can you give me link ?
Guest19 has quit [Quit: Client closed]
Guest20 has joined #yosys
<Guest20>
I have tried with Yosys 0.55+146 (git sha1 262b00d5e, g++ 11.4.0-1ubuntu1~22.04 -fPIC -O3), but I am getting same error
<Guest20>
In yosys I want to list out black boxes list. Looks like in Design compiler, we can do get_cell .... is_black_box = true
Guest20 has quit [Quit: Client closed]
Guest25 has joined #yosys
<Guest25>
Hi
<Guest25>
I am using *.ys file for my synthesis . I want to list out all Blackbox modules. Like in Design compiler we are using get_cells -filter blackboxes=true
ysionneau has quit [Ping timeout: 252 seconds]
killjoy has quit [Read error: Connection reset by peer]
arogora has joined #yosys
arogora is now known as killjoy
killjoy has quit [Changing host]
killjoy has joined #yosys
lofty[m] has joined #yosys
<lofty[m]>
Guest25: all yosys blackbox modules have the (* blackbox *) attribute
<Guest25>
Can you guide me Command. I want to put this command at the end of Yosys
<lofty[m]>
didn't jix already give you the command?
<lofty[m]>
select -list =* * %d %C
<Guest25>
Tried with - select -list =* * %d %C, but it gives so many Black Boxes which were not correct
<lofty[m]>
okay, I feel I should ask: are you looking for black box cells or black box modules
<Guest25>
Both
<Guest25>
cells are alos fine
<Guest25>
In Design Compiler I was using - get_cells -filter blackboxes=true
<lofty[m]>
I won't lie, I would probably use a different selection option, of select -list a:blackbox
<Guest25>
Not working - select -list a:blackbox
<lofty[m]>
also, I guess I don't quite understand what your use case for this is
<Guest25>
Actually I want to list out Black Boxes which are in my design
<lofty[m]>
I probably shouldn't ask why your design has blackboxes to begin with
Guest25 has quit [Quit: Client closed]
Guest56 has joined #yosys
<Guest56>
We are passing some Memory model and other models through *.lib files
<Guest56>
Some module has only i/os , no logic
<lofty[m]>
I really hope you're not trying to impoprt black boxes through read_liberty
<Guest56>
I am using command real_libert -lib
<lofty[m]>
is this the only way you're importing them?
<Guest56>
Yes
Guest56 has quit [Client Quit]
<lofty[m]>
then try select -list A:blackbox, which is modules with the attribute blackbox, rather than cells with the attribute blackbox
Guest18 has quit [Quit: Client closed]
ysionneau has joined #yosys
<jix>
oh yeah using the attribute is a better idea, no idea why I didn't think of that, but you still need to use `=` since blackbox modules are excluded by default
<jix>
so `select -list =A:blackbox` gives you all blackbox modules and you can add `%C` to get all instances of blackbox modules (different from cells with the attribute blackbox, wich I'm not sure is a thing?)
<lofty[m]>
unfortunately they're gone at the moment
<lofty[m]>
but yeah, I think that's correct
FabM has quit [Remote host closed the connection]
danderson has quit [Quit: WeeChat 4.4.3]
krispaul has quit [Read error: Connection reset by peer]