Commit graph

183 commits

Author SHA1 Message Date
Florent Kermarrec
466223e18d liteeth/gen: update copyrights 2020-02-12 16:50:35 +01:00
Xiretza
7a44209f77
Make memory/CSR regions customizable in config
Also remove interrupt mapping, since it's unused without a CPU anyway.
2020-02-12 15:55:04 +01:00
Xiretza
ca9cbd1555
Move more options to config file 2020-02-12 15:55:04 +01:00
Xiretza
eea1086654
Use builder arguments in generator 2020-02-12 15:51:53 +01:00
Xiretza
b9fb1f03ec
Remove leftover classes in generator 2020-02-12 15:51:53 +01:00
Florent Kermarrec
fcadd60cea liteeth/gen: initial switch to YAML config file (similar to LiteDRAM/LitePCIe) 2020-02-12 00:18:22 +01:00
Florent Kermarrec
0954fa32b1 Merge branch 'generator-lattice' of git://github.com/ximinity/liteeth into ximinity-generator-lattice 2020-02-11 23:34:52 +01:00
Xiretza
5767dfcb6c
Honour --output-dir argument in generator 2020-02-11 22:03:12 +01:00
Xiretza
153c160670
Prioritise overridden interrupts and memory regions 2020-02-11 21:58:41 +01:00
Xiretza
ec9bc578f2
Fix MII tx_en signal width in standalone generator 2020-02-11 21:57:47 +01:00
Xiretza
42a7b6c69d
Allow little-endian interface for standalone design 2020-02-11 21:57:47 +01:00
Xiretza
a696ccddb4
Expose interrupt pin for standalone design 2020-02-11 21:57:02 +01:00
Florent Kermarrec
208bc095d9 liteeth/gen: update 2020-02-11 21:45:46 +01:00
Stefan Schrijvers
ae10eea860
gen: add lattice support 2020-02-08 16:33:03 +01:00
Florent Kermarrec
081bf46ca6 mac/sram: simplify code and improve SRAM read speed using async_read on Memory. 2020-02-07 11:40:14 +01:00
Florent Kermarrec
bf4a11ab30 mac/sram: simplify counter (use NextValue in FSM) 2020-02-07 10:57:25 +01:00
Florent Kermarrec
721238b7a8 mac/sram: cosmetic changes 2020-02-07 10:53:05 +01:00
Florent Kermarrec
f532a12b40 phy/common: use CSRField for MDIO registers 2020-01-28 10:43:33 +01:00
Florent Kermarrec
8edf4f3f9a phy/1000basex: cleanup primitive instances, use Open signal class on open ports, polish code comments 2020-01-28 10:43:08 +01:00
Florent Kermarrec
de40a66873 phy/gmii: cleanup BUFGMUX instance 2020-01-28 10:41:53 +01:00
Florent Kermarrec
983017a9ed phy/rgmii: cleanup primitive instances 2020-01-28 10:41:32 +01:00
Vamsi K Vytla
8ecaaf0546 phy/{s7,us}rgmii.py:
Recent modification that adds S7PLL that in return adds an AsyncResetSynchronizer inside XilinxClocking.

This actually creates a multi-driven net because there is another AsyncResetSync* being added in the Phys.

