All Projects → hamsternz → Fpga_webserver

hamsternz / Fpga_webserver

Licence: mit
A work-in-progress for what is to be a software-free web server for static content.

Labels

Projects that are alternatives of or similar to Fpga webserver

simple-riscv
A simple three-stage RISC-V CPU
Stars: ✭ 14 (-98.16%)
Mutual labels:  vhdl
Mist Board
Core sources and tools for the MIST board
Stars: ✭ 350 (-54.07%)
Mutual labels:  vhdl
Parallella Hw
Parallella board design files
Stars: ✭ 389 (-48.95%)
Mutual labels:  vhdl
Csi2rx
Open Source 4k CSI-2 Rx core for Xilinx FPGAs
Stars: ✭ 266 (-65.09%)
Mutual labels:  vhdl
F32c
A 32-bit RISC-V / MIPS ISA retargetable CPU core & SoC, 1.63 DMIPS/MHz
Stars: ✭ 338 (-55.64%)
Mutual labels:  vhdl
Microwatt
A tiny Open POWER ISA softcore written in VHDL 2008
Stars: ✭ 383 (-49.74%)
Mutual labels:  vhdl
intfftk
Fully pipelined Integer Scaled / Unscaled Radix-2 Forward/Inverse Fast Fourier Transform (FFT) IP-core for newest Xilinx FPGAs (Source language - VHDL / Verilog). GNU GPL 3.0.
Stars: ✭ 43 (-94.36%)
Mutual labels:  vhdl
Spinalhdl
Scala based HDL
Stars: ✭ 696 (-8.66%)
Mutual labels:  vhdl
Nvc
VHDL compiler and simulator
Stars: ✭ 347 (-54.46%)
Mutual labels:  vhdl
Gcvideo
GameCube Digital AV converter
Stars: ✭ 385 (-49.48%)
Mutual labels:  vhdl
Edalize
An abstraction library for interfacing EDA tools
Stars: ✭ 270 (-64.57%)
Mutual labels:  vhdl
Dsi Shield
Arduino MIPI DSI Shield
Stars: ✭ 330 (-56.69%)
Mutual labels:  vhdl
Parallella Examples
Community created parallella projects
Stars: ✭ 384 (-49.61%)
Mutual labels:  vhdl
Opl3 fpga
Reverse engineered SystemVerilog RTL version of the Yamaha OPL3 (YMF262) FM Synthesizer
Stars: ✭ 255 (-66.54%)
Mutual labels:  vhdl
Vunit
VUnit is a unit testing framework for VHDL/SystemVerilog
Stars: ✭ 438 (-42.52%)
Mutual labels:  vhdl
SmartVHDL
SublimeText Plugin for VHDL (highlight, autocompletion, navigation, ...)
Stars: ✭ 12 (-98.43%)
Mutual labels:  vhdl
Riscv vhdl
Portable RISC-V System-on-Chip implementation: RTL, debugger and simulators
Stars: ✭ 356 (-53.28%)
Mutual labels:  vhdl
Cocotb
cocotb, a coroutine based cosimulation library for writing VHDL and Verilog testbenches in Python
Stars: ✭ 740 (-2.89%)
Mutual labels:  vhdl
Gplgpu
GPL v3 2D/3D graphics engine in verilog
Stars: ✭ 515 (-32.41%)
Mutual labels:  vhdl
Awesome Hdl
Hardware Description Languages
Stars: ✭ 385 (-49.48%)
Mutual labels:  vhdl

I'm slowly building a hardware-based web server.

Feel free to look around, but it is not yet anywhere near working

Status

  • ARP replies sent at Gigabit speeds
  • ICMP is working at Gigabit speeds
  • UDP RX & TX works at Gigabit speeds

TODO LIST OF MINOR ISSUES THAT I DON'T WANT TO FORGET

Inbound packet processing

  • Inbound packet reception errors should cause the packet to be dropped.

  • Inbound packet CRC verification is not being performed - should cause packet to dropped

  • Inbound packet MAC filtering not coded - should only accept packets for 'our_mac' or the broadcast MAC. This could be handled the same as CRC or reception errors (where the FIFO can be rolled back). Doing this in one place could save resources.

TCP/IP Session protocol

  • Can establish a TCP/IP session
  • Sends ACKs for incoming data
  • Currently listens on port 80 for any incoming connections
  • Replies with 'FPGA says "Hi"\r\n' to any incoming packets that contains data
  • Tears down session when remote end closes

TCP/IP packet support - mostly finished

  • TCP RX IP Checksum is not being validated
  • TCP RX TCP Checksum is not being validated

UDP Support - mostly finished

  • UDP TX cannot send a packet without any data

  • UDP RX IP Checksum is not being validated

  • UDP RX UDP Checksum is not being validated

  • UDP RX of a packet with no data will not result in anything that the consuming design can see.

ICMP Support - mostly finished

  • ICMP 'echo request' is not validating that the IP checksum is correct
  • ICMP 'echo request' is not validating that the ICMP length field is correct.
  • ICMP 'echo request' is not validating that the ICMP checksum is correct

Outbound packet processing

  • Outbound packets are not being sent correctly for 10 & 100Mbps speed. This requies a 4k FIFO, which will block the arbiter when less than 1600 entries are free (enough for a packet and some loop latency)
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].