enriq has joined ##openfpga
enriq has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
enriq has joined ##openfpga
enriq has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
enriq has joined ##openfpga
enriq has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
enriq has joined ##openfpga
DocScrutinizer05 has quit [Quit: EEEEEEK]
DocScrutinizer05 has joined ##openfpga
DocScrutinizer05 has quit [Client Quit]
DocScrutinizer05 has joined ##openfpga
DocScrutinizer05 has quit [Client Quit]
DocScrutinizer05 has joined ##openfpga
digshadow has quit [Ping timeout: 246 seconds]
enriq has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
enriq has joined ##openfpga
enriq has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
enriq has joined ##openfpga
enriq has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
digshadow has joined ##openfpga
azonenberg_work has joined ##openfpga
digshadow has quit [Quit: Leaving.]
digshadow has joined ##openfpga
<azonenberg_work> rqou: sooo it looks like TFF counters take many forms that are tricky to recognize :p
<azonenberg_work> My initial version will only work for power-of-two counts
<azonenberg_work> I'll generalize it later
X-Scale has quit [Quit: HydraIRC -> http://www.hydrairc.com <- Po-ta-to, boil em, mash em, stick em in a stew.]
<openfpga-github> [yosys] azonenberg pushed 2 new commits to master: https://git.io/v5zOQ
<openfpga-github> yosys/master f167152 Andrew Zonenberg: Fixed typo in comment. Fixed bug where extract_counter would create up counters when it meant to create down counters.
<openfpga-github> yosys/master ea75173 Andrew Zonenberg: Initial recover_tff_counters implementation. Far from all-inclusive but works for power-of-two counts.
eduardo has joined ##openfpga
Hootch has joined ##openfpga
teepee has quit [Ping timeout: 240 seconds]
teepee has joined ##openfpga
pie__ has quit [Ping timeout: 240 seconds]
teepee has quit [Ping timeout: 258 seconds]
Hootch has quit [Ping timeout: 248 seconds]
teepee has joined ##openfpga
teepee has quit [Ping timeout: 248 seconds]
teepee has joined ##openfpga
specing has quit [Ping timeout: 240 seconds]
specing has joined ##openfpga
pie_ has joined ##openfpga
pie_ has quit [Read error: Connection reset by peer]
pie_ has joined ##openfpga
pie_ has quit [Ping timeout: 240 seconds]
teepee has quit [Ping timeout: 252 seconds]
teepee has joined ##openfpga
pie_ has joined ##openfpga
m_t has joined ##openfpga
enriq has joined ##openfpga
teepee has quit [Ping timeout: 240 seconds]
teepee has joined ##openfpga
Hootch has joined ##openfpga
teepee has quit [Ping timeout: 258 seconds]
teepee has joined ##openfpga
pie_ has quit [Ping timeout: 248 seconds]
enriq has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
enriq has joined ##openfpga
pie_ has joined ##openfpga
pie__ has joined ##openfpga
pie_ has quit [Remote host closed the connection]
_whitelogger has joined ##openfpga
pie__ has quit [Read error: Connection reset by peer]
pie_ has joined ##openfpga
pie_ has quit [Remote host closed the connection]
pie_ has joined ##openfpga
digshadow has quit [Ping timeout: 240 seconds]
enriq has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
enriq has joined ##openfpga
azonenberg_work has quit [Ping timeout: 240 seconds]
fpgacraft2 has quit [Quit: ZNC 1.7.x-git-709-1bb0199 - http://znc.in]
fpgacraft2 has joined ##openfpga
pie_ has quit [Ping timeout: 240 seconds]
enriq has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
enriq has joined ##openfpga
teepee has quit [Ping timeout: 248 seconds]
teepee has joined ##openfpga
enriq has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
enriq has joined ##openfpga
azonenberg_work has joined ##openfpga
azonenberg_work1 has joined ##openfpga
azonenberg_work has quit [Ping timeout: 240 seconds]
azonenberg_work1 is now known as azonenberg_work
pie_ has joined ##openfpga
azonenberg_work has quit [Ping timeout: 248 seconds]
clifford has quit [Read error: Connection reset by peer]
azonenberg_work has joined ##openfpga
enriq has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
enriq has joined ##openfpga
test123456 has joined ##openfpga
azonenberg_work has quit [Ping timeout: 240 seconds]
X-Scale has joined ##openfpga
azonenberg_work has joined ##openfpga
enriq has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
azonenberg_work has quit [Ping timeout: 240 seconds]
enriq has joined ##openfpga
azonenberg_work has joined ##openfpga
azonenberg_work has quit [Client Quit]
azonenberg_work has joined ##openfpga
digshadow has joined ##openfpga
enriq has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
enriq has joined ##openfpga
azonenberg_work has quit [Ping timeout: 260 seconds]
azonenberg_work has joined ##openfpga
Hootch has quit [Quit: Leaving]
enriq has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
enriq has joined ##openfpga
enriq has quit [Client Quit]
test123456 has quit [Quit: Leaving]
enriq has joined ##openfpga
pie_ has quit [Ping timeout: 240 seconds]
<rqou> you broke the merging
<azonenberg_work> Did i bork something?
<azonenberg_work> Feel free to fix it
<rqou> idk what exactly you borked
<rqou> working on some other stuff right now
<azonenberg_work> Does it still work? :p
<rqou> (school-related)
<azonenberg_work> thats the important bit
<rqou> i don't think so?
<azonenberg_work> i found an unrelated merge issue a day or two ago that i fixed
<azonenberg_work> Rebasing is a pain in the butt :p
<qu1j0t3> it's like cleaning the gutters before the storm of a merge tho
pie_ has joined ##openfpga
awygle_m has joined ##openfpga
awygle_m has left ##openfpga [##openfpga]
awygle_m has joined ##openfpga
awygle_m has quit [Remote host closed the connection]
enriq has quit [Ping timeout: 248 seconds]
<rqou> azonenberg_work: why is LOC not an inherent feature of xbpar?
<azonenberg_work> There's a lot of stuff in gp4par that should get moved into xbpar
<azonenberg_work> Because i never had the time to properly decide what features in gp4par were generic and should be part of xbpar
<rqou> azonenberg_work: your yosys master is super hosed
<rqou> passes/techmap/recover_tff_counters.cc:193:71: error: expected ')'
<azonenberg_work> i'll look in a sec, did you pull my current version?
<azonenberg_work> i fixed something last night
<rqou> i think so?
<rqou> ea75173d3b69eb8750771023fc01fb45ec98e71b
<azonenberg_work> Did you force pull the current version? i rebased it a few days ago for a second time
<azonenberg_work> possible you messedthat up
<azonenberg_work> actually no wait
<azonenberg_work> lol
<azonenberg_work> that is an actual non-merge problem in code i committed last night that wasnt fully tested
<azonenberg_work> i must have committed it, i didnt think i did
<azonenberg_work> Welp
<pie_> shame shame :P
<azonenberg_work> This is what i get for working on master at 1am :p
<openfpga-github> [yosys] azonenberg pushed 1 new commit to master: https://git.io/v52Gg
<openfpga-github> yosys/master 56565a4 Andrew Zonenberg: Fixed typo
azonenberg_work has quit [Ping timeout: 240 seconds]
m_t has quit [Quit: Leaving]
azonenberg_work has joined ##openfpga
<openfpga-github> [yosys] azonenberg deleted coolrunner-techmap at 5f65e24: https://git.io/v52lv
ZipCPU|Laptop has joined ##openfpga
<rqou> so azonenberg_work \
<rqou> the other day my housemate and I were arguing about why we needed simulated annealing
<rqou> and whether PAR could be done with an analytic algorithm
<rqou> and the answer is that it can
<rqou> azonenberg_work: do you like using giant oversized hammers? https://gist.github.com/rqou/28ae0f08ee7ce1c70fa60921fed4a46a
<rqou> unfortunately, using a huge hammer like this is currently slower
<rqou> but what are your thoughts on the approach?
<azonenberg_work> I did annealing b/c it was sufficient for small devices
<azonenberg_work> PAR *can* be done analytically
<azonenberg_work> in fact, for a large device this gives superior results
<azonenberg_work> vivado allegedly uses an analytic solver
<rqou> did you open my gist? :P
<azonenberg_work> Yes
<azonenberg_work> I would not use a sat solver :p
<rqou> my housemate was claiming that apparently modern sat solvers can be (if you do it right) surprisingly fast on a lot of problems
<azonenberg_work> Yes, they can be
<azonenberg_work> They're not what i would use for PAR
<rqou> why not?
<azonenberg_work> Because when you have 2M LUTs it'll take forever
<azonenberg_work> the good analytic placers can be parallelized
<rqou> i thought z3 can be parallelized?
<azonenberg_work> i'd want something based on minimizing a quadratic wirelength metric or something like that
<azonenberg_work> you misunderstand
<rqou> no, i don't want to use this for FPGAs
<azonenberg_work> you can parallelize annealing to 2 or 4 cores or something too
<azonenberg_work> I want something we can scale to 1024 cores
ZipCPU|Laptop has quit [Ping timeout: 240 seconds]
<rqou> just for small stuff that xbpar would normally handle
<azonenberg_work> For that, i think annealing is better
<azonenberg_work> either that, or actually write an analytic placer that gives a provably optimal solution
<azonenberg_work> Which may be possible for these smaller devices without formulating it as a SAT problem
<azonenberg_work> Also, a sat solver cannot produce a timing driven placement because it only gives a boolean result
<rqou> this is an SMT solver
<azonenberg_work> For greenpak at least, some routes are measurably better than others
<rqou> i requested QF_LIA for a reason :P
<azonenberg_work> So i want the placer to take timing of different paths into an account
<rqou> the hack i was thinking of doing was to ask for a timing of a bajillion, and then binary search until the solver returns unsat
<azonenberg_work> LOL
<azonenberg_work> i mean, it would work...
<azonenberg_work> The world's only provably optimal CPLD place-and-route
<azonenberg_work> only takes 2 weeks for a blinky
<rqou> will it though?
<azonenberg_work> but it will shave every last ps off :p
<azonenberg_work> my experience is, when given a barely unsolvable system z3 takes a long time and a lot of memory
<azonenberg_work> if easily solvable it's fast, and if trivially unsat it's fast
<azonenberg_work> but right on the line, either way, it takes forever
<azonenberg_work> alternatively, a barely solvable system may take a while to converge
<azonenberg_work> Also http://hardwear.io/schedule.php
<azonenberg_work> in case you didnt see
* azonenberg_work is excited to meet Sergei, hope he sticks around after the keynote for a chat
<rqou> so i was arguing with my housemate about using a solver vs writing a custom backtracking analytic PAR, and his opinion was "well, SAT/SMT solvers have huge research teams behind them"
<azonenberg_work> So, idk about for CPLD, but for FPGA you definitely want your own analytic PAR
<azonenberg_work> not a SAT/SMT solver
<rqou> sure
<azonenberg_work> You dont need an optimal solution
<azonenberg_work> you need a good enouhg one that satisfies constraints
<azonenberg_work> And you can use some basic heuristics
<rqou> but SMT solvers can do all of that too :P
<rqou> because i ask for QF_LIA, you can use "less than"
<rqou> although i haven't actually tried doing this
<azonenberg_work> Also, i want to try to do spatial partitioning
ZipCPU|Laptop has joined ##openfpga
<azonenberg_work> use an approximation algorithm to divide the whole chip into smaller regions, assign various gates to each one
<azonenberg_work> Then do detail placement within each region
<azonenberg_work> with a separate processor doing each region
<rqou> um, a number of the FPGA analytic placers i've looked at do that
<azonenberg_work> and moving gates from region to region as needed
<azonenberg_work> Yeah i know
<azonenberg_work> But can z3 do that? :p
<rqou> maybe not
<azonenberg_work> You could plausibly use z3 for the detail placement
<rqou> hey, why do we have two placers?
<azonenberg_work> I dont know, this is something that awygle was looking at
<azonenberg_work> where?
<rqou> why don't crossbars/CPLDs just share algorithms with FPGAs?
<azonenberg_work> star vs grid topology is very different
<azonenberg_work> in an FPGA, placement is much more critical
<azonenberg_work> in a CPLD you can basically throw everything down then tweak until it's routable
<rqou> but the data model for xbpar allows for both
<rqou> it just won't work super well for an FPGA
<azonenberg_work> Also the xbpar model requires the entire routing topology in ram
<azonenberg_work> all edges, etc
<azonenberg_work> Which is probably bad for a large FPGA
<azonenberg_work> it'd be better to store the generic connectivity of a switch box then reference it
<rqou> hmm, so overall you don't see the "use the giant z3 hammer" approach as worth it?
awygle_m has joined ##openfpga
<azonenberg_work> No, i do not
<azonenberg_work> z3 has its place, i love it for formal verification etc
<azonenberg_work> But not for PAR
<rqou> so what about writing our own analytic backtracking PAR (for CPLDs)?
<azonenberg_work> That i would consider
<azonenberg_work> And i think it's probably the way to go in the long term
<awygle_m> Popping in from Logworld to say that I am still working on a parallel analytical placer for FPGAs
<azonenberg_work> :)
<rqou> did you see my gist awygle_m?
<azonenberg_work> awygle_m: also FYI I'm gonna be back in town next week
<awygle_m> I saw it existed but I am at $DAYJOB
<azonenberg_work> If you want to meet up and chat in meatspace
<azonenberg_work> (things keep happening, lol)
* azonenberg_work had 2 weeks of vacation followed by 2 weeks on site with a client
<rqou> followed by conference? :P
<azonenberg_work> After a week of downtime to do research, yes
<azonenberg_work> after THAT i should be home for a while
<azonenberg_work> Fingers crossed, Q4 is starting :p
<awygle_m> azonenberg_work: yes I would like to do that, next week may be problematic for me. Might be better to push to after conference
<azonenberg_work> Roger
<awygle_m> Also, the mention of meatspace combined with recent tweets has me craving a meat lovers pizza. So thanks for that :-P
<azonenberg_work> Lol
<rqou> too bad none of you are going to 34C3
<awygle_m> Fly me to Germany lol
<awygle_m> I'd love to go, just isn't in the cards this year
<azonenberg_work> awygle_m: You should swing by my place on bainbridge once i'm back in town
<azonenberg_work> Explore my lab and chat FPGAs
<azonenberg_work> and have an epic whiteboard session :p
<rqou> wait wtf
<rqou> you should schedule a time where i can be there too
<azonenberg_work> What's your availability look like the weekend of 9/30-10/1? Or 10/14-15, or 10/21-22, or 10/28-29
<azonenberg_work> i most likely will be training with SAR the first weekend of every month all fall/winter but will be available otherwise on weekends
<rqou> it's unclear
<rqou> i can probably be a terrible student and can definitely do "dead week" in december
<rqou> but that's very late
<azonenberg_work> Lol
<azonenberg_work> Which week?
<rqou> i think it should be the week of december 11
<azonenberg_work> Because the 22nd until probably jan 1st i am visiting family for xmas (departure date TBD)
<azonenberg_work> We can always do a meetup then and then have a shorter session w/ just me and awygle earlier in the fall
<rqou> sure
<azonenberg_work> Anyone else who you think should be involved?
* azonenberg_work tries to remember who might be able to come
<azonenberg_work> lain and/or griffon are local but idk if they would be interested, they do FPGA stuff but don't seem to be super into tooling
<azonenberg_work> pointfree and cyrozap would be nice to get, but i dont think they're nearby (i forget where they live)
<rqou> oh btw, i have a plan for how to get me over to washington without me having to drive 14 hours straight (which isn't super safe)
<azonenberg_work> Clifford would be really nice, but it'd be a major undertaking to get him over from vienna
<azonenberg_work> Maybe we should host an open FPGA tools conference in seattle at some point :p
awygle_m has quit [Remote host closed the connection]
<rqou> i'll drive 10 or so hours to Vancouver WA or whatever, and you meet me in the middle with another person and drive me the rest of the way
awygle_m has joined ##openfpga
<rqou> much safer than 14 hours continuous driving
<azonenberg_work> Or you could, you know, get a hotel like a normal person?
<azonenberg_work> :p
<rqou> i can do that too
<rqou> but then it takes two days
<azonenberg_work> or... /me checks
<awygle_m> I usually did Portland as the pause point, only 3h from there to Seattle
<awygle_m> Also, androirc is garbage
scrts has quit [Ping timeout: 255 seconds]
<azonenberg_work> rqou: also, it looks like it's less than $150 to fly SFO -> SEA round trip
<awygle_m> I am occupied the weekends of 9/16 and 10/6,neither of which were on your list, so I should be generally free. Also a huge chunk of January is out too, I think the week of like the 10th. I dig the idea of a meetup
<rqou> a flight is possible if i'm not bringing a ton of crap
<azonenberg_work> If you don't mind a screening by the Testicle Safety Administration :p
* azonenberg_work may be willing to donate some Delta miles to cover some of the cost of bringing a starving student to the meetup
<rqou> lol
<azonenberg_work> looks like a round trip is 10-20k miles, i'd probably be willing to part with enough to cover at least one leg
<rqou> it really depends on how much crap i want to bring over in that case
<azonenberg_work> i have ~50k but will probably spend some on xmas travel
<azonenberg_work> Yeah
<rqou> e.g. is it a hackathon or a whiteboarding session
<azonenberg_work> I imagined this would be primarily a planning meeting, so laptops + clothing + maybe a devkit or two
<azonenberg_work> i mean i have plenty of lab equipment
<rqou> ah, so no WFNA required :P
<azonenberg_work> Lol
<azonenberg_work> I dont have a fume hood right now anyway
<azonenberg_work> And i figure maybe we'd do some dev work
<rqou> just be whitequark and use a respirator plus some of that silver hvac tube stuff :P
<azonenberg_work> But primarily it would be high level system architecture, paper readings, discussions, etc
<azonenberg_work> setting a roadmap
<awygle_m> I will be more useful for Dev than chemistry etc :-P
<awygle_m> Although it would be cool
<pointfree> azonenberg_work: I live in the SF Bay Area. afaik cyrozap lives somewhere in Texas.
<rqou> awygle_m: no ee143 for you? :P
<azonenberg_work> ooh
<azonenberg_work> pointfree: if you're bay area
<azonenberg_work> maybe you and rqou could carpool and switch off driving?
<rqou> carpool we me?
<rqou> *with
<azonenberg_work> That would get both of you out here with no worries about sleep deprivation and less expensive than flying both of you
<rqou> yeah
<pointfree> What is this meetup. I missed the conversation.
<azonenberg_work> pointfree: basically planning session for future work, higher level system architecture, expanding to bigger FPGAs, PAR algorithms, possibly switching xbpar from annealing to analytic placement
<awygle_m> Agh, okay back to work, I am totally in for this, and I could probably kick in some cash if somebody needed a hand with travel. I'll read the logs tonight and catch up on whatever I miss
<whitequark> rqou: fume hood to do what
<azonenberg_work> whiteboarding session plus possibly hackathon depending on available time
<whitequark> azonenberg_work: oh btw I'll be in bay area soon
<azonenberg_work> whitequark: oh? when
<azonenberg_work> any chance you could swing up north or is that too far out of your way?
<rqou> meetup?
<whitequark> 15th or so
<whitequark> arrive
<azonenberg_work> of this month?
<whitequark> ye
<whitequark> i don't plan things month in advance lol
<azonenberg_work> How long are you staying?
<whitequark> dunno a month maybe
<azonenberg_work> the 10-16 i am busy and the 17-23 i will be in the hague
<rqou> lol meanwhile azonenberg_work and i have "stuff" planned out to may or so :P
<whitequark> i'll be staying with someone
<azonenberg_work> Didn't even have to commit any war crimes to get a free trip :p
<whitequark> i don't know if we'll become good roommates
<whitequark> if yes then month if no then less
<azonenberg_work> Well, if you can arrange to come up north you're welcome to visit
<azonenberg_work> If not, i may or may not be able to come down in october
<whitequark> yeah I know a few people in seattle
<whitequark> quite a few actually
<rqou> be roommates with me in my cluserf*ck of an apartment, what could go wrong? :P
<azonenberg_work> whitequark: well in that case maybe you should come up north at some point during your expedition
<rqou> we have a "smart energy grid" :P :P
<whitequark> rqou: oh sweet i have a third emergency option now
<azonenberg_work> We can have a get-together with griffon and lain, awygle, me, you
<pointfree> azonenberg_work: so this meetup would be in Washington state?
<azonenberg_work> either just a BBQ or a full greenpak dev hackathon
<azonenberg_work> or anything in between
<rqou> ok, i'm going to really have to find a weekend to be a terrible student and go up to washington for a weekend
<azonenberg_work> pointfree: Yes, i work in seattle and live on an island off the coast (easily accessible by ferry from downtown seattle)
<whitequark> i know at least three people in seattle i'd like to see, not counting azonenberg_work
<azonenberg_work> Well, in that case when i get back from Den Haag let's discuss and try to find a weekend that works for most of us?
<azonenberg_work> I have two couches and a futon that are available as needed if folks need somewhere to stay
<azonenberg_work> well ok one L-shaped couch and a futon, but you can sleep two on it
<whitequark> actually make that four people
<whitequark> why does everyone i know live in the us >_>