DAtum

EDA, Software and Business of technology
Greek, 'loxos: slanting. To displace or remove from its proper place
da·tums A point, line, or surface used as a reference


                        ... disruption results in new equilibria


[Timinganalysis] Negative setup and hold

12/31/2004
A negative setup and hold condition is a very confusing proposition in static timing analysis. Support for this type of conditions was added in the Verilog LRM, only in the late 90's (using the $SETUP and $HOLD constructs).
The basic idea is something like this:
Consider a module with an ideal flop in it. Now, there exists a data path (from primary inputs of module to D of flop) and a clock path (from primary inputs to CLK of flop). Suppose the data path delay is DD and clock path delay is 0 . Therefore, if we consider the clock pulse reaching at the primary input of the module as the reference time, the clock pulse will reach CLK pin (of flop) at 0. The data pulse will reach D pin at DD. Therefore, for setup check to be met, the data pulse must reach the primary inputs of the module, at -D, which means the setup requirement is D.
Now consider a clock path delay of CD. This means that the clock pulse now reaches the flop, only after time CD. This means, the data pulse need not begin so early, and rather it has to begin at -DD+CD time(just right shifting the pulse by CD time). This means the setup requirement is now DD-CD. In this case, if CD>DD, then the setup requirement becomes negative, which means, the data pulse can reach the primary input of the module after the clock pulse has reached there.

Similarly for hold: Consider that the data delay is 0 and the clock delay is CD. Now, the data must not change for atleast CD time, for the flop to be able to latch it. Therefore, the hold requirement is CD. Now, consider a data delay of DD. This means that, now the data need not change only for CD -DD. This is the new hold requirement. If DD>CD, then hold requirement is negative.

If we analyse these results mathematically, we can see that setup relation + hold relation =0. Physically, this implies that an infinitesimally short pulse (a delta pulse) can be captured; which is of course not possible. A more accurate model would be:setup_val<DD-CD (for setup to be met, the time at which data begins should be atleast DD-CD before 0)
hold_val <
CD-DD (for hold to be met, the time for which the data should be stable should always be greater than the hold_val)

Now, the model we described, regarding the module with an ideal flop, is actually a real world flop. In an actual flop, there are more than one data paths and 8 clock paths. Therefore the more accurate description would be: DDmax-CDmin >= setup_val (for setup to be met)
CDmax-DDmin >= hold_val
(for hold to be met)


These kind of relationships, especially the ones, where a negative relations can hold cause problems in simulators. Take for example a data pulse, which rises at 0.0 and falls at 2.0. Now the clock pulse rises at 3.0 . Lets say data delay is 1.0
Assume the origin at the clock pulse (3.0) . Therefore data rise is at -3.0, fall is at -2.0 .
The setup relationship may be specified as 2.0, which means data should be present at 0.0-2.0=-2.0 . Now data will arrive at -3.0+DD-CD=-3.0+1.0+0.0=-2.0 (setup OK)
The hold relationship may be specified as -1.0, which means data must not change till 0.0+(-1.0)=-1.0. Now, according to our relationship, data will not change till 0.0+CD-DD=0.0-1.0=-1.0.
All looks hunky dory...but...
There is no problem with the timing checks, however in software, the simulator would capture the falling 2.0 edge rather than the high edge. So the simulator will get the functionally incorrect results, though timing accurate. If both setup and hold relationships were positive, then this would never have happened. So now what ?
Very simple actually, instead of taking an ideal clock, the simulator takes a delayed clock. Therefore all calculations are done wrt this delayed clock (in the above example clock is delayed -1 wr.t data), so the simulator will not latch the falling edge.
whew...
del.icio.us Tags:

Read more!

|

[Business] (dark?) Angels of Business

12/30/2004
To all the victims of the tsunami.. may your souls be at rest.


Inc.com has a story about angel investing, and how this landscape has changed. In an earlier post, I wrote about VC's and how their expectation horizon has changed (maybe I was off the mark a bit - but Ed Sim actually commented back!! Thanks Ed..). The fact remains that VC's and angels alike are pushing for faster exits. The company in which I work currently (in the EDA industry), is a small company of 100 employees. We are still taking investments from VC's, but I sense a vibe of edginess as people anticipate sell-off conspiracies.

For example, the Inc.com story talks about a second time entrepreneur who is being pressured to exit in 5 years. So what does it say for a guy who wants to build a sustainable enterprise? In my country, all the biggest industrial houses (with revenues of almost a billion) - Infosys, Reliance, Bharti - were built from scratch. However, they were not sold off to, say SAP, Exxon-Mobil, Vodafone respectively. I guess its because of the inertia in our culture, and not in a bad way.

