I never had an Intel 8080
… although I spent months tinkering with a Z80 chip in a previous life - long, long ago.But with an FPGA, that can change, at least in the virtual sense: there are several “soft cores” implementing an...
View ArticleRunning a simulated FPGA
Who needs real hardware?One of the very nice things you can do with Verilog (and VHDL), is to use it as basis for a simulator. Especially with synchronous designs, which do all their work in lock-step...
View ArticleDiving deep into SPI
As a somewhat more substantial exercise to learn Verilog, I thought I’d write an SPI master controller - should be easy, right?The Serial Peripheral Interface bus can deal with high speeds (at short...
View ArticleTFoC - PDP-8 in 256 lines of C
Always in search of the essential “fabric” of computing, I decided to create yet another PDP-8 emulator. In plain C, and in as few lines of code as possible - without resorting to obfuscated C. It...
View ArticleSTM32F103 emulating a PDP-8
Note: these weblog posts now appear at a leasurely once-a-week pace. Although the summer vacation time is now over, I have decided to stick to this schedule for a while: more time to think and prepare...
View ArticleConvolution, anyone?
Right now, the JeeLabs Energy Monitor only tracks and reports three mains pulse counters here at JeeLabs. The smart meter’s P1 serial data source will be added soon, but there have been issues with...
View ArticlePDP-8/L & DF32 disk on FPGA
As final entry in this PDP-8 saga (for now), I’d like to present an FPGA implementation of a small but very functional setup by Ian Schofield of a PDP-8/L with serial console and a whopping 32-kiloword...
View ArticleDebugging an FPGA via a µC
When trying out things in Verilog, one of the struggles I have is understanding what my “noob” code is doing. There’s no such thing as a printf here, obviously. There’s simulation, but that only goes...
View ArticleComposite video from ARM
Some weblog posts tend to take me further away from the usual topics. No worries… it’s just that I want to explore some “outer edges” to better understand complexity & speed trade-offs between µCs...
View ArticleComposite video from FPGA
Last week’s setup was just for warm-up – I wanted to understand the signal generation before bringing it over to an FPGA. Here is the same signal, generated by the sameµC, but passing its data through...
View ArticleTying into SDRAM
Synchronous Dynamic RAM is perhaps the most common form of random access memory - it’s large (MBs, vs SRAM’s KBs), it’s fast (supporting 100 MHz and higher), and it’s low cost due to the widespread use...
View ArticleSo many memories
An EP4CE6 FPGA has 30 KB of built-in “Block RAM” memory. Fast, but limited in size. With SDRAM, you can have megabytes more, but it’s not quite as fast and harder to interface to, due to the periodic...
View ArticleA fast µC to FPGA bus
For reasons which will become clear later, I’d like to exchange data quickly between an STM32 µC and an FPGA. SPI is a serial bus, which can be pushed to several dozen Mbit/sec - but what if we want...
View ArticleBlu-Ray safety copies
Having been bitten by data loss occasionally during the past decades (several of them dumb “operator error”, I must admit), I’ve adjusted my backup strategy a few times.Since I live in an “all-Mac”...
View ArticleGetting started with STM32
ARM Cortex microcontrollers are incredibly powerful 32-bit computers - many not larger than the size of a fingernail, and able to sleep with just a few µA of current draw. There’s a whole bunch of...
View ArticleInteractive development
Most readers will be familiar with this view:Now that you’ve seen how to build software and run it on the Blue Pill in the traditional way, I am going to switch gears radically:Stop staring at that...
View ArticleThe upcoming JeeNode Zero
Lately, I’ve been keeping busy with a brand new board. It’s called the JeeNode Zero:Shown here is the “rev3” prototype, and it’s starting to shape up nicely. Sooo… without further ado, let me tell you...
View ArticleLet's have some fun with a JNZ
Since the JeeNode Zero adopts a new µC architecture, a new layout, a new runtime library, a new programming language, and new drivers, there’s a lot of work ahead to describe all the parts and how to...
View ArticleVarious shades of Forth
This week’s episode will cover a variety of aspects related to Mecrisp Forth:Using Linux i.s.o. a SerPlus - WedForth over USB on STM32F103 - ThuPerformance and I/O toggling - FriAs always, these posts...
View ArticleThe upcoming JNZ rev4
Now that the JeeNode Zero rev3 has been out for a few weeks, I’ve made a few more changes before it goes into production:I’m calling it “rev4” for now, but expect it to be virtually identical for the...
View Article