Thursday, 2023-08-17

*** tpb <[email protected]> has joined #litex00:00
*** jevinskie[m] <jevinskie[m]!jevinskie@2a01:4f8:c012:5b7:0:1:0:22> has quit IRC (Quit: Idle timeout reached: 172800s)01:38
*** Degi_ <[email protected]> has joined #litex01:46
*** Degi <[email protected]> has quit IRC (Ping timeout: 260 seconds)01:48
*** Degi_ is now known as Degi01:48
*** FabM <[email protected]> has joined #litex06:21
MoeIcenowyah someone asked me that is Migen still alive yesterday06:35
*** TMM_ <[email protected]> has quit IRC (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)07:09
*** TMM_ <[email protected]> has joined #litex07:09
*** cr1901_ <cr1901_!~cr1901@2601:8d:8600:226:bc7f:ccf1:49c0:41ee> has joined #litex07:54
*** cr1901 <cr1901!~cr1901@2601:8d:8600:226:d523:f333:da88:b877> has quit IRC (Ping timeout: 248 seconds)07:55
MoeIcenowybtw for single chip ddr3 is write leveling not necessary?08:47
MoeIcenowyhow does the DEL_VALUE on ECP5 decide the delay value when USER_DEFINED ?09:59
_florent_MoeIcenowy: For single chip, you can generally use static timings, that’s what’s we are doing on Artix7 (since no ODELAYs) , ECP5 and that’s what is done by some vendors (IIRC Efinix controller has an option for this to save resources)10:01
zyparen't static timings orthogonal to the number of chips? even for a single chip you need the correct timings, and if you know the correct timings you could use static timings on a multichip system as well…10:04
MoeIcenowyI am still trying to dig out why the GW2DDRPHY ported from ECP5DDRPHY does not wotk10:14
MoeIcenowywork *10:14
MoeIcenowyI now start to think ECP5's DELAYG with p_DEL_MODE="DQS_ALIGNED_X2" is some magic10:14
MoeIcenowybut I cannot understand how this is implemented10:14
MoeIcenowyokay it looks like from the implementation of pack.cc in nextpnr, it's just a fixed delay value?10:19
josuahMoeIcenowy: is that possible that an instance from one device of vendor transposed to another device of another vendor works the same way at all?12:05
josuahoh... maybe you are trying to understand what exactly is portable and what is not, and hence try to guess what these parameters can be doing on one side12:07
*** lexano <[email protected]> has quit IRC (Ping timeout: 246 seconds)12:08
_florent_@zyp: sorry I was answering for write leveling case: with a single chip and without output delays, adjusting the clk phase and doing a few P&R is generally enough to get it working. For multichip, implementing proper write leveling requires output delays and proper calibration to find the timings. On a deployed and fixed design you can then use static timings but you’ll stil need a version of the design with the calibration to find them.13:08
_florent_MoeIcenowy: sorry, on my phone and don’t remember the details the GW2DDRPHY but we have also planned to work on it with @trabucayre in the next weeks.13:13
MoeIcenowyjosuah: well yes true, and the major structure of them are both similar (and quite different with Xilinx ones)14:40
MoeIcenowyIn addition I utilized the .vo files from the PnR tool (which will contain only primitives) to check how the vendor IP does14:41
MoeIcenowyand at least this can show what primitives are being used14:41
MoeIcenowy_florent_: BTW I cannot understand how is ECP5DDRPHY working -- it works at a so low frequency ...14:46
*** FabM <FabM!~FabM@armadeus/team/FabM> has quit IRC (Ping timeout: 246 seconds)15:10
*** Foxyloxy <Foxyloxy!~foxyloxy@cpc151593-shef16-2-0-cust343.17-1.cable.virginm.net> has quit IRC (Ping timeout: 260 seconds)16:17
*** cr1901_ is now known as cr190116:57
josuahI thought ECP5DDRPHY was a primitive, but no, it's a LiteX class17:03
josuahMoeIcenowy: there is something called FPGA Libraries Reference Guide17:06
josuahwhich might have documentation for each primitive you can find in ECP5DDRPHY implementation17:06
josuahhttps://github.com/enjoy-digital/litedram/blob/master/litedram/phy/ecp5ddrphy.py17:07
josuahhttps://www.latticesemi.com/-/media/LatticeSemi/Documents/UserManuals/EI2/fpga_library_D311SP3.ashx?document_id=5265617:07
josuahThe ECP5 primitives are listed in there17:08
*** Foxyloxy <Foxyloxy!~foxyloxy@cpc151593-shef16-2-0-cust343.17-1.cable.virginm.net> has joined #litex17:14
*** GNUmoon <GNUmoon!~GNUmoon@gateway/tor-sasl/gnumoon> has quit IRC (Ping timeout: 246 seconds)18:31
*** shenki <[email protected]> has quit IRC (Ping timeout: 244 seconds)18:32
*** shenki <[email protected]> has joined #litex18:33
*** GNUmoon <GNUmoon!~GNUmoon@gateway/tor-sasl/gnumoon> has joined #litex18:34
*** MoeIcenowy <MoeIcenowy!~MoeIcenow@2401:c080:1000:445a:5400:4ff:fe31:6509> has quit IRC (Ping timeout: 246 seconds)20:55
*** MoeIcenowy <MoeIcenowy!~MoeIcenow@2401:c080:1000:445a:5400:4ff:fe31:6509> has joined #litex21:41
*** manawyrm <manawyrm!manawyrm@2a01:4f8:212:2e07::81> has quit IRC (Quit: Read error: 2.99792458 x 10^8 meters/second (Excessive speed of light))22:30
*** manawyrm <[email protected]> has joined #litex22:31
*** TMM_ <[email protected]> has quit IRC (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)22:31
*** TMM_ <[email protected]> has joined #litex22:32
*** Foxyloxy <Foxyloxy!~foxyloxy@cpc151593-shef16-2-0-cust343.17-1.cable.virginm.net> has quit IRC (Read error: Connection reset by peer)23:03
*** Foxyloxy <Foxyloxy!~foxyloxy@cpc151593-shef16-2-0-cust343.17-1.cable.virginm.net> has joined #litex23:04
*** shorne <[email protected]> has quit IRC (Ping timeout: 240 seconds)23:07
*** shorne <[email protected]> has joined #litex23:08

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