I think that is one of the biggest deterrent that international investors find in India. There is a lesser chance of scoring a hit-and-run here than it is in, say China. I belong to the generation that has seen India transition from a mostly hand-to-mouth economy to the world's fourth largest. I believe this has taught me, atleast, to focus on sustainable enterprise, rather than make a fast buck. Bu most importantly, my field does not let me have a "positive cash flow in 12-18 months".

Does that mean that I have no chance of getting angel investors? I think so. which is why it becomes important to find rich and smart friends. ( note to self: Ph.D. or MBA ???)
I think industries which are more rigorous tech rather than nice customer-centric toys (forgive me flickr), will just see a handful of angels (hence the rich friends)
del.icio.us Tags:

Read more!

|

[Personal,Software,Design] Bell Labs India

12/23/2004
Red Herring reports that Bell Labs has opened its latest research centre in Bangalore. I have been a personal fan of Bell Lab projects, especially the work they do in topology. I know vaguely that a lot of the algorithms of discovering nodes in a network were developed at Bell.

One of their sample projects - Mediation adaptor generation tools - looks interesting.
I wonder if they are using any shell-based interface; most projects which do automatic generation of code, rtl, specification, etc. fail in the hands of the user because they are too cryptic to use.
Suppose, this input specification had to be given in UML format and then the software runs and spews out some cryptic output. Of what user is it to me as a user none.

The basic problem with most software is that it either gives too much information all at once and that user cannot do anything interactively. These are the two things that I learnt working with my present employer.
Workarounds:
  • Too much info: The tool must give messages in a kind of keyword-mapped message. For example , instead of saying "Node 123 mapping complete", it must say "[NodeProtocol-23] Node 123 mapping complete".This way, the user has to just remember that he saw a keyword : NodeProtocol-23: and can look it up, grep for it, save it in a named file.
  • Too long info: The screen message should only be 2 lines long. The rest of it should be looked up in a long-help documentation. The user is smarter than you think
  • Interactivity: suppose, I remove Node 123, what happens now.Do I have to restart the session, or can I do it without closing the session ? That becomes very important. Use a shell-based tool (like most CAD tools). I prefer Python, TCL is good as well.
Here's three cheers to brain-gain!!
del.icio.us Tags:

Read more!

|

[Python] Disassemble code, lambdas

Here's two nice python features:
  • Lambda's are unnamed pseudo-functions, which are a functional programming tool
normal functions
def f (x): return x**2

Lambdas
f = lambda x: x**2

Usage(for both)
print g(8)

  • To disassemble python code and see their bytecode (python can also precompile your code ...somewhat like java)
>>import dis
>>dis.dis(f)
0 LOAD_CONST 1 (1)
3 LOAD_CONST 2 (2)
6 BINARY_ADD
7 RETURN_VALUE

>>dis.dis(g)
0 LOAD_CONST 1 (1)
3 LOAD_CONST 2 (2)
6 BINARY_ADD
7 RETURN_VALUE

del.icio.us Tags:

Read more!

|

[Business] ROI multiple for startups

Ed Sim in his latest post about venture investing, writes about the average valuations of startups. The original source of his data - National Venture Capital Association has very interesting data about venture-backed mergers and acquisitions for Q3'04 . As compared to pre-bubble 1999, when average size of disclosed deal values was close to USD 231 million, the same parameter was USD 91 million for year ending Q3'04 .

In an earlier post, Ed Sim says that software companies need an average of USD 50 mn to create meaningful value and ripe for exit. At current exit valuations, that is an ROI multiple of 2.
I think that Ed needs to come to terms with the fact that ROI multiples of >4 will only be possibly in Fast Growing Developing Economies (FGDE). For example according to this presentation[ppt] of the Indian Venture Capital Association, average investment in an Indian startup amounted to approximately USD 18 mn. This year, IPO's of companies like TCS touched a high of USD 1.2 bn. The Indian IT market grew by 30 % in FY 2004 [source:Equitymaster], while China grew 45 %[source: China Daily].

If VC's expect a ROI anywhere close to the pre-bubble figures, then they should look up the next flights to Beijing or New Delhi.

del.icio.us Tags:

Read more!

|

[Business] ESOP expensing for corporates

