Sunday, 2020-05-17

*** tpb has joined #yosys00:00
*** bzztploink has joined #yosys00:13
*** az0re has joined #yosys01:05
*** rlee287 has quit IRC01:57
*** BinaryLust has quit IRC02:36
*** BinaryLust has joined #yosys02:37
*** Degi has quit IRC03:20
*** Degi has joined #yosys03:22
*** _whitelogger has quit IRC04:21
*** _whitelogger has joined #yosys04:23
*** bzztploink has quit IRC06:07
*** bzztploink has joined #yosys06:17
*** _whitelogger has quit IRC06:27
*** _whitelogger has joined #yosys06:29
*** dys has quit IRC06:34
*** citypw has joined #yosys06:42
*** benh has joined #yosys07:26
benhSomebody familiar with ghdl-synth + yosys around ?07:27
benhI've been trying to use them to convert the microwatt cpu to verilog to be able to sim it in LiteX (I am one of microwatt devs)07:27
benhand have hit a couple of issues...07:27
benhthe main one is debugging is really hard due to how vhdl records are turned into very large verilog vectors (arrays ?) that encompass all the bits of all the elements in the record07:29
benhI was hoping it would be possible to improve this by instead breaking them up into separate objects prefixed by record name ?07:29
benhmicrowatt uses a lot of records....07:29
benhbut I'm not sure if this happens in ghdl, the ghdl-yosys plugin or yosys itself, and thus where to report the feature request :)07:29
*** az0re has quit IRC07:31
daveshahWhat happens to records in the ghdl simplified VHDL mode?07:43
daveshahThe solution for this is might be to add aliases for the record elements07:43
daveshahSplitting up entirely might be more complex due to how ghdl works, I don't know07:44
benhdaveshah: they seem to still be around in the simplified vhdl07:57
daveshahI guess they are split up in the plugin then07:57
benhyeah possibly, I'll put an issue on github on the plugin, we'll see what Tristan says07:59
benhanother thing I noticed is when trying to sim in litex the result of the verilog conversion I get a buckload of warnings07:59
benhabout case statements with overlapping cases07:59
benhit looks like a bunch of tests against things like "00000001", "00000010" etc... are turned into "???????1", "??????1?" etc... on the verilog side, whihc looks ... odd07:59
daveshahThose probably come from Yosys $pmux cells08:00
benhnot sure if it's something I should worry about, I haven't completely managed to match that back to the original vhdl08:00
benh.. yet08:00
daveshahIf ghdl is creating those cells correctly then the select inputs should be one hot08:00
benhok, makes sense08:00
benhthanks08:01
*** Asu has joined #yosys08:04
*** BinaryLust has quit IRC08:16
*** Asu has quit IRC09:14
*** Asu has joined #yosys09:15
tntDoes yosys have a concept of attribute on nets or ports or just on cells ? (internally I mean)09:32
whitequarkyosys has attributes on nets09:32
whitequarkattributes on ports are a bit weird09:32
tntyeah, nets it better for me anyway.09:33
*** N2TOH has quit IRC13:16
*** citypw has quit IRC15:32
somlodaveshah: ping15:33
daveshahsomlo: pong15:33
somlodaveshah: I'm trying to refresh my fedora packages of prjtrellis, and I just noticed the database commit linked from prjtrellis isn't `master` on prjtrellis-db15:34
daveshahOh, maybe I forgot to actually merge a PR15:34
daveshaheasy enough to fix15:34
somloany relevant back-story that would impact packaging in any way ?15:34
somlooh, ok, a "clerical" problem :)15:35
daveshahshould be fixed now, tx for spotting15:36
somloawesome, thanks!15:36
*** emeb has joined #yosys15:37
*** BinaryLust has joined #yosys15:43
*** vidbina has joined #yosys15:59
*** rrika_ is now known as rrika16:36
*** ross_s has joined #yosys17:09
ross_sAnyone had problems using the qspi mode on ecppack? After it reads the qspi mode from the bitstream (0x79 0x59) I see what looks like a minor clock skip on the fpga, then the two commands 0xE9 and 0x80 which don't appear to be valid spi flash commands according to the W25Q128 datasheet17:18
daveshahIt is supposed to use 0xEB for quad SPI reads not 0xE917:26
daveshahaccording to FPGA-TN-02039-1.717:26
ross_sinteresting, it looks like ECPPack uses these values: https://github.com/SymbiFlow/prjtrellis/blob/master/libtrellis/src/Bitstream.cpp#L27-L3017:28
tpbTitle: prjtrellis/Bitstream.cpp at master · SymbiFlow/prjtrellis · GitHub (at github.com)17:28
daveshahThose are mode values17:28
ross_sah sorry, misread your comment17:28
daveshahI was referring to the commands that the FPGA generates17:28
ross_sHere's a shot of the logic analyzer on the spi https://public.rhye.org/ecp_qspi.png17:30
ross_sit could be that it's getting confused by the missed clock cycle17:30
tntHuh ... chip select should be released between command anyway.17:32
ZipCPUWithout releasing the chip select, this isn't a new command at all17:32
ross_syeah that also seemed suspect, I thought it might be a digitization glitch but the analog trace also seems low17:32
ross_sthis device does boot fine in normal spi mode, so I don't _think_ there is anything electrically wrong with the ~CS line17:33
*** rlee287 has joined #yosys17:33
tntAnd it's definitly EB17:33
ZipCPUI'd figure out what's going on with CS before even wondering if the xe9 should an xeb or not17:34
tntI can see it on the trace ...17:34
ross_slooks like there's a very small spurious clock on the analyzer, your right tnt17:34
ZipCPUAs for the discontinuous clock ... that's per spec.  You're allowed to stop the clock17:34
tntBut your LA seems to read clock glitches, probably a signal integrity issue when probing.17:34
daveshahWhat board is this?17:35
ross_sone I designed to learn more about ECP5, I'm afraid I haven't published any design files yet17:36
daveshahWhat signal is CS connected to?17:36
tntbut as ZipCPU said without CS it doesn't matter anyway.17:36
daveshahthere are a few signals that probably behave enough like CS for a simple single SPI boot to work17:36
ross_sPB15A/HOLDN/DI/BUSY/CSSPIN/CEN, ball N8 on the 256-pin BGA17:37
daveshahThat's fine17:37
tntneed a pull up ?17:38
daveshahConfig guide says it needs a 4.7k pullup17:38
ross_sI have 10k pullups on CS, SCK, D2 and D317:38
daveshahI doubt 10k vs 4.7k would make enough of a difference to see no pulse17:38
daveshahso that sounds fine17:38
tntshorted then ?17:38
daveshahSeems most likely17:39
ross_shttps://public.rhye.org/ecp_start.png17:39
daveshahBecause the main bitstream read is the first command sent, I guess basic reads would still start17:39
ross_sseems to behave normally when it first starts17:39
daveshahHmm17:40
daveshahJust checked and the hadbadge project uses qspi mode so it should work fine17:40
ZipCPUx3 would be the standard SPI read command17:41
ross_syeah, it looks like it starts with the normal SPI read, then gets to the speed/mode settings and changes over17:41
daveshahYeah, the startup looks fine17:41
ZipCPUWhere does CS toggle again?  If the CS signal never deactivates, the design will stay in SPI mode17:43
ross_sAs in where does it toggle on this board? It doesn't seem to mid-stream, only at the beginning of the read. Currently paging through TN1260 to find a timing diagram for expected behaviour17:45
daveshahI don't think there is one17:46
daveshahbut note that FPGA-TN-02039 is a replacement to TN1260 and has a bit more detail in a couple of other places17:46
*** vidbina has quit IRC17:47
daveshahIt's another long shot but a _higher_ clock frequency might be worth trying (I don't know why it would change things but afaik qspi mode has only been tested at higher frequencies before)17:49
ross_sI can give it a test17:49
ross_shmm appears the same17:52
ross_sit looks like it only runs at the 2.4MHz clock for that section of the bitstream anyway17:52
ross_sa 1x spi read mode at 62MHz does work, but then there's no need to toggle CS there, it just ups the clock and keeps going17:53
daveshahMight as well be worth checking fast read or dual SPI modes which would also involve a toggle17:57
ross_sok interesting, if I don't pass --spimode to ecppack I get a bitstream that works, at any freq. If I do specify fast-read, then it hangs18:00
daveshahfast-read should be switching to 0x0B18:01
ross_sonce again, with fast-read it sends 0x0b (though the logic analyzer reads 0x09, there is again a glitch specifically on that byte) but doesn't toggle ~CS18:02
*** cr1901_modern has quit IRC18:12
*** cr1901_modern has joined #yosys18:18
*** BinaryLust has quit IRC18:35
*** gmc has joined #yosys19:55
*** Asuu has joined #yosys20:59
*** Asu has quit IRC21:00
*** BinaryLust has joined #yosys21:18
*** rlee287 has quit IRC21:24
*** N2TOH has joined #yosys22:00
*** rlee287 has joined #yosys22:08
*** Asu has joined #yosys22:09
*** Asuu has quit IRC22:09
*** rlee287 has quit IRC22:09
*** BinaryLust has quit IRC22:15
*** Asu has quit IRC23:09
*** proteusguy has quit IRC23:22
*** proteusguy has joined #yosys23:35
*** BinaryLust has joined #yosys23:42

Generated by irclog2html.py 2.17.2 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!