nextpnr error: timing analysis failed due to presence of combinatorial loops

When switching from ArchnePnR to NextPnR I started to get some weird errors when synthesizing my FPGA projects. The same project was synthesizing apparently fine in arachnePnR, but I guess NextPnR is more picky about some aspect. I guess it’s better anyway, so the more warnings and errors we can get and fix, the more I’ll learn and the better I hope the design would be.

Read More

Generic circuits diagramming tool

Generic circuits diagramming tool

I love to draw diagrams and create visual representations of what I do. I think it’s a great way to understand what you plan to do when designing a complex system, to document it for later, and show what you’ve done. Not only targetting others, but first of all for yourself.

Read More

Migrate your Dropbox folder from ZFS to an ext4 ZVOL

This month, Dropbox has dropped support for non-ext4 filesystems on Linux. On my Linux computer, my Dropbox folder was on a ZFS filesystem… If you want to keep Dropbox syncing, they force you to move back to Ext4… non-sense, but I didn’t find any other alternative. So what I did is create a ZVOL (volume), format it as Ext4 and move my Dropbox content to it.

Read More

From Google Assistant to MQTT

From Google Assistant to MQTT

Here I want to define a custom Google Assistant action, which will recognize a phrase with an argument, for example ok google, make me [a pizza], and send both the action (make) and the argument (a pizza) as a JSON object to an MQTT topic.

Read More

What is a Cellular Automaton?

What is a Cellular Automaton?

This is the first post of a series I am writing about designing and running Cellular Automatons in an FPGA. I’ll end up with several variants, from one lighting up LEDs to another one drawing on a VGA monitor. But first, what is a Cellular Automaton?

Read More