Commit Graph

554 Commits

Author SHA1 Message Date
Florent Kermarrec 325f39b1cd phy/pcs_1000basex: stb/ack -> valid/ready. 2023-06-13 10:16:43 +02:00
Florent Kermarrec a9e41ef59b phy/pcs_1000basex: Minor changes/cleanups.
- Switch to LiteXModule.
- Cosmetic cleanups for similarity with others modules.
- Use K/D definition from litex.soc.cores.code_8b10b.
2023-06-13 10:13:32 +02:00
Florent Kermarrec 7046987ff1 phy/pcs_1000basex: Update from misoc. 2023-06-13 09:52:20 +02:00
Florent Kermarrec e9605ef9d8 phy/gmii/mii/rmii/xgmii: Switch to LiteXModule and minor simplifications/cleanups. 2023-06-13 09:35:17 +02:00
Florent Kermarrec 028838e744 phy/usp_1000basex: Update parameters from Xilinx PMA/PCS core. 2023-06-12 16:28:17 +02:00
Florent Kermarrec 150710d810 phy/usp_1000basex: Fix TX/RX_PROGDIV_CFG.
TX and RX clks now up.
2023-06-09 15:20:36 +02:00
Florent Kermarrec 8f7a1bf5d4 liteeth_gen: Disable wip Etherbone. 2023-06-09 08:32:42 +02:00
Florent Kermarrec 7f4df17615 liteeth_gen: Add initial (and wip) etherbone support. 2023-06-08 22:04:45 +02:00
Florent Kermarrec f00d95c534 usp_1000basex: Update a few parameter and add debug probes to investigate on xcu1525. 2023-06-08 17:56:37 +02:00
Florent Kermarrec a57178ac26 phy/rmii: Add with_refclk_ddr_ouptut parameter and minor cosmetic cleanups.
Setting with_refclk_ddr_ouptut to False can allow use of RMII PHY on platforms
not supporting DDROutput.
2023-05-24 19:18:53 +02:00
enjoy-digital bbed8f1c95
Merge pull request #133 from jersey99/usp-rgmii
Make phy/usrgmii.py Ultrascale+ compatible
2023-05-18 08:38:29 +02:00
Vamsi Vytla 7040b19937 make phy/usrgmii.py Ultrascale+ compatible 2023-05-17 14:56:20 -07:00
Florent Kermarrec d607d9f34b setup.py: Prepare for 2023.04. 2023-05-07 20:48:15 +02:00
enjoy-digital 117fb37b24
Merge pull request #132 from timkpaine/tkp/ci
add manifest, uplift setup.py to pass twine checks
2023-04-15 22:17:39 +02:00
Tim Paine d66457d2b0 add manifest, uplift setup.py to pass twine checks 2023-04-11 14:18:11 -04:00
rowanG077 c30a6f8cd3 ecp5rgmii: Add way to set external TX clock to avoid loop clock 2023-03-13 11:00:46 +01:00
rowanG077 641c5dbdc7 Add core CDC depth and buffered parameters. 2023-02-16 22:49:11 +01:00
enjoy-digital 97dccdb294
Merge pull request #124 from sensille/wishbone_rx
wishbone rx data corruption
2022-12-20 09:53:34 +01:00
Arne Jansen 004e3f59d7 mac: fix typo 2022-12-08 18:11:01 +01:00
Arne Jansen 2b6d4ee51b wishbone: fix race condition in rx path
When no rx slot is available, the current code path sends the FSM through
DISCARD-REMAINING to TERMINATE, which tries to signal the slot to the user
even though nothing has been received. This can lead to data corruption.
2022-12-08 17:58:25 +01:00
Florent Kermarrec 0e1a1da036 liteth_gen: eth_bus_standard -> bus_standard. 2022-11-21 12:13:57 +01:00
Florent Kermarrec 8052afea79 liteeth_gen: add_wb_master -> bus.add_master. 2022-11-21 12:04:52 +01:00
Florent Kermarrec e3176c9386 phy/k7_1000basex: Make CSR optional and allow external reset control. 2022-11-04 12:11:51 +01:00
enjoy-digital 8680f74de0
Merge pull request #120 from suarezvictor/master
Add support for AXI-Lite bus in generator
2022-11-02 15:24:49 +01:00
Victor Suarez Rovere 68326dafd0 minimal core reorganization 2022-11-01 11:09:32 -03:00
Victor Suarez Rovere 5f14bd4a7f add initial support to generate verilog code using wishbone or axi-lite bus standard (depending on the .yml file) 2022-10-31 20:43:53 -03:00
Florent Kermarrec 022207c5c6 liteeth_gen: Use fixed CSR mapping to avoid moving base addresses with LiteX changes/simplifications. 2022-10-24 09:10:24 +02:00
Florent Kermarrec e9cdaa01a5 ci: Bump to ubuntu 20.04. 2022-10-14 18:17:35 +02:00
Florent Kermarrec 8fc5ed0ded CONTRIBUTORS: Update. 2022-09-07 10:20:11 +02:00
Florent Kermarrec 6cf7759c9b frontend/stream: Add packet support and remove send_level.
TX packets are now sent when we have a full packet of when the FIFO is full.
Last can always be asserted from user-side when packet needs to be immediately
transmitted, the behavior will then be similar to previous implementation.

