Sunday, 2020-02-23

*** tpb has joined #yosys00:00
*** rohitksingh has quit IRC00:56
*** Forty-Bot has quit IRC01:09
*** rohitksingh has joined #yosys01:38
*** matthuszagh has joined #yosys01:57
*** matthuszagh has left #yosys02:05
*** rohitksingh has quit IRC02:06
*** Forty-Bot has joined #yosys02:19
*** dormito has quit IRC02:43
*** citypw has joined #yosys02:56
*** captain_morgan06 has quit IRC03:08
*** rohitksingh has joined #yosys04:05
*** _whitelogger has quit IRC04:31
*** _whitelogger has joined #yosys04:33
*** vidbina has joined #yosys05:08
awygledaveshah: is "input with pullup" the expected default state of pins in the ECP5 as well05:30
awygle?05:30
*** vidbina has quit IRC06:08
*** _whitelogger has quit IRC06:25
*** _whitelogger has joined #yosys06:27
*** emeb_mac has quit IRC07:04
daveshahawygle: no, it's input will pull down for ECP507:45
awygleah, that squares with my observations07:46
awyglei solved my problem tho07:46
awyglemy versa board came with the second channel on the ECP5 configured as a FIFO, not a UART07:46
awygle(which doesn't make any sense given how the board is routed but nvm)07:47
daveshahI've heard of EVN boards being shipped like this, but never Versas until now07:47
awygleit also doesn't have the descriptor that nmigen expected, fwiw07:49
awyglebut it's pretty old. i got it something like 2 years ago.07:49
sensilleI can't spot the mistake, yosys doesn't want to infer bram here: https://pastebin.com/rUJVBfth08:56
tpbTitle: always @(posedge clk) begin dout <= ram[rdptr]; if (clr) begin - Pastebin.com (at pastebin.com)08:56
sensilleRead port #0 is in clock domain !~async~.08:57
sensillealtough it is explicitly registered08:57
daveshahIs there an initial value on dout?09:30
sensilleyes09:31
sensilletrying ...09:31
sensillenope, same without09:34
sensillefull file: https://pastebin.com/VhCZ7Pyu09:35
tpbTitle: `timescale 1ns / 1ps `default_nettype none /* * simple fifo. The next data - Pastebin.com (at pastebin.com)09:35
daveshahSeems to work fine here09:38
sensillestrange09:41
daveshahIs this with default DATA_WIDTH and ADDR_WIDTH? if you overrode ADDR_WIDTH to be smaller Yosys might see it more efficient to use LUTRAM instead (but this would be  a different message)09:57
sensilleDATA_WIDTH=72, ADDR_WIDTH=910:00
sensillealso it _says_ it doesn't use bram because "Read port #0 is in clock domain !~async~."10:01
sensilledunno if that's the real reason, though10:01
sensillesame problem with another ram10:08
sensillei'll reduce the design to something where bram still gets inferred and work up from that later, thanks for testing10:12
*** fsasm has joined #yosys10:34
*** rohitksingh has quit IRC10:44
*** fsasm has quit IRC11:51
*** klotz has joined #yosys12:35
*** X-Scale has quit IRC13:08
*** X-Scale` has joined #yosys13:16
janrinzedaveshah: using DP16KD i get the data after the clock. if i just use an array in verilog i can get the data before the clock. how does yoysys/nextpnr setup DP16KD to achieve that?13:18
*** matthuszagh has joined #yosys13:18
*** X-Scale` is now known as X-Scale13:21
janrinzedaveshah: does yoysys 'smartly' implement a write to the 'read address' using substitution? thus assuring that the data is available on the next clock?13:31
tntjanrinze: what do you mean before the clock ?13:38
*** matthuszagh has left #yosys13:41
janrinzetnt: DP16KD has a clock13:42
janrinzetnt: with reg[15:0] memory[0:8191]  you can do 'always@* out=memory[address] ; always@(posedge clk) memory[address]=in;'13:44
tntyeah ... and that's not going to map to a DP16KD13:46
janrinzetnt: it actually does.13:46
tntunless `address` is a register13:46
tntand then yosys will "move" the register.13:46
janrinzeaddress is a register13:46
janrinzetnt: 'move' as in using the read address as the detination register?13:47
janrinzeoops 'destination'13:47
tntit will use the input to the address register (instead of the ouptut) to actually feed the address input of the DP16K read side.13:47
janrinzetnt: yup13:48
janrinzetnt: but how can i infer the same?13:48
tnt?13:48
janrinzetnt: with using the DP16K primitive?13:48
tntThat's not 'infer' ... 'infer' is letting yosys do it.13:48
tnt'instanciate' is doing it 'manually'.13:49
janrinzeokay.. how can i get the same behaviour that yosys does ?13:49
tntWell you need to change your HDL ...13:49
janrinzeusing DP16K13:49
tntif you only have access to 'address' register output, you can't.13:49
janrinzeyosys can but i can't.. i see13:50
tntyosys has access to the whole design and can mangle it like it wants.  You can't do that ...13:50
janrinzethe 'move' magic would be very nice to have.13:50
janrinzesame for the output register, ifr i clock that in then it will be 'late' by one clock..13:51
tntyosys can add read bypass logic if need be.13:53
janrinzeokay, yoysys can do some nice mapping and it will work on the proper clock transition. There aren't any verilog tricks to do the same, right?13:53
tntwell no ... you instanciate a blackbox, verilog has no clue what that black box does.13:54
tntif it doesn't do what you need, tough luck, it's up to you to rewrite the logic around it so it fits your use case.13:55
janrinzetnt: does 'always@*' imply a 'move' ?14:02
tntalways @* descives combinatorial logic / asynchronous reads.14:04
*** klotz has quit IRC14:08
*** s_frit has quit IRC14:12
*** emeb has joined #yosys14:32
*** X-Scale has quit IRC14:42
*** X-Scale` has joined #yosys14:43
*** X-Scale` is now known as X-Scale14:45
*** citypw has quit IRC15:47
*** N2TOH has quit IRC16:55
*** cr1901_modern has quit IRC17:34
*** cr1901_modern has joined #yosys17:34
*** fsasm has joined #yosys17:44
*** peepsalot has quit IRC17:53
*** RicBent has joined #yosys17:59
RicBentHey there, is it ok if I ask an hardware related question here?19:31
daveshahSure!19:31
RicBentalright :)19:31
RicBentI built this circuit: https://i.imgur.com/94IIuHh.png19:32
RicBentwith an HX1K19:32
RicBentprogramming the FPGA via RPI is working19:32
RicBentprogramming the SPI flash also works19:32
RicBentbut the FPGA doesn't seem to configure from the flash19:32
RicBentany obvious messup there?19:32
daveshahAre you connecting SS1 and SS2 when doing this?19:33
RicBentnope19:33
daveshahI think the iCE40 might need to drive flash chip select  as it would be needed for framing19:34
daveshahSS on the iCE40 also needs to be pulled up to boot itself from flash, so R5 might be a problem19:34
RicBentah, I see19:35
RicBentshould've read the datasheet properly I guess :P19:35
RicBentstill surprised this thing works at all19:37
RicBenthttps://i.imgur.com/rPJkzEg.jpg19:37
RicBentfirst PCB I ever did. also first SMD solder job19:37
daveshahCongrats!19:39
tntGNDPLL must not be connected to ground.19:51
tntSee https://i.imgur.com/qQwqUo5.png19:54
RicBentwelp, that isn't fixable anymore19:55
RicBentgot it to configure from SPi though :D19:55
tntYou could always lift the pin(s) and reword that.20:05
tntJust be aware of it if you have issues using the PLLs.20:05
tnts/reword/rework/20:06
tntBoard looks neatly laid out for a first PCB though.20:15
RicBentheh, thanks!20:15
*** rohitksingh has joined #yosys20:24
*** emeb_mac has joined #yosys20:55
RicBentput my board on GitHub is anybody is interested: https://github.com/RicBent/Hisame21:06
tpbTitle: GitHub - RicBent/Hisame: Development board for the Lattice iCE40 HX1K FPGA (at github.com)21:06
*** fsasm has quit IRC22:16
*** anticw has joined #yosys23:25
*** anticw_ has quit IRC23:27

Generated by irclog2html.py 2.13.1 by Marius Gedminas - find it at mg.pov.lt!