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
bzztploink has joined #yosys
az0re has joined #yosys
rlee287 has quit [Quit: Konversation terminated!]
BinaryLust has quit [Ping timeout: 260 seconds]
BinaryLust has joined #yosys
Degi has quit [Ping timeout: 256 seconds]
Degi has joined #yosys
_whitelogger has joined #yosys
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> according to FPGA-TN-02039-1.7
<ross_s> interesting, it looks like ECPPack uses these values: https://github.com/SymbiFlow/prjtrellis/blob/master/libtrellis/src/Bitstream.cpp#L27-L30
<tpb> Title: prjtrellis/Bitstream.cpp at master · SymbiFlow/prjtrellis · GitHub (at github.com)
<daveshah> Those are mode values
<ross_s> ah sorry, misread your comment
<daveshah> I was referring to the commands that the FPGA generates
<ross_s> Here's a shot of the logic analyzer on the spi https://public.rhye.org/ecp_qspi.png
<ross_s> it could be that it's getting confused by the missed clock cycle
<tnt> Huh ... chip select should be released between command anyway.
<ZipCPU> Without releasing the chip select, this isn't a new command at all
<ross_s> yeah that also seemed suspect, I thought it might be a digitization glitch but the analog trace also seems low
<ross_s> this device does boot fine in normal spi mode, so I don't _think_ there is anything electrically wrong with the ~CS line
rlee287 has joined #yosys
<tnt> And it's definitly EB
<ZipCPU> I'd figure out what's going on with CS before even wondering if the xe9 should an xeb or not
<tnt> I can see it on the trace ...
<ross_s> looks like there's a very small spurious clock on the analyzer, your right tnt
<ZipCPU> As for the discontinuous clock ... that's per spec. You're allowed to stop the clock
<tnt> But your LA seems to read clock glitches, probably a signal integrity issue when probing.
<daveshah> What board is this?
<ross_s> one I designed to learn more about ECP5, I'm afraid I haven't published any design files yet
<daveshah> What signal is CS connected to?
<tnt> but as ZipCPU said without CS it doesn't matter anyway.
<daveshah> there are a few signals that probably behave enough like CS for a simple single SPI boot to work
<ross_s> PB15A/HOLDN/DI/BUSY/CSSPIN/CEN, ball N8 on the 256-pin BGA
<daveshah> That's fine
<tnt> need a pull up ?
<daveshah> Config guide says it needs a 4.7k pullup
<ross_s> I have 10k pullups on CS, SCK, D2 and D3
<daveshah> I doubt 10k vs 4.7k would make enough of a difference to see no pulse
<daveshah> so that sounds fine
<tnt> shorted then ?
<daveshah> Seems most likely
<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]
cr1901_modern has joined #yosys
BinaryLust has quit [Ping timeout: 264 seconds]
gmc has joined #yosys
Asuu has joined #yosys
Asu has quit [Ping timeout: 264 seconds]
BinaryLust has joined #yosys
rlee287 has quit [Ping timeout: 256 seconds]
N2TOH has joined #yosys
rlee287 has joined #yosys
Asu has joined #yosys
Asuu has quit [Ping timeout: 265 seconds]
rlee287 has quit [Client Quit]
BinaryLust has quit [Ping timeout: 256 seconds]
Asu has quit [Quit: Konversation terminated!]
proteusguy has quit [Ping timeout: 264 seconds]
proteusguy has joined #yosys
BinaryLust has joined #yosys