Friday, April 9, 2010

On the mathematics of assertions

Assertions are boolean functions and are sampled at regular time intervals. This currently is the known definition. Boolean algebra doesn't have any notion of continuity. There are only two logical states, which are true and false. Time is not a discrete quantity. It's a continuously increasing quantity. Digital circuits can be modeled as boolean functions. But the state of these functions cannot be determined with reference to a continuously varying quantity. Because in that case there is a violation of the algebraic properties of boolean functions. I don't have sufficient mathematics in place to prove this. The only way that seems reasonable is either to model time in terms of a boolean quantity or convert the resulting boolean function into a decimal function. The domain of comparison must be same. Its the same way that we cannot compare an integer with a complex number. The imaginary part adds additional attribute to it. For the time being there is a tendency to rely heavily on the accuracy of assertions for the functional correctness of a digital circuit. But aren't we missing something?

Saturday, April 3, 2010

Patents and intellectual property

Many of the technology companies in the American silicon valley have branches in the Indian silicon valley in Bangalore. Most of these companies keep on filing patents on a regular basis and keep on enriching their knowledge treasury. Most of these patents are technology related. What then are the areas where verification engineers can file patents? We can take our time and think about it. But a few things before us. Many of us work in the services/outsourcing models. We still are bound by our agreement with our employers that whatever work we would do, it would be the property of the employer. On one hand you work onsite running regressions and debugging failures, on the other hand if you by dint of your determination do something worthy of patents, it would go to the employer. Thats how it works. So why not think about independent consultancy. It offers more money, more freedom and satisfaction. The model is yet to establish itself here. Only a reputed few enjoy that option, but gradually it would work its way out.

I was curious about the concept of patents. So I did some googling. What I found was a patent is valid only in the country where it is filed and granted. So if you file a patent in India it would not be valid in U.S and vice-versa. Filing a patent in India is affordable. While if an Indian engineer (who is working in India) wants to file a patent in U.S, the fees are not affordable. I am not going into the specific details, but this is my general finding. Also I found that if your patent work is not related to your employer's primary business area, you might have it to yourself, of course after discussions with the relevant people in your company.

So we can start by filing patents in India atleast. Thereby enriching our country's intellectual property base. Business repercussions are a possibility. But thats something that would come as an effect. And maybe in a positive way. The room for innovation is very big. All we need to do it to start thinking. I am sure there are ample areas where our employers would not object to us owning the patents.
U.S is the land of opportunity and enterprise, nevertheless many of us have decided to stay back in India and enjoy the roadside tea, the informal socialising, the sambar, rasam, the idly and masala dosa. By the way is there a patent for masala dosa..?