Verilog Simulators and ctest

If you are someone with a software engineering background getting your hands dirty with hardware design, first thing you’d want to use – some kind of testing framework/runner for all the tests you write. If you are using myhdl you’ll already use all the stuff python offers for unit-testing.

But if you are using more conventional tools for a bigger project with a bunch of third-party libraries, chances are you are not happy with shitty bash/csh tools and instead of wasting the precious minutes of your life writing those you’d want to use something existing. After all, why reinvent the wheel?

In this post I will describe the troubles of integrating verilog simulators with existing test runners. Namely – ctest (that comes from cmake).

(more…)

MediaDeb: Debian For Mediatek Cellphones

In this small note I’ll tell you how to turn an old MediaTek SoC-based cellphone,(The one that’s probably gathering dust somewhere on your shelf, with no updates from vendor) into… a server running Debian Stretch! I’ve done this for UMI-X2 and iOcean X8 and you can download ready to flash firmware for these devices at the bottom of this post. Since a typical Chinese mtk cellphone now features 2GB or more RAM and 4 or more ARM cores the result packs way more performance than a typical Raspberry PI.

(more…)

The painfull verilog preprocessor pitfall

Just a little note about how includes and `defines work in verilog which is VERY different from how they behave in most programming languages. This may not really hurt in a small project, but can become a real PITA in a big project with a dozen of third-party blocks.

TL;DR: Macro defines are have a global scope in verilog and propagate from file to file during one tool invocation.

(more…)

An EasyCAP Box with V-Slot mount

Okay, I admit, adding a webcam to watch how your print is doing in nothing new, but since I plan on hooking 4 cameras, that might be considered novel. Anyway, in the earlier post I described the analog camera modules I’ve found in the attic and added a nice 3d-printed camera mount, in this post I will describe the other hardware part of my capture setup. But before the lengthy details – here goes a test capture from one of the cameras.

As you see the quality is not of the best and high temperature in the printing chamber contributes a lot to the noises from the camera matrix.

(more…)

Data Recovery: SD, ddrescue and Android

All things come to an end at some point, so do uSD cards. And they tend to do that just about the time you normally LEAST expect them to.
Anyways, at my country house, away from the noise of the big city I had a cheap cellphone tethering internets over an OpenVPN connection. The operator does not offer proper external IP service, so I have to run an OpenVPN connection to have access to surveillance.
I have a bunch of cams here and there, mostly watching after these guys:

The cellphone itself runs a rooted android and a debian chroot with OpenVPN off an SD card. The SD card died this weekend and at some point I realised that I don’t have a recent backup. It was no big deal, just a debian rootfs + a bunch of config files for OpenVPN, but since I spent a while then and now perfecting configs and tuning OpenVPN for performance over the celluar network those weren’t backed up. Ooops.

Anyways, this note talks about data recovery from such an SD card and the common pitfalls.

(more…)

Social networks integration test

It’s been a while since I’ve posted anything in my blog so many of you might’ve thought that I’ve abandoned it. Well, on the contrary, I decided to put a little more life in it, so I will be posting way more tech tips here. And, since apparently there’s no other way, I’ve set up social integration for this blog. For now – only twitter and vkontakte. This is basically a test post to see if everything works as expected.

Do not expect me to answer any friend request/private message/retweet whatsoever. If you really want to contact me – email is still the best option. Why? Because it took 5 minutes since registration on vk for first spammers to start doing their dirty work: .

(more…)