Go to content Go to menu

zilog-z80.jpg I started my professional career when 8bit computers emerge. Especially the venerable Z80 (e.g. Sinclair ZX81 or Spectrum). Lately, I wanted to teach my kids some computer basics and remembered how I discovered how things work on my home computer, years ago.

Unfortunately I no longer have any old 8 bit machines laying around and I also did not want to use any of the many available emulators. I thought it would be better they can touch the machine and could directly see when things change like blinking some LEDs.

Sure nowadays this could also easily be done with one of the many boards like Raspberry PI or Arduinos etc. But their internals (e.g. like an ARM CPU) are not that easy for kids and - I wanted to have some fun too. So I decided to implement a simple Z80 system on an FPGA development board.

Check out f80, a small Z80 system running on an FPGA on https://github.com/rprinz08/f80 - and have some fun.

hBPF network packet processing

Thursday, August 5, 2021

hbpf-net-test-overview.png hBPF + LiteETH for real network packet processing

This project shows how to process real network packets with hBPF. It uses a Digilent Arty-S7 with a MultiNet expansion board.

The Arty-S7 does not have Ethernet out of the box. Therefore Ethernet for the Arty-S7 was provided using MultiNet.

The project instantiates a hBPF CPU and connects it to a LiteEth low level LiteEthMACCore to receive network packets. Some CPU status signals are connected to LED’s. A serial Wishbone Bridge and LiteScope Debugger are used for debugging.

 
 

[Read more…]

hBPF = eBPF in hardware

Saturday, April 3, 2021

hbpf-logo-l.png Introducing hBPF - an eBPF implementation for FPGAs.

This project was started beginning of 2021 as an experiment of how fast and how far you can get, with using alternate hardware description languages (compared to the classic ‘V’ languages VHDL and Verilog), most of the time open-source tools (compared to expensive, commercial toolchains) and cheap development boards (e.g Arty-S7).

It implements an eBPF CPU using LiteX/Migen, a Python3 based SoC builder and Hardware Definition language (HDL).

[Read more…]

Resolving product shortcomings

Tuesday, November 10, 2020

power-guard-safe.jpg Recently I bought a document safe. This was necessary because some types of documents need to be kept safe even during still ongoing COVID-19 home office. I choose a model with a security grade necessary to legally comply required by the type of documents I work with. And I choose one with a digital keypad so I don’t have to have a physical key but a numeric code. From the time it was ordered, it took about a week to be delivered and some effort (weighs around 50kg) to get it into place. After I put in a fresh 9V battery, set up a security code, and put in some documents, I was done - I thought ….

[Read more…]

Arty-S7-50 MultiNet

Tuesday, June 2, 2020

arty_s7_50_multi_net_pcbs.jpg The prototype of my simple FPGA based SoC with multiple Ethernet interfaces worked so well that I decided to create a PCB for it and increase the number of network interfaces from two to four. It also includes a special PMOD connector for a SD-Card to boot a firmware or Linux from. Also two of the Arty’s four existing PMODs are also still available for extensions. PMOD-C and PMOD-D are no longer available as their pins are used for some of the Ethernet PHY modules.

Due to I/O limitations the Seven Segment Display was removed from the original design.
 
 
 
 
 
 
[Read more…]