00:00
<
FelixVi >
It's broken and doesn't add the top file
00:07
<
FelixVi >
verilog include paths aren't set for the top file
00:31
<
FelixVi >
I don't see where they get added anywhere in migen
00:31
<
FelixVi >
when running misoc, they do get set
00:31
<
FelixVi >
gotta run for now
00:50
FelixVi has quit [Ping timeout: 248 seconds]
01:20
<
cr1901_modern >
Why is he running into so many problems ._.?
01:21
<
cr1901_modern >
I have absolutely no clue reading it...
01:21
<
sb0 >
_florent_, good, I'll have a look, thanks.
01:22
<
sb0 >
_florent_, ethernet still needs fixing
01:23
<
cr1901_modern >
"It's broken and doesn't add the top file" Gah, this not tell me anything!
01:58
<
sb0 >
_florent_, nope. bridge still doesn't work. please try on our boards via ssh
01:58
<
sb0 >
"waiting for AMC/RTM serwb bridge to be ready..." and stops there
01:59
<
sb0 >
ah it worked on one of the boards
02:04
<
sb0 >
okay, seems to work most of the time...
02:08
<
sb0 >
on both boards
02:11
rohitksingh has joined #m-labs
02:11
<
sb0 >
for testing the hmc830, do I have to feed a 100MHz clock to the SMA plug on the front panel?
02:57
<
sb0 >
_florent_, what is the problem with the hmc830?
02:59
<
sb0 >
_florent_, what did you change to ad9154.rs? latest commits are ~11 days old...
03:33
rohitksingh has quit [Quit: Leaving.]
03:33
rohitksingh has joined #m-labs
03:39
FelixVi has joined #m-labs
03:41
<
FelixVi >
Does the papilio pro target get tested for xst file generation in some test?
03:42
<
FelixVi >
I'm still having issues with that as no xst file is generated at all
03:42
<
FelixVi >
The weird thing is that misoc works fine on that target
03:49
rohitksingh has quit [Quit: Leaving.]
03:51
rohitksingh has joined #m-labs
03:53
rohitksingh has quit [Client Quit]
03:53
rohitksingh has joined #m-labs
04:48
<
FelixVi >
OK, adding a dummy directory as verilog include path makes things work. There's probably a better solution, but I couldn't figure out what is adding include paths if all you do is blink a LED
04:48
<
sb0 >
what is the problem?
04:49
<
sb0 >
there shouldn't be any include path in your example
04:49
<
FelixVi >
migen doesn't generate xst files if vincpaths is not set
04:50
<
FelixVi >
if there isn't any, no xst file gets written
04:50
<
sb0 >
I suppose tools.write_to_file got the wrong indent ...
04:50
<
FelixVi >
alright, that makes sense :)
04:50
<
FelixVi >
let me try
04:51
<
sb0 >
let me check the git log
04:51
<
sb0 >
well the original migen doesn't have the problem.
04:52
<
FelixVi >
yeah, alright that was it
04:55
<
FelixVi >
ah, that's dumb - sorry about the confusion
04:55
<
FelixVi >
that must have gotten messed up when we added sanitize()
04:59
<
FelixVi >
the good news is with that patch, both ISE toolchain and programmers work :)
05:01
rohitksingh has quit [Ping timeout: 248 seconds]
05:02
rohitksingh has joined #m-labs
05:02
rohitksingh has quit [Client Quit]
05:24
<
FelixVi >
sb0: Are you guys using FTDI ICs like FT232H and FT2232H in async FIFO or sync FIFO mode?
05:25
<
FelixVi >
ah, found it - for those interfaces "usb_fifo" is used, right?
05:27
rohitksingh has joined #m-labs
05:31
<
sb0 >
I think
_florent_ uses those
05:36
<
FelixVi >
as far as I can see, it's for async FIFO
05:37
<
FelixVi >
I'm adding a platform for Numato Saturn
05:42
<
GitHub156 >
misoc/master a427a83 Sebastien Bourdeauducq: liteeth/1000basex: PCS fixes
06:02
<
FelixVi >
sb0: where do I find the variants of xc6slx9-csg324?
06:02
<
FelixVi >
It looks like there's different versions for the same package and size
06:03
<
FelixVi >
like xc6slx9-2csg324 in lx9_microboard and xc6slx9-csg324-2 in mimasv2
06:03
<
FelixVi >
both lx9 csg324 sg -2
06:03
<
FelixVi >
what I need is lx45-csg324 in sg -2
06:04
<
FelixVi >
is that just xc6slx45-csg324-3 then?
06:04
<
FelixVi >
but xc6slx45-csg324-2 bc it's sg 2
06:04
<
FelixVi >
the lx9 variants confused me
06:05
<
sb0 >
I think both those "variants" mean speed grade 2
06:05
<
FelixVi >
is there a listing of them somewhere or is the naming following bscan files?
06:05
<
sb0 >
just written differently
06:05
<
sb0 >
I don't think bscan files contain speed grades, though I may be wrong
06:05
<
sb0 >
should be in xst docs
06:05
<
sb0 >
or somewhere else xst-related
06:05
<
FelixVi >
I couldn't track down what XilinxPlatform does with that info other then passing it along
06:05
<
sb0 >
it just passes to xst
06:05
<
FelixVi >
ah, I'll check there
06:07
<
GitHub160 >
misoc/master be3c1a9 Sebastien Bourdeauducq: liteeth/1000basex: register config reg in PCS when ack is asserted
06:13
<
FelixVi >
sb0: Thanks, got it. Could not find a list from Xilinx, so needed to create an ISE project with the GUI to find out...
06:16
<
GitHub26 >
misoc/master 30ea1a4 Sebastien Bourdeauducq: liteeth/1000basex: add basic PCS loopback test
06:27
rohitksingh has quit [Quit: Leaving.]
06:29
<
sb0 >
how do I get 125MHz GbE clocks out of the xilinx trash? is there a better way than additional PLLs and manual gearbox?
06:31
<
FelixVi >
i usually use pll_adv
06:33
<
FelixVi >
there's pll_adv and dcm, depending on what you need
06:33
<
FelixVi >
0 and 180 degrees at 125 MHz?
06:33
rohitksingh has joined #m-labs
06:34
<
sb0 >
that's the manual technique
06:34
<
sb0 >
but there is already a 125MHz clock coming in
06:34
<
sb0 >
but the xilinx trash insists on dividing it by 2
06:34
<
FelixVi >
you should be able to go to a bufg directly
06:34
<
sb0 >
not with transceivers
06:35
<
FelixVi >
oh, is this serdes out?
06:35
<
sb0 >
the multi-Gb stuff
06:35
<
FelixVi >
is this GbE or XAUI?
06:36
<
sb0 >
with dedicated pins and probably an entry for some "most imbecilically designed FPGA hard block" competition
06:37
<
sb0 >
at least that's a relatively sane protocol, unlike things like SATA ...
06:37
<
FelixVi >
true, but I'm confused why it's serial
06:38
<
sb0 >
this is what drives SFPs, which then convert it directly to light pulses on fibers
06:38
<
FelixVi >
oh, so no gmii intf
06:39
<
FelixVi >
sry, that I haven't done anything with
06:39
<
sb0 >
a gmii chip would then have those 1000BASE-X signals on the other end.
06:39
<
FelixVi >
for serdes one can use bufpll, but not sure if transceivers accept that, too
06:39
<
sb0 >
no. the transceivers are a world of their own.
06:40
<
FelixVi >
k, sorry i can't help -.- but sounds like I should get a board with transceivers to play with at some point :)
06:40
<
sb0 >
I recommend you try something else than Altera and Xilinx
06:41
<
sb0 >
I already know that those are trash, so I'm happy to learn more about alternatives
06:41
<
FelixVi >
lattice or actel might be options
06:42
<
FelixVi >
but I don't know much about either one
06:42
<
sb0 >
there were those "polarfire" fpgas with transceivers that looked interesting
06:42
<
sb0 >
but non-volatile and with a rather limited programming cycle rating
06:42
<
FelixVi >
lattice seems lower end and actel is good for space applications because they got a lot of rad hardened stuff, isn't it?
06:43
<
sb0 >
yes. maybe their cycle rating is overly pessimistic.
06:44
<
FelixVi >
yeah, those look interesting - I wonder if the JESD204B core is free :)
06:45
<
FelixVi >
but their maccs are just as wide as spartan6 ones
06:46
<
sb0 >
with a transceiver that doesn't suck, JESD204 isn't very complicated
06:48
<
FelixVi >
I'd love to play with some fast data converters
06:48
<
FelixVi >
didn't ARTIQ just get 2 Gbps DAC support?
06:48
rohitksingh1 has joined #m-labs
06:50
<
FelixVi >
can you guys get boards stuffed cheaply in hk? :)
06:50
<
FelixVi >
it tends to be a bit on the expensive side here in the us
06:51
rohitksingh has quit [Ping timeout: 248 seconds]
06:51
<
sb0 >
not in hk but in shenzhen yes
06:51
<
FelixVi >
sb0: according to the datasheet the ad9154 has a data rate of 1.096 GSPS
06:52
<
sb0 >
those boards aren't made in shenzhen though
06:52
<
FelixVi >
not sure if I missed something, but is it really 1.2 GS/s?
06:53
<
sb0 >
wow the new vivado gui looks like windows 10
06:53
<
FelixVi >
I looked at the ad9154, but then went with a 500 MSPS parallel DAC because it was easier
07:17
rohitksingh1 has quit [Read error: Connection reset by peer]
07:59
<
_florent_ >
sb0: for the hmc830, yes you have to feed a 100Mhz clock to the SMA
08:00
<
_florent_ >
sb0: it's not generating any frequency on the output on my board while in my initial test IIRC i was able to output something
08:01
<
GitHub146 >
artiq/master dfdd2dd Florent Kermarrec: gateware/targets/sayma_amc_standalone: revert self.add_wb_slave on serwb
08:02
<
_florent_ >
FelixVi: just renaming litex.gen to migen, litex.soc to misoc, should work
08:07
<
_florent_ >
sb0: for your 125Mhz clock, you should be able to use ODIV2 of IBUFDS_GTE3
08:08
<
_florent_ >
sb0: with REFCLK_HROW_CK_SEL=0b00, ODIV2=i_I, no divisision
08:13
FelixVi has quit [Ping timeout: 248 seconds]
08:37
rohitksingh has joined #m-labs
09:40
<
travis-ci >
rust-managed/master ef99a8b whitequark: Collect code coverage.
09:40
<
travis-ci >
rust-managed/master 629a678 whitequark: Add tests for ManagedMap::Borrowed and fix some bugs.
09:43
<
travis-ci >
m-labs/rust-managed#26 (master - 629a678 : whitequark): The build passed.
13:11
rohitksingh has quit [Quit: Leaving.]
13:37
<
GitHub143 >
artiq/master d1a7c1c Robert Jordens: sayma_amc_standalone: connect sawg to jesd again
15:22
balrog has quit [Ping timeout: 268 seconds]
16:55
<
GitHub61 >
migen/master a4fde6d Robert Jordens: kasli: review v1.0 (=v1.0rc3) and add eem1
16:56
FelixVi has joined #m-labs
16:58
<
FelixVi >
rjo: could you look over a platform I am trying to add? For some reason code gets optimized away, so there must be a bug in there
16:58
<
FelixVi >
this is the platform
16:59
<
FelixVi >
and this is the test code I am trying to run
17:02
<
cr1901_modern >
plat.request("led_pins").leda.eq(m.d1)
17:03
<
FelixVi >
ah, thanks! :)
17:03
<
cr1901_modern >
If you use Subsignals, you have opted into the returned type having fields which have the actual signals
17:03
<
cr1901_modern >
(This isn't how I'd do it personally for LEDs, but it's
_your_ design :)...)
17:03
<
FelixVi >
I wasn't trying to, but couldn't figure out how to not use them
17:04
<
cr1901_modern >
my_led_pins = [("led_pins", 0, Pins("P2:0")), ("led_pins", 1, Pins("P2:1")), ]
17:05
<
FelixVi >
yeah, that's what I wanted to do
17:05
<
FelixVi >
so that they can be assigned in a loop
17:05
<
cr1901_modern >
What's wrong with that then?
17:05
<
FelixVi >
nothing, just couldn't figure out how to do it
17:06
<
FelixVi >
haven't spend much time to work with migen syntax
17:06
<
cr1901_modern >
Oh... guess I could do a better job explaining it in my post then
17:06
<
FelixVi >
until now, I was fighting OS related issues
17:07
<
FelixVi >
well, that's the one line that is missing ;)
17:07
<
FelixVi >
but it helped me a lot to put the rest of the platform together
17:08
<
FelixVi >
are you aware of any misoc tutorial or write ups? once I get this working I'd love to try running some code on the new platform
17:08
<
cr1901_modern >
None that aren't out of date. I mostly suggest the examples or looking at misoc cores
17:09
<
FelixVi >
ah, I was told to use flterm
17:09
<
FelixVi >
but do I compile code with lm32-elf-gcc and feed that to flterm once the bios is up?
17:10
<
cr1901_modern >
Yea, once flterm is running it'll look for a magic string that the MiSoC BIOS provides. If it sees that string, flterm will respond with its own magic string
17:10
<
cr1901_modern >
and a xfer will begin automatically without user intervention
17:11
<
FelixVi >
ah cool, so I should be pretty close then actually
17:11
<
FelixVi >
I didn't seem like that for a while now...
17:22
<
FelixVi >
cr1901_modern: bitfile generation and upload from the test file for the new platform works
17:23
<
FelixVi >
thanks for all the help getting started
17:23
<
cr1901_modern >
Yw. And that's good. Now it's time to make a PR!
17:24
<
FelixVi >
cr1901_modern: I'll test drive it a little more first - wanna check on SDRAM, serial etc
17:24
<
FelixVi >
but should see that as I play with misoc
17:25
<
FelixVi >
gotta run for a while, but I'll make a misoc platform next to make sure peripherals work
17:33
<
GitHub91 >
artiq/master ecfe2e4 Robert Jordens: sayma_amc_standalone: rtio channels for both sawg groups
17:46
FelixVi has quit [Ping timeout: 248 seconds]
17:51
<
GitHub90 >
migen/master d1700ee Adam Greig: build/platforms/de0nano: Fix incorrect sw1 pin assignment: T9->T8
17:51
<
GitHub90 >
migen/master 821fbdc Robert Jördens: Merge pull request #89 from adamgreig/de0nano...
18:23
FelixVi has joined #m-labs
18:41
mumptai has joined #m-labs
18:50
FelixVi has quit [Ping timeout: 240 seconds]
19:27
FelixVi has joined #m-labs
20:58
balrog has joined #m-labs
21:40
<
FelixVi >
for ddr2 (as used for pipistrello), we're using 4xserdes as seen here - self.specials += Instance("BUFPLL", p_DIVIDE=4, - , right?
21:40
<
FelixVi >
so self.cd_sys.clk needs to be a quarter of the sdram wr rd clock from the main PLL
21:42
<
FelixVi >
is that ratio fixed or do you think using 8xserdes will work as well? I'm struggling a bit to tweak up my new platform (lx45 but speed grade 2, not sg3 as the pipistrello)
21:42
<
FelixVi >
I don't get why people use sg2 and don't just spend the extra $5
21:55
<
FelixVi >
does misoc check for sdram setup times based on the pll phase settings? I seem to have some setup time issues which aren't reported, yet memtest fails
21:56
<
cr1901_modern >
That should be Xilinx's job
21:57
<
cr1901_modern >
And timing analysis should be able to relate the phase of the sdram clk to the input clk
21:58
<
FelixVi >
crg_pll_3 (ddr clock) only has a minperiod constraint as far as i can see
21:59
<
cr1901_modern >
Oh I think you're doing something different from me then
21:59
<
FelixVi >
but crg_pll_2 (fpga data and addr timing) has both setup and hold
21:59
<
FelixVi >
it's for ddr2 memory using serdes
21:59
<
FelixVi >
but as I fail memtest, something about my pll setup must be screwy
22:00
<
FelixVi >
oh and this is at 40 MHz, so timing should be pretty easy to meet
22:00
<
FelixVi >
so I messed something up big time, but I don't see where I went wrong
22:01
<
cr1901_modern >
I've little experience w/ ddr2, so I'm not sure I can help :/
22:03
<
FelixVi >
20 MHz core, 40 Mhz DDR, 80 MHz wr/rd strb
22:04
<
cr1901_modern >
Perhaps it is too slow for the memory and contents are being lost before refresh?
22:04
<
FelixVi >
same memory as pipistrello (let me check on speed grade) - but at 40 MHz that probably doesn't matter
22:04
<
FelixVi >
that could be... let me run at twice the speed - I was getting timing violations north of 80 MHz, but 40 MHz core should run
22:08
<
FelixVi >
so, pipistrello has sg -5
22:10
<
FelixVi >
saturn should have -5 as well
22:16
<
FelixVi >
hmm, I find that confusing
22:20
AceChen has quit [Remote host closed the connection]
22:21
<
cr1901_modern >
Which DDR controller are you using? MiSoC's?
22:21
<
FelixVi >
yeah, currently s6halfrate
22:21
<
FelixVi >
i'm thinking about trying out quarter rate, but then I have to make sure I edit the clock tree accordingly
22:21
<
FelixVi >
fixing this would probably be better
22:22
<
FelixVi >
S6HalfRateDDRPHY to be exact
22:22
<
FelixVi >
timing passes, bios crc is good but memtest fails
22:23
<
cr1901_modern >
Perhaps you should ask
_florent_ for help when he's aroundf
22:23
<
FelixVi >
does one need to modify bitslip setting when the clock rate changes?
22:24
<
FelixVi >
I adjusted the phases so that the clock leads by the same amount of time, also without success
22:24
<
FelixVi >
let's see if it runs at 30 MHz core...
22:24
<
FelixVi >
40 gave me timing errors
22:25
<
FelixVi >
still no love from the sdram...
22:25
<
FelixVi >
I'll wait for rjo or
_florent_ then
22:26
<
FelixVi >
20 MHz version with adjusted phase is pushed on github
22:30
<
FelixVi >
this is the latest version where the vco also runs at fmax (doesn't fix the issue, though)
22:31
<
FelixVi >
pin assignment is identical to pipistrello (same MCB), but speed grade is different as mentioned above
22:31
<
FelixVi >
the rest should pretty much be identical, so I think it has to do with frequency scaling the DDRPHY
22:33
<
FelixVi >
this is the timing report:
22:39
<
FelixVi >
what I find a bit weird is that actual period on pll[5] aka sys_clk is 11.286ns on pipi while mine is 29.568ns
22:40
<
FelixVi >
only difference should be speed grade, number of routed signals between the two designs is the same
22:42
<
FelixVi >
any help is appreciated! I'm starting to wonder if too much slack is a problem...
23:23
mumptai has left #m-labs ["Verlassend"]