clifford changed the topic of #yosys to: Yosys Open SYnthesis Suite: http://www.clifford.at/yosys/ -- Channel Logs: https://irclog.whitequark.org/yosys
tpb has quit [Remote host closed the connection]
tpb has joined #yosys
emeb_mac has joined #yosys
jfcaron has quit [Ping timeout: 244 seconds]
adjtm_ has quit [Remote host closed the connection]
adjtm has joined #yosys
emeb has quit [Quit: Leaving.]
dh73 has joined #yosys
citypw has joined #yosys
adjtm has quit [Quit: Leaving]
adjtm has joined #yosys
pie_[bnc] has joined #yosys
Degi has quit [Ping timeout: 260 seconds]
Degi has joined #yosys
dh73 has quit [Ping timeout: 244 seconds]
Vinalon has quit [Ping timeout: 260 seconds]
<tnt> mwk: the up5k spram can't even be init to zero, content is random on start.
tmiw has quit [Ping timeout: 258 seconds]
tmiw has joined #yosys
emeb_mac has quit [Quit: Leaving.]
jakobwenzel has joined #yosys
dys has joined #yosys
sensille has joined #yosys
<sensille> can i tell yosys to complain about uninitialized registers?
<sensille> or to assume them as zero?
<tnt> if you care about its initial value you should have a reset on it.
<sensille> in case of fpgas, isn't the initial value part of the bitstream? or at least fixed as 0?
indy_ is now known as indy
<daveshah> Which FPGA?
<sensille> ecp5 in my case
<daveshah> then the initial value is the same as the reset value
<daveshah> defaulting to 0 if there is no reset and no init
<daveshah> note that there are a few places where a sync reset may be inferred even if there isn't an obvious reset in the design
<sensille> i just want yosys to warn me in case i forget an initial value
<daveshah> (e.g. q <= sel ? 1'b1 : d) would infer a sync set and therefore q would default to one-initialised
<tnt> sensille: sure but for instance if you're using a PLL you should hold all your logic in reset until it locks because until then the clock can do whatever ...
<daveshah> I don't think there's a way to do that
Asu has joined #yosys
<sensille> unfortunately verilator doesn't handle uninitialzed values well, either
futarisIRCcloud has quit [Quit: Connection closed for inactivity]
srk has quit [Changing host]
srk has joined #yosys
mwk has quit [Ping timeout: 246 seconds]
mwk has joined #yosys
parport0 has quit [Ping timeout: 250 seconds]
parport0 has joined #yosys
keith-man has joined #yosys
<keith-man> This might sound weird, but fun I was think of trying to use yosys to synthesize with discrete gates. I can see that it can accept liberty files, but when searching for how to write one it seems like they can be quite complicated. When I all I wanted to do was mainly have delay, rise and fall times, and pin capacitance area. Just to try something
<keith-man> out quickly.
<keith-man> Also when looking I see that abc can use a genlib file which seems simpler.
<keith-man> would perhaphs better to generate a bliff from a Verilog file and then use abc directly?
keith-man has quit [Ping timeout: 240 seconds]
<ZirconiumX> Ugh, they're gone
<mwk> well, it's a publicly logged channel, you can just answer into the aether
<Sarayan> beware, the abyss^Waether may answer back
keith-man has joined #yosys
keith-man has quit [Ping timeout: 240 seconds]
<ZirconiumX> It's entirely possible to use Yosys to synthesize to discrete gates; I even got it to target 74xx ICs: https://github.com/ZirconiumX/74xx-liberty
<tpb> Title: GitHub - ZirconiumX/74xx-liberty (at github.com)
<ZirconiumX> The Liberty format is a bit tricky to use, but I'm pretty sure ABC doesn't understand any of the timing information that comes with it
<daveshah> It should do...
<daveshah> whether it actually does is another question
<ZirconiumX> Describing timing information in Liberty format is...tricky
keith-man has joined #yosys
<ZirconiumX> keith-man: check the channel logs, I replied to you there
<keith-man> I just was looking there. Saw the mention of 7400 series logic, that's similar to what I want to do.
<keith-man> zirconiumX: wait ABC may not use the timing info in a liberty file?
<ZirconiumX> "may"; it's difficult to know exactly for sure because ABC is kinda opaque
<keith-man> what about for a genlib? Looks like something ABC can also use.
<ZirconiumX> I can't help you there, unfortunately
<keith-man> so looking at the lib file you wrote here is there capacitance was only specified on some cell's pins? Like the hex-invert but not the others? https://github.com/ZirconiumX/74xx-liberty/blob/master/74ac.lib
<tpb> Title: 74xx-liberty/74ac.lib at master · ZirconiumX/74xx-liberty · GitHub (at github.com)
<ZirconiumX> Correct, but it seems to have made little difference without timing information
<ZirconiumX> I struggled to work out how to specify it, which is why it's commented out
<keith-man> ZirconiumX: Fair enough looking at the liberty handbook I found, the format looks like can do it a lot, but the little bit I have found on genlib seems simpler at least to me. https://people.eecs.berkeley.edu/~alanmi/publications/other/SIS_paper_genlib.pdf
<keith-man> I guess I'll just have to experiment once I am less sleepy. It's really early in the morning for me I should probably sleep.
adjtm has quit [Remote host closed the connection]
adjtm has joined #yosys
adjtm has quit [Remote host closed the connection]
adjtm has joined #yosys
dh73 has joined #yosys
Vinalon has joined #yosys
citypw has quit [Ping timeout: 240 seconds]
citypw has joined #yosys
citypw has quit [Remote host closed the connection]
citypw has joined #yosys
emeb has joined #yosys
yosys-questions has joined #yosys
jfcaron has joined #yosys
jakobwenzel has quit [Remote host closed the connection]
FL4SHK has joined #yosys
adjtm_ has joined #yosys
adjtm has quit [Ping timeout: 265 seconds]
Asu has quit [Remote host closed the connection]
adjtm_ has quit [Remote host closed the connection]
adjtm_ has joined #yosys
dh73 has quit [Ping timeout: 246 seconds]
<ross_s> Has anyone seen the error 'Failed to find a route for arc 125 of net $PACKER_GND_NET'? Attempting to synthesize a 36 bit mult on the ECP5, using a clarity designer generated file consisting of 4 direct mult18x18ds and two alu54bs
<daveshah> The ALU54B isn't fully working yet
<ross_s> is there anything a layperson can do to help out?
<daveshah> In particular there is nothing to correctly constrain the ALU54B and MULT18X18D together
<daveshah> The most useful thing to do is put the design somewhere so I can have a look
<daveshah> Particularly if it is something that can easily be tested on hardware
<daveshah> Also, if you would be able to build it in Diamond and take a screenshot of the placement in physical view and provide the Diamond bitstream, that would also make it much quicker for me to finish
<ross_s> ought to be - I've been trying to work out how the pipeline stuff works (since default inferred 18x18 is a bit slow), so I just have a test case that exposes a shift interface to the mult
<ross_s> ok; I'll get the test code up somewhere and work on the diamond stuff
Asu has joined #yosys
<ross_s> alright, here's a repo with some test code that should work: https://github.com/rschlaikjer/ecp-alu-sample
<tpb> Title: GitHub - rschlaikjer/ecp-alu-sample (at github.com)
<ross_s> running make will generate the error I mentioned above
<ross_s> and I have now just pushed a commit that adds a diamond-generated bitstream to that repo
<daveshah> Thanks!
<ross_s> oops just remembered you wanted a screenshot of the physical view as well
<ross_s> that's in there as well now
dh73 has joined #yosys
jfcaron_ has joined #yosys
jfcaron has quit [Read error: Connection reset by peer]
dys has quit [Ping timeout: 256 seconds]
jfcaron_ has quit [Read error: Connection reset by peer]
jfcaron has joined #yosys
emeb_mac has joined #yosys
dh73 has left #yosys [#yosys]
jfcaron_ has joined #yosys
jfcaron_ has quit [Remote host closed the connection]
jfcaron_ has joined #yosys
jfcaron has quit [Ping timeout: 260 seconds]
jfcaron_ has quit [Ping timeout: 260 seconds]
Asuu has joined #yosys
Asu has quit [Ping timeout: 260 seconds]
Asuu has quit [Ping timeout: 260 seconds]
Vinalon_ has joined #yosys
Vinalon has quit [Read error: Connection reset by peer]
X-Scale has quit [Ping timeout: 258 seconds]
X-Scale` has joined #yosys
X-Scale` is now known as X-Scale
futarisIRCcloud has joined #yosys
X-Scale` has joined #yosys
X-Scale has quit [Ping timeout: 265 seconds]
<ross_s> Related to previous discussion, does anyone know of a better DSP documentation resource than TN1267?
<ross_s> Through trial and error I've verified that .REG_OUTPUT_CLK("CLK0") adds once cycle latency, and similarly setting REG_INPUT{A,B}_{CLK,CE,RST} adds a second one, but .REG_PIPELINE_{RST,CE,CLK} doesn't appear to do anything? I can't find example timing diagrams anywhere.
X-Scale` is now known as X-Scale
<ross_s> Do the pipeline registers only take effect if the mult is chained into an alu perhaps?
<ross_s> It also looks like the in/out register config on the mult block isn't accounted for in the nextpnr timing, I can make a PR for that along the same lines as https://github.com/YosysHQ/nextpnr/pull/423 if I'm correct in thinking that setting both .REG_INPUT{A,B}_CLK to a non-"NONE" value enables the in registers
<tpb> Title: Add support for REGMODE to DP16KD by rschlaikjer · Pull Request #423 · YosysHQ/nextpnr · GitHub (at github.com)