clifford changed the topic of #yosys to: Yosys Open SYnthesis Suite: http://www.clifford.at/yosys/ -- Channel Logs: https://irclog.whitequark.org/yosys
X-Scale has quit [Ping timeout: 248 seconds]
dys has quit [Ping timeout: 265 seconds]
X-Scale has joined #yosys
emeb_mac has joined #yosys
promach__ has joined #yosys
cemerick_ has joined #yosys
cemerick has joined #yosys
cemerick_ has quit [Ping timeout: 240 seconds]
sklv has quit [Remote host closed the connection]
sklv has joined #yosys
emeb has quit [Quit: Leaving.]
leviathan has joined #yosys
ZipCPU|Laptop has joined #yosys
leviathan has quit [Client Quit]
leviathan has joined #yosys
cemerick has quit [Ping timeout: 240 seconds]
pthomas has joined #yosys
<pthomas> so what would it look like to design an FPGA in verilog? I know that seems backwards (which also makes it very hard to search for)
<pthomas> now that there is risc-v we just need an open source eFPGA
promach__ has quit [Quit: WeeChat 2.1]
<awygle> pthomas: I recommend looking at project icestorm to get an idea of the internal layout of a real fpga. beyond that, it's verilog like any other (although it's probably auto-generated as FPGAs have a very regular structure)
AlexDaniel has quit [Ping timeout: 260 seconds]
<pthomas> yeah I was looking through the ice40 datasheet, it's not all that complex
proteusguy has quit [Ping timeout: 255 seconds]
<awygle> well, it is and it isn't lol. simple but lots of details.
cr1901_modern has quit [Read error: Connection reset by peer]
<awygle> pthomas: you may also find this interesting
<tpb> Title: openfpga/hdl/xc2c-model at master · azonenberg/openfpga · GitHub (at github.com)
<awygle> It's a model of a cool runner II cpld
<sorear> conversely fpgas are simple enough and have enough weird subunits (very small async-read sync-write RAMs in Xilinx parts, individual flash transistors not part of storage arrays in Microsemi parts) that they're ideal candidates for non-synthesized design
cr1901_modern has joined #yosys
seldridge has joined #yosys
promach_ has quit [Quit: WeeChat 2.1-dev]
promach_ has joined #yosys
proteusguy has joined #yosys
promach_ has quit [Quit: WeeChat 2.1-dev]
promach_ has joined #yosys
seldridge has quit [Ping timeout: 265 seconds]
seldridge has joined #yosys
seldridge has quit [Ping timeout: 240 seconds]
dys has joined #yosys
proteus-guy has quit [Read error: Connection reset by peer]
proteus-guy has joined #yosys
promach_ has quit [Quit: WeeChat 2.1-dev]
emeb_mac has quit [Quit: Leaving.]
GuzTech has joined #yosys
GuzTech has quit [Ping timeout: 248 seconds]
maartenBE has quit [Ping timeout: 240 seconds]
maartenBE has joined #yosys
dxld has quit [Remote host closed the connection]
dxld has joined #yosys
dmin7 has joined #yosys
GuzTech has joined #yosys
jwhitmore has joined #yosys
promach_ has joined #yosys
cemerick has joined #yosys
ZipCPU|Laptop has quit [Read error: Connection reset by peer]
ZipCPU has joined #yosys
ZipCPU|Alt has joined #yosys
ZipCPU has quit [Ping timeout: 256 seconds]
ZipCPU has joined #yosys
ZipCPU has quit [Ping timeout: 260 seconds]
ZipCPU has joined #yosys
promach_ has quit [Quit: WeeChat 2.1-dev]
ZipCPU has quit [Ping timeout: 264 seconds]
ZipCPU has joined #yosys
promach_ has joined #yosys
ZipCPU has quit [Ping timeout: 240 seconds]
ZipCPU has joined #yosys
ZipCPU|Laptop has joined #yosys
ZipCPU|Alt has quit [Quit: Cap'n! The dilithium crystals are ...]
jwhitmore has quit [Ping timeout: 256 seconds]
jwhitmore has joined #yosys
<promach_> ZipCPU, awygle: what kind of cover() do you guys have for UART ?
jwhitmore has quit [Ping timeout: 265 seconds]
jwhitmore has joined #yosys
<promach_> what is the purpose of using cover() when we have induction ?
digshadow has quit [Quit: Leaving.]
<ZipCPU> LOL!
<promach_> ?
<ZipCPU> promach: I've found more than one bug by using cover in code that had already passed induction
<promach_> I do not understand
<promach_> Why would that happen ?
<ZipCPU> There are a couple reasons why it might happen. For example, you might have made a careless assumption somewhere.
<ZipCPU> Such an assumption would render the proof nearly meaningless. A cover statement can help find it.
<promach_> so, cover() helps to catch wrong assume() statement ?
<ZipCPU> It can also catch bad logic as well.
<promach_> how so ? induction and BMC should catch them all
<ZipCPU> In one case, I built an Avalon to WB bus bridge. I messed up the logic, and in the process prevented the converter from ever entering into the write state.
<ZipCPU> I never caught it, since the bus would be in a perpetual stalled state.
<promach_> huh ?
dys has quit [Ping timeout: 240 seconds]
<ZipCPU> It would be stalled waiting to switch from the read state to the write state.
<promach_> why wouldn't induction help in this case ?
<ZipCPU> When I tried it on a DE10-nano, the device hung and hung hard on any attempted write.
<ZipCPU> The design had passed induction.
<promach_> what ?
<ZipCPU> It didn't fail any assertions.
<ZipCPU> It just .... didn't work.
<promach_> is your induction depth not suitable in that case ??
<ZipCPU> If the induction round passes, the depth is sufficient. There's not much more going on there. My induction depth was sufficient.
<promach_> I got it now
<promach_> ok, cover() is to test whether what your logic coding really does what you had planned it to
<promach_> I mean missing logic
<ZipCPU> So, there's a big difference between "safety" and "liveness" properties.
<promach_> what ?
<promach_> huh /
<ZipCPU> assert/assume are "safety" properties.
<ZipCPU> The goal of the solver is to prove you wrong. It can do this by finding one counter example.
<ZipCPU> If no counter example can be found, then your design must meet the safety properties.
<ZipCPU> cover is a "liveness" property. The goal of the solver here is to find one example to show that it is possible to be right.
<ZipCPU> As I understand things, there's a healthy debate regarding whether or not liveness properties are necessary. Mathematically, as I recall, they are not. Practically, they often help find things you would otherwise miss.
<ZipCPU> For example, when I was trying to debug your design, I added some cover properties at one point so that I could "see" what was (or in this case wasn't) going on.
AlexDaniel has joined #yosys
<promach_> you mean cover() for my UART coding ?
<ZipCPU> Yes. You don't remember that discussion?
<promach_> I do
<tpb> Title: Search · cover · GitHub (at github.com)
webchat221 has joined #yosys
<promach_> you didn't use cover() in your UART coding ?
xrexeon has joined #yosys
jwhitmore has quit [Ping timeout: 260 seconds]
cr1901_modern1 has joined #yosys
cemerick has quit [Read error: Connection reset by peer]
cemerick has joined #yosys
cr1901_modern has quit [Ping timeout: 240 seconds]
cr1901_modern1 has quit [Read error: Connection reset by peer]
cr1901_modern has joined #yosys
jwhitmore has joined #yosys
cr1901_modern has quit [Read error: Connection reset by peer]
cr1901_modern has joined #yosys
dmin7 has quit [Ping timeout: 256 seconds]
dmin7 has joined #yosys
cemerick_ has joined #yosys
cemerick has quit [Ping timeout: 264 seconds]
seldridge has joined #yosys
cemerick has joined #yosys
dmin7 has quit [Quit: Leaving.]
cemerick_ has quit [Ping timeout: 240 seconds]
dmin7 has joined #yosys
dmin7 has quit [Ping timeout: 260 seconds]
dmin7 has joined #yosys
dmin7 has quit [Ping timeout: 276 seconds]
seldridge has quit [Ping timeout: 255 seconds]
jwhitmore has quit [Ping timeout: 276 seconds]
jwhitmore has joined #yosys
dmin7 has joined #yosys
seldridge has joined #yosys
GuzTech has quit [Quit: Leaving]
quigonjinn has joined #yosys
Ahadnagy has joined #yosys
Ahadnagy has quit [Client Quit]
emeb has joined #yosys
m_w has quit [Quit: leaving]
digshadow has joined #yosys
clifford has quit [Read error: Connection reset by peer]
jwhitmore has quit [Ping timeout: 248 seconds]
GuzTech has joined #yosys
dys has joined #yosys
ZipCPU|Laptop has quit [Ping timeout: 256 seconds]
digshadow has quit [Quit: Leaving.]
digshadow has joined #yosys
leviathan has quit [Quit: http://quassel-irc.org - Chat comfortably. Anywhere.]
digshadow has quit [Client Quit]
<shapr> y0 y0 y0sys!
* shapr hops randomly
<shapr> I had WAY more caffeine today.
jwhitmore has joined #yosys
<awygle> mmm.... caffeine.
<shapr> 1.5 grams
<shapr> well, 1374mg if the packaging is accurate
<awygle> i have zero idea but that sounds like a lot
<shapr> I've read the average cup of coffee is 180-200mg
<awygle> i feel like "the average cup of coffee" is reported at 8oz which is comically small
<awygle> "The average caffeine content of an 8-oz, brewed cup of coffee is 95 mg" ok so 200mg seems reasonable then
<awygle> in which case i am at about 300 mg, maybe a bit more, and working on the next hundred
<shapr> so, only ~six cups of coffee
digshadow has joined #yosys
<shapr> awygle: I learned much from your livestream, looking forward to the next one
<awygle> shapr: thanks! i meant to do one on sunday but i got sick :(
<shapr> one of my coworkers did motherboard power design for Sun Microsystem for a few years
<shapr> I was describing what I learned about 'stacking' and then he wanted to see your saved livestream
<shapr> but they're not saved, are you planning on saving them in the future?
<shapr> or does that cost money or something?
<awygle> i sort of thought they automatically saved!
<awygle> i will look at the twitch settings
<shapr> hm, I couldn't find them, might be user error
<shapr> I don't see them on the page: https://www.twitch.tv/awygle
<tpb> Title: Twitch (at www.twitch.tv)
<awygle> now i'm all paranoid your coworker is gonna flame me for not talking about inductance lol
<shapr> you did talk about inductance
<shapr> inductance = reactance + resistance
<shapr> and changes in inductance cause signal reflection or other problems
<shapr> and that's why the changes in stackup between dirtypcbs and oshpark are important to keep in mind
<awygle> that's impedance :)
<shapr> whoops
<awygle> but i talked about capacitance between trance and plane without talking about trace inductance. which is super in the weeds and not actually that important (i wasn't giving you the _math_ after all) but technically should have been mentioned
<shapr> I have a big pile of fingertip sized neon bulbs that want 110V, I've wanted to make a PCB to wear them as pendants.
<awygle> that sounds like fun
<shapr> yeah, a neon relaxation oscillator is a very simple circuit
<awygle> gotta take nominal precautions against high voltage
<qu1j0t3> yeah!
<qu1j0t3> lovely!
<qu1j0t3> how big is that pile? ;-)
<shapr> I think I have twenty or thirty, five different colors?
<qu1j0t3> i didn't even know they came in all those colours
<awygle> shapr: i found the checkbox! future streams will be stored
dmin7 has quit [Remote host closed the connection]
<shapr> awygle: hurrah!
frystr is now known as strfry
cr1901_modern has quit [Read error: Connection reset by peer]
cr1901_modern has joined #yosys
mirage335 has quit [Ping timeout: 256 seconds]
dxld has quit [Quit: Bye]
dxld has joined #yosys
mirage335 has joined #yosys
Ahadnagy has joined #yosys
webchat221 has quit [Quit: Page closed]
cr1901_modern has quit [Ping timeout: 240 seconds]
jwhitmore has quit [Ping timeout: 240 seconds]
Ahadnagy has quit [Quit: Page closed]
GuzTech has quit [Ping timeout: 256 seconds]
digshadow has quit [Ping timeout: 240 seconds]
cr1901_modern has joined #yosys
emeb_mac has joined #yosys
tpb has quit [Remote host closed the connection]
tpb has joined #yosys