Tech Blog

All technical-related stuff.

Verilog FIFO

Simple FIFO with some absolutely basic test bench. You may use iverilog and
gtkwave to simulate it. All files including makefile are on the bottom of this

Code for FIFO does is pretty dense and does not explicitly show combinatorial
logic. Code could be broken down into two pieces: - combinatorial logic with
registers such as ptr_next, ptr, etc and separate state machine that loads
vaues of "next" registers.

module fifo
  (input wire clk,
   input wire reset,
   input wire [23:0] w_data,
   input wire wr,
   input wire rd,


ADCs and DACs are main features of ADuC7000 series microcontrollers. Converters in those are 12-bit. DACs are very easy to handle therefore they are described first on this page. In ADuC microcontrollers there may be 2, 3 or 4 12-bit DACs with integrated Rail-To-Rail buffer and with 2.5V reference source.

It is possible to use on of 3 reference voltage sources:

  • DACREF - (internal reference source)
  • VREF - (2.5V internal reference source)
  • AVDD - analog power suppy - geosocial network

A geosocial network - - has a new video on its main page.
Basically it is a website that is created to find neighbors having same hobbies
such as sports but not necessarily. It uses Google Maps engine and it facilitates
its own proprietary engine.

When you type a "geosocial networks" into google - you will find plenty of
posts especially from in between 2009 - mid 2011. It suggests that geosocial

AduC7000 GPIO

There are five 8-pin GPIO blocks on microcontrollers ADuC7019/AduC7020/AduC7021/
AduC7022/AduC7024/AduC7025/AduC7026/AduC7027/AduC7028. This gives a total of
40 GPIO pins (depending on an IC package - some of pins may not be available).
Pins are 5V tolerant (in GPIO mode). Functions are ilustrated in following table.
Note: some of GPIO lines have no external connection to pin.

Pin Function

Python: accessing DLLs from Python (2)


This is short example on how to access object using "boxed" class:

Let say in our somelib.dll .NET library we have:

- class NewClass but without any known callable constructor

- function: int someFunction(out: NewClass)
- above function is supposed to return newly created object NewClass.

import clr
import System
from System.Collections import *
import somelib
return_int = 0
justNewClass = System.Array.CreateInstance(somelib.NewClass, 1)

You may know what you are doing; but Microsoft knows it better...

Even if you are genius and you know exactly what you should do - Microsoft
knows that better for you. This is the reason why programmers don't like
Microsoft. You cant send over email .vb file because it will be permanently
blocked in a way you have either to dig system registers or to manually
extract content of .eml.

There is even no option of allowing disabled files even for advanced users....
Remember: you are dumb! and you shouldn't do that; no matter who you really are.

Social media and Google+

Some time ago I found in PC world an article about Google+. I wanted
to comment on this, but didn't have much time before Christmas. It was
about Google+ and its risky Big Bet.

I tried to find my good friends, but none of them really on G+

Is Google's Big Bet on Google+ Too Risky?

Cloud computing, MapReduce and Hadoop [links]

Cloud computing - types of cloused and etc. are on this page:
Page describes concepts, etc... cloud computing types and also details about
particular models and solutions ; lists vendors (at this time was Adobe, Amazon,
AT&T Synaptic, GoGrid, Google, IBM, Microsoft, Rackspace, SalesForce, Zoho)
and of course an idea going behind.

MapReduce & Hadoop

MapReduce, an original concept from Google (2004);
idea of handling huge datasets using a large number of computers;
Two steps:

What to expect in 2012?

Newspapers and news pages predicts pretty positive new 2012 year.
Media mentions a lot about next generation mobile phone networks
and negotiation of spectrum for 4G LTE networks.

It looks like there is some optimism for a next 2012. However I don't think
about any serious growth before March.

OpenCV: video grabber for linux

I spent some time trying to find out what I can use with Video for Linux
and with OpenCV. A couple of years ago the most popular for video-grabbers
were cards based on BT848, BT878 and similar.

As technology goes forward - there is more and more cards using totally
different chipsets, so it took me a while to figure out which one to buy
and live happy with grabber without any problems.

  • Open CV support
    First check what is on the OpenCV supported I believe (and I hope) it
    should have be really not important as normally Video grabbing should
Syndicate content