Errors are now also reported on RX.
2022-07-29 14:58:25 +02:00
Florent Kermarrec 6d742e7999 phy/titaniumrgmii: Switch tx_ctl to IO primitive (similar to tx_data) and fix cd_eth_tx reset. 2022-07-08 12:16:09 +02:00
Florent Kermarrec c035ee2b63 liteeth/gen: Fix phy_tx/rx_delay format (floats). 2022-07-07 18:01:26 +02:00
Florent Kermarrec 8ad6e2521c phy: Add initial Titanium RGMII PHY (based on Trion's PHY). 2022-06-27 19:42:51 +02:00
Florent Kermarrec a319588843 liteeth/core: Expose IP broadcast capability. 2022-06-27 15:46:23 +02:00
Florent Kermarrec f192183255 liteeth/gen: Revert and fix missing Wishbone interface. 2022-06-27 15:35:37 +02:00
enjoy-digital 6930fb1cfb
Merge pull request #110 from Xiretza/gen-fix-rmii
gen: fix for RMII PHY
2022-06-27 15:31:17 +02:00
Xiretza a543ec757b gen: fix for RMII PHY
Without setting the ref clock domain to None, generation failed:

Traceback (most recent call last):
  File "/usr/lib/python3.10/site-packages/litex/gen/fhdl/verilog.py", line 535, in convert
    f.clock_domains[cd_name]
  File "/usr/lib/python3.10/site-packages/migen/fhdl/structure.py", line 741, in __getitem__
    raise KeyError(key)
KeyError: 'eth'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/bin/liteeth_gen", line 33, in <module>
    sys.exit(load_entry_point('liteeth==0.0.0', 'console_scripts', 'liteeth_gen')())
  File "/usr/lib/python3.10/site-packages/liteeth/gen.py", line 389, in main
    builder.build(build_name="liteeth_core")
  File "/usr/lib/python3.10/site-packages/litex/soc/integration/builder.py", line 350, in build
    vns = self.soc.build(build_dir=self.gateware_dir, **kwargs)
  File "/usr/lib/python3.10/site-packages/litex/soc/integration/soc.py", line 1208, in build
    return self.platform.build(self, *args, **kwargs)
  File "/usr/lib/python3.10/site-packages/litex/build/xilinx/platform.py", line 73, in build
    return self.toolchain.build(self, *args, **kwargs)
  File "/usr/lib/python3.10/site-packages/litex/build/xilinx/vivado.py", line 349, in build
    v_output = platform.get_verilog(fragment, name=build_name, **kwargs)
  File "/usr/lib/python3.10/site-packages/litex/build/xilinx/platform.py", line 64, in get_verilog
    return GenericPlatform.get_verilog(self, *args,
  File "/usr/lib/python3.10/site-packages/litex/build/generic_platform.py", line 423, in get_verilog
    return verilog.convert(fragment, platform=self, **kwargs)
  File "/usr/lib/python3.10/site-packages/litex/gen/fhdl/verilog.py", line 541, in convert
    raise Exception(msg)
Exception: Unresolved clock domain eth, availables:
- sys
- por
- eth_rx
- eth_tx
2022-05-25 17:13:39 +02:00
Florent Kermarrec b0e7243123 liteeth_gen: Add data_width support (For 32/8-bit datapath). 2022-05-16 13:38:05 +02:00
Florent Kermarrec e2c1b81cd3 CONTRIBUTORS: Update. 2022-05-02 13:45:04 +02:00
Florent Kermarrec 6d71adae2b bench: Use full imports. 2022-05-02 13:09:28 +02:00
Florent Kermarrec d10cda84b6 core/LiteEthIPCore/LiteEthUDPIPCore: Expose with_sys_datapath parameter. 2022-04-25 17:48:54 +02:00
Florent Kermarrec 28c8871624 core/LiteEthIPCore/LiteEthUDPIPCore: Improve code readability. 2022-04-25 17:33:32 +02:00
enjoy-digital 2f6ac9a216
Merge pull request #105 from yetifrisstlama/master
packet.py: fix typo in Packetizer
2022-04-25 16:37:10 +02:00
enjoy-digital 678995c3cb
Merge pull request #97 from david-sawatzke/dev/liteethudprxfix
core/udp: Add dw>8 support to LiteEthUDPRX
2022-04-25 16:36:10 +02:00
Florent Kermarrec d20f36a6ba core/icmp/LiteEthICMPEcho: Revert to PacketFIFO now that issue is understood.
edd98c23cb
2022-04-25 15:55:59 +02:00
Florent Kermarrec 9c0a9659c1 bench/butterstick: Add JTAGBone and Analyzer in MAC/ARP/IP/UDP/Etherbone control path. 2022-04-25 15:38:55 +02:00
Florent Kermarrec 2a4d387563 bench: Add gsd_butterstick. 2022-04-25 14:26:43 +02:00
Michael Betz 5e4dd913fc packet.py: fix typo in Packetizer
* in some cases, the delayed sink data was updated even though
    sink was not valid, leading to corrupted source data
  * this broke etherbone reads with DW=64
2022-04-19 01:15:10 +02:00
Florent Kermarrec bc9162d578 frontend/etherbone: Add assert on buffer_depth to prevent miss-configuration. 2022-04-08 09:27:52 +02:00
Florent Kermarrec 4cd0a99187 phy/1000basex: Add crg_reset CSR for consistency with other PHYs. 2022-03-23 08:44:52 +01:00