12/22/2004
On Dec. 16, the US Govt. Financial Accounting Standards Board passed into law, a resolution that requires all corporate entity's to start expensing stock options, beginning mid-2005. This resolution applies to all corporate entities, with startups and private companies being given an extended deadline.
My favorite software Guru - Joel Spolsky, explains why expensing stock options is a good thing. In short, it boils down to this:
A company may choose to pay compensation in form of cash. Suppose this cuts liquid cash reserves by half. This means, the company's stock value is cut down by half. Now, instead of doing this, imagine the company doubling its stock (to distributing it among employees), this would halve the stock by half anyway.

However, now the company has cash on hand- cash which it can show in its annual report and claim as profit. Joel makes the case that companies should expense one million dollars. But I do not think it is accurate.
My argument consists of three points:
  • Suppose my current share is worth Rs. 1 this year and I issue one option at Rs.1 .What is my expense: 0
Now, next year if my share price rises to Rs.2, my expense is Rs.1. If however, my share price falls to 0.75, then my expense is still 0. So expensing stock options at issue, does not seem to be very effective.
  • Cash in hand is always better.
There must be some discount, on the basis of existing Reserve Bank interest rates, on the value of cash in hand. This is the least that you can do, since cash can always be re-invested, fuel growth and insulate against downturns. Your stock is worth zilch, if a startup had no cash to pay its ISP's after the first year.
  • The expense estimate calculation is not accurate
I'm sure this is an oft repeated concern. The Black-Scholes method for expensing options, is only directly applicable to negotiable instruments, with short vesting periods. ESOP's are not negotiable and have a gestation period of several years. The method has to have an added discount related to the strike-price of the stock and the vesting period.
del.icio.us Tags:

Read more!

|

Last mile broadband through Stratellites

12/18/2004
The latest update on the Globetel saga of providing last mile broadband access shows wireframe models of their stratellite. This being my favorite for the best bet for providing last mile access in untapped markets. This has the advantage of not having a capital heavy and more importantly, time consuming investment, in laying out underground cables.
The problem with conventional satellites is the impossibility of maintaining two-way communications through home antenna units. A stratellite, which orbits at around 10 miles, would be optimal for this purpose.
If we think about this concept in an emerging market like India, there are multiple problems that could surface:
  • In a place like Delhi, which are quite close to mountains, how do you stabilise the airship.
  • Would it be tethered or free-flying? I prefer the free-flying model, because it has all the advantages of the tethered variety with none of drawbacks (hold the line!!). I suppose it would have to carry onboard spare tanks of helium to account for the leakage.
  • How do I ever, in the name of all that is good, ever get on board to refuel/maintenance? I suppose I would have to use another blimp. But that does'nt give me reponse time of ~1 hour, which is what I would have to have to hook the big fish - corporate customers.
However, its all about execution. Execute , then improve.



Read more!

|

iPhone??

Russel Beattie hypothesises about the next Jobs' job- the iPhone . Personally, I feel that this may be a huge opportunity for small companies like Pixo( who made the OS for the iPod). Paul Mercer, the man behind Pixo has another startup called IVentor (not sure about the CamelCase!) . Their pitch is to make Java software for ... mobile phones.
I wont be surprised if he is already working for an OS for the iPhone.

Read more!

|

Friction-less business

12/17/2004
Steve Brotman's post on removing friction as a viable business model was an eye-opener. But is removing human beings from the workplace, the general idea behind removing friction. I believe not.
See where Google is concerned and to a large extent Ebay (but not Amazon), is that there is almost no customer service. The biggest problem with customer service is ... service . To remove the human aspect from operations like this, lead to increased friction - in terms of goodwill.

Remove friction, insofar as customer experience is concerned - not at the cost of it.


del.icio.us Tags:

Read more!

|

Power of pricing

My favorite software guru - Joel Spolsky dedicates his latest post on educating us mere mortals about how to..or rather how not to set a price to your software.

Maybe I should go through the terribly complex, but absolutely brilliant pricing-bible by Nagle.
del.icio.us Tags:

Read more!

|

NVidia's world domination

One of the most intriguing, and exciting posts I read was a 2002 Wired magazine story about nVidia CEO -Jen Hsun Huang- planning to make nVidia , a contender for Intel's pie.
This year, NVidia has been on a roll, since its 6800 core GPU's outperformed ATI's x800 cores in Doom3 benchmarks (ATI does perform better on Half-Life, but that is due to ATI's 24 bit shaders which are used heavily by HL2 compared to nVidia's 8,16,32 bit shaders).

Today's story in EETimes adds a small footnote to those plans. However, with news of nVidia's cross-licencing pact with Intel, I wonder if it is hedging its bets.

Read more!

|