hamsternz / Fpga_webserver
Licence: mit
A work-in-progress for what is to be a software-free web server for static content.
Projects that are alternatives of or similar to Fpga webserver
simple-riscvA simple three-stage RISC-V CPU
Stars: ✭ 14 (-98.16%)
Mutual labels: vhdl
Mist BoardCore sources and tools for the MIST board
Stars: ✭ 350 (-54.07%)
Mutual labels: vhdl
Parallella HwParallella board design files
Stars: ✭ 389 (-48.95%)
Mutual labels: vhdl
Csi2rxOpen Source 4k CSI-2 Rx core for Xilinx FPGAs
Stars: ✭ 266 (-65.09%)
Mutual labels: vhdl
F32cA 32-bit RISC-V / MIPS ISA retargetable CPU core & SoC, 1.63 DMIPS/MHz
Stars: ✭ 338 (-55.64%)
Mutual labels: vhdl
MicrowattA tiny Open POWER ISA softcore written in VHDL 2008
Stars: ✭ 383 (-49.74%)
Mutual labels: vhdl
intfftkFully 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
SpinalhdlScala based HDL
Stars: ✭ 696 (-8.66%)
Mutual labels: vhdl
NvcVHDL compiler and simulator
Stars: ✭ 347 (-54.46%)
Mutual labels: vhdl
GcvideoGameCube Digital AV converter
Stars: ✭ 385 (-49.48%)
Mutual labels: vhdl
EdalizeAn abstraction library for interfacing EDA tools
Stars: ✭ 270 (-64.57%)
Mutual labels: vhdl
Dsi ShieldArduino MIPI DSI Shield
Stars: ✭ 330 (-56.69%)
Mutual labels: vhdl
Parallella ExamplesCommunity created parallella projects
Stars: ✭ 384 (-49.61%)
Mutual labels: vhdl
Opl3 fpgaReverse engineered SystemVerilog RTL version of the Yamaha OPL3 (YMF262) FM Synthesizer
Stars: ✭ 255 (-66.54%)
Mutual labels: vhdl
VunitVUnit is a unit testing framework for VHDL/SystemVerilog
Stars: ✭ 438 (-42.52%)
Mutual labels: vhdl
SmartVHDLSublimeText Plugin for VHDL (highlight, autocompletion, navigation, ...)
Stars: ✭ 12 (-98.43%)
Mutual labels: vhdl
Riscv vhdlPortable RISC-V System-on-Chip implementation: RTL, debugger and simulators
Stars: ✭ 356 (-53.28%)
Mutual labels: vhdl
Cocotbcocotb, a coroutine based cosimulation library for writing VHDL and Verilog testbenches in Python
Stars: ✭ 740 (-2.89%)
Mutual labels: vhdl
GplgpuGPL v3 2D/3D graphics engine in verilog
Stars: ✭ 515 (-32.41%)
Mutual labels: vhdl
Awesome HdlHardware 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].