Who’s Writing All This Stuff???

Nir Dahan

Born 1974 in Tel Aviv, Israel – Married +4

BSC in Electrical Engineering – Technion – Israel Institute of Technology
MSC in Computational Engineering – FAU Erlangen-Nuernberg, Germany

Living currently in Munich, Germany.

Made my first design steps in 1998 at IBM research labs. Currently living and working in Munich, Germany as a principal engineer and a team leader for a digital design group.

Interests: Magic and Mentalism, Scientific Skepticism, Recreational Mathematics and Puzzles, Outdoors, Aikido, Chess.

People who influenced my thinking: My dad, Richard Feynman, Martin Gardner, James Randi, Juan Tamariz

email: n-i-r-d-a-h-a-n-@-y-a-h-o-o-.-c-o-m (remove hyphens)


  1. […] Please send me your solutions by email – can be found on the about me page. […]

  2. excellent postings…
    i enjoy a lot… i like your banner much!!!

    A similar technical postings can be found in the below mentioned portal dedicated to chip design engineers.

  3. I have the pleasure to include your blog as a must read on my blog. It would be great if you can reciprocate by linking back to my blog, which i think will mutually help us in reaching a wider audience with our information.

    Thanks for your understanding.

  4. Hi,
    Your initiative is really appreciating.I’m a beginner in this field and liked the way designing is explained without specific language details.
    Also, name of blog is cool…i’ve added this blog as my regular interest.

  5. Nice work put in an interesting manner..

  6. I must say that you do post very interesting design topics.
    I especially liked the find ” Cyclic Combinational Circuits” . Shall lookup some more about it!

  7. Thanks,
    it is not so easy to come up with interesting posts for a subject that might be considered dry sometimes…

  8. Excellent and very useful information. Appreciate your effort in putting things together.


  9. היי,

    אחלה בלוג תודה על כל “שעשועי מהנדסי חשמל” מקווה שכיף לך בגרמניה ולא קר מדי
    דרך אגב אתה מקום ראשון בגוגל כאשר מקלידים
    digital design question

  10. This question seems easy, but one needs to be cautious.
    How can one create a full-adder from half-adders.
    Do not use any extra gates like and, or, inverter etc.

  11. Nir,
    Great site! I handle PR for Jasper Design Automation (EDA, Formal Verification). Can you send me your contact information so I can add you to our mailing list please?

  12. hello nir,
    i was looking 4 the clear reasoning for numbering the kmap using gray codes…i have just finished my schooling…i enjoyed this & it satisfied my question …
    thank u

  13. Hi Nir,

    I am n want of solution for the problem
    where we havt find the number of ones in an 8 bit
    seqence can you please let me know the solution for it.I could solve it with like 28 gates.


  14. Hi Nir,

    Thanks for such a great contribution to asic design ..


  15. Nice!

  16. In simple Asynchronous fifo , writing using clk1 & reading using clk2 , now i m trying to implement the Full & Empty Status flag for that i
    ==> Set the Direction Signal to High when Write_address( or Write_pointer ) is less than Read_address( or Read_pointer ) &&
    i.e. ( Write_pointer > Read_pointer ) then Direction = 1;

    Reset the Direction Signal to Low when Write_address( or Write_pointer ) is greater than Read_address( or Read_pointer )
    i.e. ( Write_pointer < Read_pointer ) then Direction = 0;

    Case 1: ( Full Flag )
    I assert status Full flag When Direction Signal is Set to High && ( Write_pointer == Read_pointer ).,
    i.e. ( Direction == 1 && ( Write_pointer == Read_pointer ) ) then Full = 1;

    if not i deassert status Full flag to Zero (Low).

    Case 2: ( Empty Flag )
    I assert status Empty flag When Direction Signal is Set to Low && ( Write_pointer == Read_pointer ).,
    i.e. ( Direction == 0 && ( Write_pointer == Read_pointer ) ) then Empty = 1;

    if not i deassert status Empty flag to Zero (Low).

    Here I have Problem when Comparing Write_pointer && Read_pointer to assert Empty or Full
    i.e. ( Write_pointer == Read_pointer )

    because here the two Pointers are from Two differernt clk domains so i need to do double synchronization for anyone of the Pointer for synchronization with respect to the other clk domain .

    During Comparision of Pointers now i can compare only Write_pointer with two clk delay Read_pointer because of Double synchronization of Read_pointer.
    i.e. ( Write_pointer == two_clk_delay_Read_pointer )

    if i compare like above equation means i am having the problem of missing the exact ( Write_pointer == Read_pointer ) condition ……….
    but i want to compare the exact ( Write_pointer == Read_pointer ) .

    So Plz givre me solutions regarding or if you are following any buffer mangement techniques kindly discuss.

    thank you for your time.

  17. Hi Nir,
    Your posts are fantasticand deserve great appreciation.
    Keep the posts coming…

  18. Great Site Nir, Excellent material explained with easy to understand language !

  19. Hey Nir

    I am trying to find all kinds of examples for coding and implantation for better timing .

    I did find some great examples in your site , but I wandered if you know any more sites that I can find similar techniques/examples .

    My e-mail is :


  20. Hi Nir;
    here is my weblog on “Hacking Cisco hardware interview”
    I am enjoying ur weblog. Let’s be more in touch
    Alan from Montreal

  21. I think the admin of this website is truly working hard for his site,
    since here every stuff is quality based data.

  22. I know this web site offers quality dependent posts and extra data, is there any other
    website which presents these stuff in quality?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

<span>%d</span> bloggers like this: