<kbeckmann>
it would seem that what i am trying to do is not possible. when trying to place the second PCIe PHY IP, i am informed by vivado that it can only be placed at location X0Y0, so i guess there is only room for one. looks like i'd have to use a Virtex to do this according to some other information i found... oh well, was worth a try.
lf has quit [Ping timeout: 268 seconds]
lf has joined #litex
esden has quit [Read error: Connection reset by peer]
y2kbugger has quit [Read error: Connection reset by peer]
y2kbugger has joined #litex
esden has joined #litex
Degi has quit [Ping timeout: 240 seconds]
Degi has joined #litex
CarlFK has joined #litex
peeps has quit [Ping timeout: 264 seconds]
peepsalot has joined #litex
<a314>
what's the difference between nmigen-soc and litex for things like wishbone Records? are they designed to be cross-compatible or should I use LiteX's infrastructure if I want to use LiteX cores
_whitelogger has joined #litex
kgugala has quit [Read error: Connection reset by peer]
kgugala has joined #litex
kgugala_ has joined #litex
kgugala has quit [Ping timeout: 260 seconds]
kgugala has joined #litex
kgugala_ has quit [Ping timeout: 268 seconds]
kgugala_ has joined #litex
kgugala has quit [Ping timeout: 264 seconds]
kgugala_ has quit [Read error: Connection reset by peer]
<_florent_>
kbeckmann: sure you can ask LiteX/NeTV2 questions here, the NeTV2 target in LiteX-Boards does not has PCIe, but i should add it
<_florent_>
kbeckmann: otherwise Artix7 only have 1 PCIe hardblock, so that's not possible to use the PCIe PHY from Xilinx for your use case
<_florent_>
kbeckmann: it should be possible to do so something by manually instantiating the GTP transceivers (eventually reuse LiteICLink to ease things: https://github.com/enjoy-digital/liteiclink), but you'll still probably need a PCIe PHY
<_florent_>
The approach with _franck_'s PCIe Analyzer is probably easier since uses a PCIe interposer to snif the TX/RX lanes , but does not allow injection.
<_florent_>
powergraphic[m]: i'm still working on LiteSATA integration, but the current code can be found here:
<_florent_>
For now it's read only and allows booting binaries from a FAT SSD/HDD
<_florent_>
a314: you should indeed use LiteX's infrastructure with LiteX cores. It's probably possible to create mixed SoC with nmigen-soc/LiteX, but for this you'll probably pass by verilog and rely on the bus standards (Wishbone, AXI, etc...)
<_florent_>
st-gourichon-fid: i could have a look at the flash issue, would you mind creating an issue with a minimal repro on github for the Fomu (for example since i think you are using this board).
<kbeckmann>
_florent_, _franck_: thanks for your replies! yeah for just sniffing and repeating the TLPs, fjullien's approach is nice. i want to be able to reject/modify/insert my own TLPs though, which is why i need a protocol implementation that handles the Data Link Layer and Physical Layer for me. eventually i want to use an open source implementation of this but it doesn't exist yet afaik. this project is
<tpb>
Title: ECP5-PCIe/ECP5-PCIe: A PCIe interface for the ECP5 FPGA written in nMigen - ECP5-PCIe - Codeberg.org (at codeberg.org)
<kbeckmann>
and eventually i also want to do this project with an ECP5. but i thought it would be nice to get started with this using an fpga that has proper PCIe support. one way to do what i want to do is to use two FPGA boards - one upstream and one downstream. it gets a bit clunky but should work.
<_franck_>
kbeckmann: do you want to have one FPGA acting as a PCIe endpoint and the other as a Root complex ? Or to have both in the middle of a root<->endpoint link acting passively ?
<kbeckmann>
_franck_: Ideally I want it to be transparent, so whatever the PCIe device i want to intercept is connected to - be it a root complex or a switch.
<kbeckmann>
"pcie mitm" has been done before by quite a few folks, but afaict there isn't an off-the-shelf easy to use solution for this, which is what i would like to build. i know i'm in deep water here because i don't know much about this, but i want to try :D
<kbeckmann>
oh and add "cheap" to that as well. i envision a project like this to have a BOM of < 200 eur or so.
<_florent_>
kbeckmann: interesting, _franck_'s analyzer could be very useful to develop your project since would gives full visibility, coupling it with glscopeclient and a PCIe decoder would also be very nice :)
<kbeckmann>
doh, connected the dots now that _franck_ is fjullien :). yeah for sure!
<_florent_>
_franck_: just a question: i recently added write latency calibration support to LiteDRAM and think it could help for the calibration on AC701
<kbeckmann>
i want to have a decent scriptable interface where you can trigger and modify certain TLP signatures and so on, enable fuzzing, and a bunch of other stuff. but getting a good pass-through analysis is obviously also nice to have.