This change instantiates the PLL without a reset for now, leaving the CD reset intact.
2020-01-27 12:52:10 -08:00
Vamsi K Vytla
cd413c5c20 phy/usrgmii.py:
IDELAYE3 requires EN_VTC to be enabled for fixed mode time delay. This eliminates implementation time CRITICAL WARNINGs and ensures generating a bitfile.
2020-01-27 10:32:38 -08:00
Florent Kermarrec
3a54bf2b8b phy/rgmiis: uniformize a bit more 2020-01-18 00:24:40 +01:00
Florent Kermarrec
e41f06bbf2 phy: cleanup imports/dw 2020-01-17 23:19:56 +01:00
Florent Kermarrec
a48c78044e phy/s7rgmii/usrgmii: use S7PLL and USPLL 2020-01-17 23:08:38 +01:00
Vamsi K Vytla
c16e6b2d86 phy/ecp5rgmii.py: Missed moving dw as class variable here 2020-01-17 12:45:37 -08:00
Vamsi K Vytla
0a922bb2ad A few minor changes that help RGMII phy related debugging. {s6, s7, us}rgmii.py Make dw a class variable instead 2020-01-17 09:23:03 -08:00
Florent Kermarrec
17e228d4b0 phy/usrgmii: add configurable tx/rx_delay (2ns by default) 2020-01-17 09:24:35 +01:00
Florent Kermarrec
6270eb38d2 phy/s7rgmii: cleanup 2020-01-17 09:22:30 +01:00
Florent Kermarrec
ee4f8c0f34 phy/usrgmii: improve presentation 2020-01-17 09:15:51 +01:00
Florent Kermarrec
2bdae4e7bd phy/s7rgmii: add configurable tx/rx_delay (2ns by default) 2020-01-17 09:13:29 +01:00
Florent Kermarrec
aea81e19e9 phy/s7rgmii: improve presentation 2020-01-17 09:05:09 +01:00
Florent Kermarrec
2748e442a9 phy/s6rgmii: add configurable tx/rx_delay (2ns by default) 2020-01-17 09:03:34 +01:00
Florent Kermarrec
8fb0dae18a phy/s6rgmii: improve presentation 2020-01-17 08:57:52 +01:00
Florent Kermarrec
0cf9c2057d phy/ecp5rgmii: add configurable tx/rx_delay (2ns by default) 2020-01-17 08:54:31 +01:00
Florent Kermarrec
e5c4ee7065 phy/ecp5rgmii: improve presentation 2020-01-17 08:35:15 +01:00
Florent Kermarrec
73bd27b506 phy/s7rgmii: add 2ns delay on ctl/data 2020-01-16 15:46:13 +01:00
Florent Kermarrec
bb01840b12 add initial LiteEth standalone core generator from examples/core.py 2019-11-24 11:22:51 +01:00
Florent Kermarrec
5a789570be mac/wishbone: remove FullMemoryWE (prevent simulation and should no longer be useful) 2019-11-23 00:12:46 +01:00
Vamsi K Vytla
57be29e68a global: pass data_width(dw) parameter to modules to prepare for 10Gbps/25Gbps links
To support 10Gbps/25Gbps, the hardware stack will need to handle multiple bytes/clock cycle.
Pass dw to all modules to allow making use of it in the future. For now dw=8.
2019-11-21 11:01:55 +01:00
Florent Kermarrec
ba83253ffa core/arp: fix typo 2019-11-21 11:01:53 +01:00
Florent Kermarrec
6b0a9251c0 global: keep up to date with LiteX (update stream_packet import to packet)
Retro-compatibily was ensure by LiteX but update it.
2019-11-21 11:01:50 +01:00
Florent Kermarrec
d2eb870445 core: allow passing ip_address as str 2019-11-07 13:23:10 +01:00
Florent Kermarrec
4d9e74f10a phy/usrgmii: cleanup (style, indent) 2019-09-28 22:16:07 +02:00
Vamsi K Vytla
59e04608a8 Adds RGMII phy support for Xilinx Ultrascale Devices. Hardware tested on HTG-940 2019-09-04 15:11:20 -07:00
Florent Kermarrec
ad187d35f2 add CONTRIBUTORS file and add copyright header to all files 2019-06-24 11:43:10 +02:00
Florent Kermarrec
a170acda0f change MAC location (next to phy/core/frontend), keep import retro-compatibility 2019-06-24 11:20:46 +02:00
Florent Kermarrec
789dadd8bf liteeth/software: remove libwip/libuip examples.
libuip integration can be found in https://github.com/timvideos/HDMI2USB-litex-firmware/tree/master/firmware
2019-06-17 21:17:52 +02:00
Florent Kermarrec
2424e62bf9 software: also include generated/mem.h 2019-05-20 09:00:25 +02:00
Florent Kermarrec
e88fc507c8 software: remote ethmac_mem.h dependency (no longer exists in LiteX) 2019-05-19 19:29:04 +02:00
Florent Kermarrec
b318300414 phy/ku_1000basex: keep tx/rx in reset until pll is fully reseted and locked 2019-04-11 21:51:09 +02:00
Florent Kermarrec
e6c35cdec8 phy/ku_1000basex: incease pll_reset 2019-04-10 15:38:21 +02:00
Florent Kermarrec
816f592469 phy: add initial ECP5RGMII PHY 2019-02-25 14:45:19 +01:00
Florent Kermarrec
b4c1cfe8c5 core/icmp: fix reply checksum when request checksum >= 0xf800
need to add +1
2019-02-24 23:30:46 +01:00
Florent Kermarrec
77fa4bfb1e phy: add Kintex7 1000BaseX PHY 2019-01-22 19:40:32 +01:00
Florent Kermarrec
c2d8a467c9 phy: add Kintex Ultrascale PHY (copyright M-Labs Ltd) 2019-01-21 11:27:33 +01:00
Florent Kermarrec
d7fdcbb1dc phy: add Spartan6 RGMII PHY 2018-12-18 08:58:16 +01:00
Florent Kermarrec
52c23015b0 frontend/etherbone: reduce default buffer_depth to 4 2018-10-30 11:21:06 +01:00
Florent Kermarrec
602ddec664 common: use reverse_bytes from litex.gen 2018-10-30 11:13:09 +01:00
Florent Kermarrec
c370e9f71f phy/model: remove creation/deletion of ethernet tap (now handled by the simulator) 2018-09-20 22:49:37 +02:00
Florent Kermarrec
3d868449e9 core/mac/sram: fix code refactoring 2018-09-17 09:10:59 +02:00
Florent Kermarrec
5106bcdc0c core/mac/sram: simplify last_be code 2018-09-07 21:14:17 +02:00
Florent Kermarrec
ce72e34f56 core/mac: pass endianness and use if for last_be gen/check 2018-09-07 10:35:27 +02:00
Florent Kermarrec
4edba99b38 phy: remove s6rgmii (not working correctly).
Alternative is to create a wrapper around the rgmii_if from Xilinx as it's done in opsis-soc
2018-07-18 10:09:01 +02:00
Florent Kermarrec
40d91f09c4 phy: use rx_dv instead of dv 2018-07-05 10:48:17 +02:00
Florent Kermarrec
a2dbdd6d2b phy: add a7_1000basex phy (from misoc) 2018-06-29 14:26:19 +02:00
Florent Kermarrec
95849a0fed core/icmp: use buffered=True on buffer to allow tools to use block rams 2018-05-27 07:41:32 +02:00
Florent Kermarrec
79a6ba7709 replace litex.gen imports with migen imports 2018-02-23 13:40:09 +01:00
Felix Held
9dcc7bc65e mac/crc.py: make crc calculation more pythonic 2018-02-21 23:20:03 +01:00
Felix Held
2ceaa74caf clarify the comments in mac/crc.py code 2018-02-21 23:05:32 +01:00
Felix Held
20af2bf201 Fix all remaining indentation issues in python code
I ran a script that shouldn't have missed any tab in the python source files.
2018-01-13 13:23:18 +11:00
Florent Kermarrec
2788294834 core/mac/sram: add csr for fifo level of sram reader (for the linux driver) 2017-12-31 07:12:55 +01:00
Florent Kermarrec
c9ec30df2f core/mac: apply changes from misoc: remove gap_checker in rx, add preamble errors, fix preamble checker 2017-12-30 18:32:50 +01:00
Florent Kermarrec
26c01a1627 core/mac/crc: fix crc_error generation 2017-11-01 23:23:02 +01:00
Florent Kermarrec
eaf4acc3f5 core/mac: apply misoc changes (72faa2c) 2017-11-01 21:11:08 +01:00
Tim Ansell
00e6ded2e9 Adding TCP port 1234 to Etherbone dissector.
LiteEth designs seem to commonly use TCP port 1234.
2017-09-01 23:16:09 +10:00
Florent Kermarrec
c43fb269a7 frontend/etherbone: timing optimizations 2017-07-19 12:20:17 +02:00
Florent Kermarrec
042d3aee3e frontend/etherbone: fix cd="sys case 2017-07-15 22:10:48 +02:00
Florent Kermarrec
1127e3a615 core/udp: simplify LiteEthUDPCrossbar.get_port when used with cdc 2017-07-01 13:14:13 +02:00
Florent Kermarrec
b870d13d96 global: reset_less optimizations 2017-07-01 11:22:26 +02:00
Florent Kermarrec
34460cec47 core/udp: add cdc support (untested) 2017-06-30 11:01:44 +02:00
Florent Kermarrec
e68e2ed73c frontend/etherbone: add description 2017-04-26 23:43:43 +02:00
Florent Kermarrec
42454a5448 frontend/etherbone: add wishbone slave support (allow extending wishbone bridge over ethernet between boards) 2017-03-30 14:46:30 +02:00
Florent Kermarrec
e1da2df97d core/mac/sram: fix reception of frames larger than mtu
-use 32bits length CSR (allow software to detect frames larger than mtu)
-drop remaining bytes larger than mtu
2016-05-01 07:37:24 +02:00
Florent Kermarrec
072969ff58 common: fix eth_mtu (1530 bytes) 2016-05-01 07:09:37 +02:00
Florent Kermarrec
33e36dc4d7 use new Record.connect omit parameter (replace leave_out) 2016-04-21 08:03:31 +02:00
Florent Kermarrec
f55ce1aac6 core/mac: simplify/improve performance of LiteEthMACSRAMReader
now read data from sram on every clock cycle, allow lower system clock frequency (tested with 50MHz system clock / 125MHz ethernet clock)
2016-04-03 22:53:02 +02:00
Florent Kermarrec
a189b2c195 phy/s6rgmii: fix missing last signal 2016-03-29 16:53:37 +02:00
Florent Kermarrec
657ba4cb16 global: use valid/ready/last signals instead of stb/ack/eop (similar to AXI) 2016-03-16 21:36:07 +01:00
Florent Kermarrec
9cd7dc3088 global: use SyncFIFO instead of Buffer 2016-03-16 19:45:43 +01:00
Florent Kermarrec
aff07c6809 global: use new StrideConverter 2016-03-16 17:01:13 +01:00
Florent Kermarrec
51f56e79dd global: remove use of sop 2016-03-16 16:22:00 +01:00
Florent Kermarrec
1f46aaeb55 core/mac: remove frontend directory (too much directories) and some cleanup 2016-03-15 20:09:30 +01:00
Florent Kermarrec
c3e15e7f7b core/mac: use fifo_depth of 64 for all phys 2016-03-15 19:41:53 +01:00
Florent Kermarrec
32243934fb global: use stream.Endpoint instead of Sink/Source (deprecated) 2016-03-15 16:50:00 +01:00
Florent Kermarrec
9593e29756 global: use 192.168.1.100 (remote)/ 192.168.1.50 (local) IP addresses 2016-03-15 15:40:06 +01:00
Florent Kermarrec
b7efe0fd46 phy: remove pads_register parameter (does not save enough, priority to simplicity) 2016-03-15 15:33:36 +01:00
Florent Kermarrec
5583fe5543 phy/s6rgmii: RenameClockDomains --> ClockDomainsRenamer 2016-02-24 23:51:31 +01:00
Florent Kermarrec
d38612db0c remove use of Record.connect 2015-12-27 12:26:01 +01:00