ChanServ changed the topic of #yosys to: Yosys Open SYnthesis Suite: https://github.com/YosysHQ/yosys/ | Channel logs: https://libera.irclog.whitequark.org/yosys/
tpb has quit [Remote host closed the connection]
tpb has joined #yosys
X-Scale has joined #yosys
emeb_mac has quit [Ping timeout: 276 seconds]
gsmecher has quit [Ping timeout: 250 seconds]
emeb_mac has joined #yosys
diadatp has quit []
diadatp has joined #yosys
Guest96 has joined #yosys
Guest96 has left #yosys [#yosys]
vidbina has joined #yosys
vidbina has quit [Ping timeout: 255 seconds]
emeb_mac has quit [Quit: Leaving.]
vidbina has joined #yosys
vidbina has quit [Ping timeout: 240 seconds]
vidbina has joined #yosys
Kamilion has quit [Ping timeout: 246 seconds]
Kamilion has joined #yosys
jix has quit [Quit: quit]
jix has joined #yosys
vidbina has quit [Ping timeout: 252 seconds]
vidbina has joined #yosys
emeb has joined #yosys
gsmecher has joined #yosys
vidbina has quit [Ping timeout: 240 seconds]
<tnt> Err, how do you execute a yosys script then get an interactive prompt once its done ?
<tnt> My google-fu is failing me :/
<gatecat> the "shell" command does that
<gatecat> you could do -p "script script_file.ys; shell"
<tnt> Oh, ok, yeah that works. tx.
emeb_mac has joined #yosys
<tnt> So, I'm trying to use cxxrtl to simulate a SoC because iverilog is a bit on the slow side when simulating past a few millions cycles. First time using cxxrtl at all, so I'm still figuring things out but ATM the generated C++ takes 8 minutes to build ( and ~ 9G of RAM ).
<tnt> The SoC contains RAM of course, which for sim in iverilog I replaced the memory controller / phy / ... with just a flat reg [31:0] mem[0:8388607]; arrays and I'm using that for cxxrtl too.
<whitequark> the current implementation is inefficient at handling very large memories
<whitequark> replacing it with a black box is one possible workaround
<tnt> Ok, I'll give that a shot.
<whitequark> let me know if you hit any issues
<whitequark> you will likely need the (* cxxrtl_sync *) attribute on the dout port
<tnt> In a somewhat related topic, the SPRAM model in cells_sim.v isn't appreciated by yosys (I'm loading cells_sim because I need cxxrtl to sim some of the primitives ...). I patched it to mkae it digested better (at the price of sim accuracy but heh can't have everything).
<tnt> Is there a `define that I should be using to have that included upstream to enable/disable that patch ?
<tnt> (Basically the sim model simulated the various shutdown and standby modes and that just uses a bunch of async stuff which doesn't go well)
<whitequark> CXXRTL is synthesis-like, so maybe `ifdef SYNTHESIS ?
<whitequark> I'm not sure though
<tnt> Heh. googling cxxrtl_sync isn't giving much info about what this is for
<whitequark> please take a look at `help write_cxxrtl`; there is an introduction in that text
<tnt> ack
vidbina has joined #yosys
ZipCPU has quit [Ping timeout: 252 seconds]
ZipCPU has joined #yosys
dys has quit [Ping timeout: 252 seconds]
<tnt> Mmm, doesn't seem to have improved build time unfortunately. I haven't actually implemented the blackbox yet, but it takes like 10+ minutes to complete compilation and throw error about missing symbol.
<tnt> Less memory used and the .cpp went from 51M down to 7M so that's at least some gain.
dys has joined #yosys
vidbina has quit [Ping timeout: 255 seconds]