rss search

next page next page close

Typical ASIC Workflow

Recently I was tasked to recode a very small piece of hardware with some changes that will potentially optimize its present state. What seemed like a pretty easy and straightforward task turned out to be a nightmare for two days. Since it wasn’t critical I was hellbent on doing it all myself without asking anyone for help. Although it was a very small hardware unit, it involved the complete ASIC flow, almost.

I started by looking at the current operations performed by the module and made a simplistic block diagram of what is going on within it. The task was basically to reduce the area of and make it work at some new frequency i.e. the operation was required to be performed in certain nanoseconds. So, I wrote the code again from scratch with the changes in mind to improve its performance and then it was time to test it. Usually writing code is the easy part of ASIC design if you know what to do. But will it get done as you want it is a different game altogether. (more…)


next page next page close

Joys of being an ASIC Designer

After spending hours and hours of deciphering a set of specs written by someone else you start writing code for hardware that will perform a certain set of operations. Usually the specs contain inputs and outputs and a lot of details of how things should be processed in between. Translating the pseudo-code in hardware is not an easy task. Usually something is missing in that doc.

Anyway, you code and code, and keep looking at the number of lines of code you’ve reached while adding those shitty comments which not even you can understand after an hour. Then goes an attempt to compile the code and obviously when there are hundreds of lines of hardware code it can’t compile in the first attempt. It shouldn’t. Then pops up a list of errors which in many cases is not that helpful to sort out the problems. Code finally compiles after fixing those bugs. Time for a celebratory break. Coffee?

Quickly write a test environment (testbench) to make sure the output of your hardware is correct. Trust me, it won’t be. You’ll be lucky if you’re getting an output. If and when you do get an output signal, it obviously won’t be correct because you missed something small in your hardware. Good thing that these days you can code a hardware and simulate it. It can take hours (or days) to find those issues and finally come up with the correct output after testing for all corner cases. This is one of the moments you’d want to savour being an ASIC designer. It doesn’t come very often. Go ahead and celebrate because tough times lie ahead.

To be continued…


next page next page close

Programming is like Sex because…

Sex is usually considered the most enjoyable practice on earth, programming comes in a close second or maybe shares the same spot with sex.

Here are some of the similarities between the two practices that I’m copying from different sources on Internet. One or two may be my own here, while you can add your analogy in the comments.

Programming is like sex because:

  • Once you get started, you’ll only stop because you’re exhausted.
  • It often takes another experienced person to really appreciate what you’re doing.
  • You can do it for money or for fun.
  • One little thing going wrong can ruin everything.
  • Beginners do a lot of clumsy fumbling about.
  • Both are better at night. *
  • You’ll miss it if it’s been a while.
  • Everyone who’s done it pokes fun at those who haven’t.
  • Some people are just naturally good.
  • It doesn’t make any sense at all if you try to explain it in strictly clinical terms.
  • It’s not really an appropriate topic for dinner conversation.

*My own analogy. Others are copied from various sources that I didn’t bother to quote.


next page next page close

One-Click AND Drag-and-Drop Attachments in Gmail!

Attaching files using the web-mail interface can be, and surely is, a painful task especially if you have an obsession of keeping files in deep multiple levels of hierarchy. The most arduous part is extracting the file from that tenth level deep folder while browsing and selecting file to upload. It is especially redundant when that particular folder is already open in your Windows Explorer with the file starting in your face, but you can’t attach by clicking on the file.

As a user of Gmail, one should believe with conviction that there exists all sorts of add-ons to grease the skids and make our lives as easy as possible. With that in mind, I googled the web looking for some sort of software using which I could just right click on the desired file to be attached and the rest be taken care of. I easily found gAttach! which did everything I was yearning for except that it didn’t work for me. (Do let me know if it works for someone) [Update] gAttach! works wonders!! The developer of this gem, Chris, was kind enough to work with me to pinpoint my problem which was resolved after I cleaned up my registry!

So the quest continued. As with any problem, there are always two solutions: the simple and neat straightforward one, and the workaround.

It is this workaround (I’d rather call it improvisation) that I present here to do exactly the same thing – attach files in Gmail with a right-click file option. (more…)


next page next page close

My First WordPress Plugin! [Comment Replacement]

Last night someone posted a profane comment and I was forced to replace that comment with a warning that the comment has been removed for so and so reasons.

A friend (Awais Karim) then commented asking whether I modified that original comment or was it a feature of the blog? With an empty stomach and a lot of time for Iftar, an idea of automating this process with the help of a WP plugin rushed through my mind. And believe me, without knowing much of PHP, I actually DID manage to create this plugin (within fifteen minutes) which I am proud to announce :D

So what does the plugin do? An array of unwanted words is maintained in a list. If the comment contains any of those words, the WHOLE comment is replaced by text of the webmaster’s choice.

For example, the list contains the following words: shit, sex, bitch

Someone comments: shoaib akhtar is a son of a bitch

Comment that appears on site: Shut Up!!

It’s not very intelligent, but hey I made it myself!!! A very useful video tutorial of making your own plugins is here.

I will put it up tonight (after eating something!!) together with a guide of how to use it.

BTW, I don’t know if such plugin is already available. Also, I haven’t named it yet [abhi abhi paida hua hai] so all suggestions are welcome!


next page next page close

Set Firefox 3 to Launch Gmail for mailto Links

How many times have you cursed Outlook for opening up when you click on an e-mail address linked on a website? In fact, I began to wonder if those mailto links were of any use if someone doesn’t use an e-mail client like Outlook or Thunderbird??

But the problem is solved now! Clicking on those mailto’s will open up your Gmail with the intended address in the To field in your Firefox 3.

Here is the step-by-step guide of how to do it:

1) Enter about:config in the address bar and hit the enter key. Scroll down to find gecko.handlerService.allowRegisterFromDifferentHost and double click on it to set it to true.

2) Enter the following in your address bar:

javascript:navigator.registerProtocolHandler(‘mailto’,'https://mail.google.com/mail/?extsrc=mailto&url=%s’,'Gmail’);

You will now be prompted to add Gmail as an application to mailto links, which you should add by clicking the button.

3) Now go to Tools->Options->Applications. Scroll down to find mailto and using the dropdown list select Use Gmail and hit OK.

4) That’s it, now repeat step 1 to set gecko.handlerService.allowRegisterFromDifferentHost back to false.


next page

Typical ASIC Workflow

Recently I was tasked to recode a very small piece of hardware with some changes that...
article post

Joys of being an ASIC Designer

After spending hours and hours of deciphering a set of specs written by someone else you...
article post

Programming is like Sex because…

Sex is usually considered the most enjoyable practice on earth, programming comes in a...
article post

One-Click AND Drag-and-Drop Attachments in Gmail!

Attaching files using the web-mail interface can be, and surely is, a painful task...
article post

My First WordPress Plugin! [Comment Replacement]

Last night someone posted a profane comment and I was forced to replace that comment with...
article post

Set Firefox 3 to Launch Gmail for mailto Links

How many times have you cursed Outlook for opening up when you click on an e-mail address...
article post