bzztploink has quit [Read error: Connection reset by peer]
bzztploink has joined #yosys
_whitelogger has joined #yosys
dys has quit [Ping timeout: 265 seconds]
citypw has joined #yosys
benh has joined #yosys
<benh>
Somebody familiar with ghdl-synth + yosys around ?
<benh>
I'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)
<benh>
and have hit a couple of issues...
<benh>
the 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 record
<benh>
I was hoping it would be possible to improve this by instead breaking them up into separate objects prefixed by record name ?
<benh>
microwatt uses a lot of records....
<benh>
but I'm not sure if this happens in ghdl, the ghdl-yosys plugin or yosys itself, and thus where to report the feature request :)
az0re has quit [Quit: Leaving]
<daveshah>
What happens to records in the ghdl simplified VHDL mode?
<daveshah>
The solution for this is might be to add aliases for the record elements
<daveshah>
Splitting up entirely might be more complex due to how ghdl works, I don't know
<benh>
daveshah: they seem to still be around in the simplified vhdl
<daveshah>
I guess they are split up in the plugin then
<benh>
yeah possibly, I'll put an issue on github on the plugin, we'll see what Tristan says
<benh>
another thing I noticed is when trying to sim in litex the result of the verilog conversion I get a buckload of warnings
<benh>
about case statements with overlapping cases
<benh>
it looks like a bunch of tests against things like "00000001", "00000010" etc... are turned into "???????1", "??????1?" etc... on the verilog side, whihc looks ... odd
<daveshah>
Those probably come from Yosys $pmux cells
<benh>
not sure if it's something I should worry about, I haven't completely managed to match that back to the original vhdl
<benh>
.. yet
<daveshah>
If ghdl is creating those cells correctly then the select inputs should be one hot
<benh>
ok, makes sense
<benh>
thanks
Asu has joined #yosys
BinaryLust has quit [Ping timeout: 272 seconds]
Asu has quit [Remote host closed the connection]
Asu has joined #yosys
<tnt>
Does yosys have a concept of attribute on nets or ports or just on cells ? (internally I mean)
<whitequark>
yosys has attributes on nets
<whitequark>
attributes on ports are a bit weird
<tnt>
yeah, nets it better for me anyway.
N2TOH has quit [Ping timeout: 260 seconds]
citypw has quit [Ping timeout: 240 seconds]
<somlo>
daveshah: ping
<daveshah>
somlo: pong
<somlo>
daveshah: 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-db
<daveshah>
Oh, maybe I forgot to actually merge a PR
<daveshah>
easy enough to fix
<somlo>
any relevant back-story that would impact packaging in any way ?
<somlo>
oh, ok, a "clerical" problem :)
<daveshah>
should be fixed now, tx for spotting
<somlo>
awesome, thanks!
emeb has joined #yosys
BinaryLust has joined #yosys
vidbina has joined #yosys
rrika_ is now known as rrika
ross_s has joined #yosys
<ross_s>
Anyone 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 datasheet
<daveshah>
It is supposed to use 0xEB for quad SPI reads not 0xE9
<daveshah>
Because the main bitstream read is the first command sent, I guess basic reads would still start
<ross_s>
seems to behave normally when it first starts
<daveshah>
Hmm
<daveshah>
Just checked and the hadbadge project uses qspi mode so it should work fine
<ZipCPU>
x3 would be the standard SPI read command
<ross_s>
yeah, it looks like it starts with the normal SPI read, then gets to the speed/mode settings and changes over
<daveshah>
Yeah, the startup looks fine
<ZipCPU>
Where does CS toggle again? If the CS signal never deactivates, the design will stay in SPI mode
<ross_s>
As 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 behaviour
<daveshah>
I don't think there is one
<daveshah>
but note that FPGA-TN-02039 is a replacement to TN1260 and has a bit more detail in a couple of other places
vidbina has quit [Ping timeout: 265 seconds]
<daveshah>
It'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)
<ross_s>
I can give it a test
<ross_s>
hmm appears the same
<ross_s>
it looks like it only runs at the 2.4MHz clock for that section of the bitstream anyway
<ross_s>
a 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 going
<daveshah>
Might as well be worth checking fast read or dual SPI modes which would also involve a toggle
<ross_s>
ok 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 hangs
<daveshah>
fast-read should be switching to 0x0B
<ross_s>
once 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 ~CS
cr1901_modern has quit [Read error: Connection reset by peer]