Monday, October 3, 2011

Networking Traps to Avoid


  • The biased leader. Don't solely rely on advisers who are similar to you. They only reinforce your biases. Look for people who have different backgrounds or values and will encourage you to make more informed decisions.
  • The superficial networker. A common networking mistake is to engage in surface-level interaction with as many people as possible. A bigger network is not a better one. Be sure your relationships have depth.
  • The chameleon. Don't change your interests, values, and personality to match those of whomever you're talking to. You'll end up more disconnected than when you started. Be true to who you are.

Wednesday, September 21, 2011

Everything we build should perish back into nature

If we want to live in harmony with nature. We should build and use things which lives in harmony with nature and can go back to nature as well.

Tuesday, September 20, 2011

Corruption is a good thing for General category people in India


This blog only represents my thoughts and my opinions on what is the main issue in India and then analysis on why corruption in India is the only hope for General category people in India.
I am sure people would like to argue on what I am trying to write. If you do not agree with my opinion it is perfectly fine and I would really appreciate if you do not email me on your opinion.

Furthermore the objective of the blog is also not to give an opinion if corruption is good/ bad. Corruption is bad, but for whom and which people will be the most affected is the main issue.

Corruption is a form of unofficial reservation available to people in India who can want to work hard and understand the value of it.
A short story about what happened in my real life.
There were 2 friends in college both happy just getting the minimum grades. Both do struggle. But after higher secondary school person A gets enrolled in the top medical school and the second person gets enrolled in graduate school. Though all people would like to get enrolled in a top school and if it is without working hard it is far better too.
Both people are busy in their daily life and are not in touch for a while.
One fine day person B has health issue's and he gets enrolled and then he gets surprised seing person A after many years. But moreover surprised because his friend in school is the doctor's assistance.
First reaction "What the heck" is it that easy to get into top medical school.

Till that day there was no clue whatsoever if the friend had extra benefit's given by the government. Don't you think it is true that reservation is the only criteria which discriminates people.
If government gives an opportunity in terms of reservation to people to grow in life and get further education. I suppose government also should keep doors open for non reservation people who want to grow in life an option to pay for the opportunity.





Thursday, July 14, 2011

Xilinx Integration: No ModelSim GUI appears when simulation called from ISE Project Navagator


Need to change a TCL script. On the machine its

C:\Tools\Xilinx\13.2\ISE_DS\ISE\data\projnav\scripts\dpm_modelsimTasks.tcl

on line 77 there is this if statement

          if { [dpm_flowsTestBatchEnv] } {

            set sBatchSwitch "-c"

          } else {

            set sBatchSwitch ""

          }

Add the -gui switch to the else condition so the statement reads

          if { [dpm_flowsTestBatchEnv] } {

            set sBatchSwitch "-c"

          } else {

            set sBatchSwitch "-gui"

         }

Thursday, July 7, 2011

What is an X in digital design?

An X implies that a signal value is unknown (cannot be positively determined) and can be either one or zero. Unknown signal states are common while debugging simulation results and typically signify uninitialized signals or signals driven by more than one driver. In post layout simulations, they can also indicate a timing violation.

On the board / In reality there is nothing implies to 'X' but what it implies is that the result is not known/ cannot be predicted. The situation which we do not like to be in

Monday, June 20, 2011

Simplicity is the key

http://www.telegraph.co.uk/sport/tennis/wimbledon/8585244/Wimbledon-2011-strokes-of-genius-behind-Rafael-Nadal.html

Monday, April 18, 2011

DNA sequencing

This project is a bit of a departure from my previous work in that, *gasp*, it might actually be somewhat useful. What’s DNA, you ask? The sourcecode of life =)

Now, let’s say we happen to wander across  a DNA sequence one day. “Hey there, Mr. ACTTTCGACA! What are you used for?” A DNA sequence by itself isn’t very useful, but what if we could find similar sequences in other animals (or even other places in our own genome!)? Maybe we could get clues to its function. Or maybe even figure out which DNA sequences might have evolved from other  sequences (Go Darwin!). This sounds like a job for . . . COMPUTATIONAL GENOMICS!!!

For the last decade or so, scientists have been sequencing the DNA of everything they can get their hands on. Proteins, chromosomes, even the entire human genome! There are huge databases full of A’s, G’s, C’s and T’s out there, just waiting to be searched. The common way of searching is to take our “query” sequence, and figure out where it lines up best with every other sequence in the database. Most of these will be junk, but every once in a while we might find an almost-identical gem of a sequence hidden in somewhere in the database. These matches can give us clues to both its role and possibly its evolutionary history. One problem, though - for the most accurate search methods, these searches can be *slow.* Really slow. For those computer scientists out there, we’re talkin’ O(n^2) slow.

Friday, March 18, 2011

FPGA: Chip scope implementing link

http://elecrom.wordpress.com/2010/03/24/xilinx-chipscope-tutorial/

Read a Text file in VHDL

-- VHDL Packages required  for textio to be inputed
use ieee.std_logic_textio.all;
use std.textio.all; -- Reading and writing from/ to a file
 
--Taking input from any  Text file
  read_file:
    process    -- read file_io.in (one time at start of simulation)
      file my_input : TEXT open READ_MODE is "C:\Flur_board\hdl\out1.txt";
      variable my_line : LINE;
      variable data_from_file : integer range 0 to 1000;
      --variable code_v : integer range 0 to 63;
     
      --variable data_from_file : LINE;
      --variable my_line : std_logic_vector(RAW_DATA-1 downto 0);
      variable my_input_line : LINE;
    begin
      write(my_line, string'("reading file"));
      writeline(output, my_line);
      loop
        wait until rising_edge(clk);
        exit when endfile(my_input);
    if (simulation_start = '1') then 
        readline(my_input, my_input_line);
    read(my_input_line,data_from_file);

    file_output <= conv_std_logic_vector(data_from_file,1001) ;
        -- process input, possibly set up signals or arrays
        writeline(output, my_input_line);  -- optional, write to std out
    end if;
      end loop;
      wait; -- one shot at time zero,
    end process read_file;
-----------------------------------------

Friday, March 4, 2011

Use of Generic in VHDL

Syntax in vhdl

--multiple generic used in module
entity math_calc is
    generic( GPIO_DATA              : integer := 64;
                 RAW_DATA              : integer := 32;  
                 CHANNEL_DATA    : integer := 13
       );
Note: In case we need to modify the generic from the top do see syntax for generic map.

Tuesday, March 1, 2011

Algorithms for calculating variance

Algorithms for calculating variance play a major role in statistical computing. A key problem in the design of good algorithms for this problem is that formulas for the variance may involve sums of squares, which can lead to numerical instability as well as to arithmetic overflow when dealing with large values.

Contents


I. Naïve algorithm

The formula for calculating the variance of an entire population of size n is:
The formula for calculating an unbiased estimate of the population variance from a finite sample of n observations is:
Therefore a naive algorithm to calculate the estimated variance is given by the following pseudocode:
n = 0
sum = 0
sum_sqr = 0

foreach x in data:
n = n + 1
sum = sum + x
sum_sqr = sum_sqr + x*x
end for

mean = sum/n
variance = (sum_sqr - sum*mean)/(n - 1)
This algorithm can easily be adapted to compute the variance of a finite population: simply divide by n instead of n − 1 on the last line.
Because sum_sqr and sum * mean can be very similar numbers, the precision of the result can be much less than the inherent precision of the floating-point arithmetic used to perform the computation. This is particularly bad if the variance is small relative to the sum of the numbers.

II. Two-pass algorithm

An alternate approach, using a different formula for the variance, is given by the following pseudocode:
n = 0
sum1 = 0
foreach x in data:
n = n + 1
sum1 = sum1 + x
end for
mean = sum1/n

sum2 = 0
foreach x in data:
sum2 = sum2 + (x - mean)^2
end for
variance = sum2/(n - 1)
This algorithm is often more numerically reliable than the naïve algorithm I for large sets of data, although it can be worse if much of the data is very close to but not precisely equal to the mean and some are quite far away from it.
The results of both of these simple algorithms (I and II) can depend inordinately on the ordering of the data and can give poor results for very large data sets due to repeated roundoff error in the accumulation of the sums. Techniques such as compensated summation can be used to combat this error to a degree.

IIa. Compensated variant

The compensated-summation version of the algorithm above reads:
n = 0
sum1 = 0
foreach x in data:
n = n + 1
sum1 = sum1 + x
end for
mean = sum1/n

sum2 = 0
sumc = 0
foreach x in data:
sum2 = sum2 + (x - mean)^2
sumc = sumc + (x - mean)
end for
variance = (sum2 - sumc^2/n)/(n - 1)

III. On-line algorithm

It is often useful to be able to compute the variance in a single pass, inspecting each value xi only once; for example, when the data are being collected without enough storage to keep all the values, or when costs of memory access dominate those of computation. For such an online algorithm, a recurrence relation is required between quantities from which the required statistics can be calculated in a numerically stable fashion.
The following formulas can be used to update the mean and (estimated) variance of the sequence, for an additional element xnew. Here, m denotes the estimate of the population mean(using the sample mean), s2n-1 the estimate of the population variance, s2n the estimate of the sample variance, and n the number of elements in the sequence before the addition.
It turns out that a more suitable quantity for updating is the sum of squares of differences from the (current) mean, , here denoted M2:
A numerically stable algorithm is given below. It also computes the mean. This algorithm is due to Knuth,[1] who cites Welford.[2]
n = 0
mean = 0
M2 = 0

foreach x in data:
n = n + 1
delta = x - mean
mean = mean + delta/n
M2 = M2 + delta*(x - mean)      // This expression uses the new value of mean
end for

variance_n = M2/n
variance = M2/(n - 1)
This algorithm is much less prone to loss of precision due to massive cancellation, but might not be as efficient because of the division operation inside the loop. For a particularly robust two-pass algorithm for computing the variance, first compute and subtract an estimate of the mean, and then use this algorithm on the residuals.
A slightly more convenient form allows one to calculate the standard deviation without having to explicitly calculate the new mean. If n is the number of elements in the sequence after the addition of the new element, then one has

IV. Weighted incremental algorithm

When the observations are weighted, West (1979) [3] suggests this incremental algorithm:
n = 0
foreach x in the data:
if n=0 then
n = 1
mean = x
S = 0
sumweight = weight
else
n = n + 1
temp = weight + sumweight
S = S + sumweight*weight*(x-mean)^2 / temp
mean = mean + (x-mean)*weight / temp
sumweight = temp
end if
end for
Variance = S * n / ((n-1) * sumweight)  // if sample is the population, omit n/(n-1)

V. Parallel algorithm

Chan et al.[4] note that the above on-line algorithm III is a special case of an algorithm that works for any partition of the sample X into sets XA, XB:
.
This may be useful when, for example, multiple processing units may be assigned to discrete parts of the input.

Va. Higher-order statistics

Terriberry[5] extends Chan's formulae to calculating the third and fourth central moments, needed for example when estimating skewness and kurtosis:
Here the Mk are again the sums of powers of differences from the mean , giving
skewness: ,
kurtosis: .
For the incremental case (i.e., B = {x}), this simplifies to:
It should be noted that by preserving the value δ / (n + 1), only one division operation is needed and thus that the higher-order statistics can be calculated for little incremental cost.

Example

Assume that all floating point operations use the standard IEEE 754 double-precision arithmetic. Consider the sample (4, 7, 13, 16) from an infinite population. Based on this sample, the estimated population mean is 10, and the unbiased estimate of population variance is 30. Both Algorithm I and Algorithm II compute these values correctly. Next consider the sample (108 + 4, 108 + 7, 108 + 13, 108 + 16), which gives rise to the same estimated variance as the first sample. Algorithm II computes this variance estimate correctly, but Algorithm I returns 29.333333333333332 instead of 30. While this loss of precision may be tolerable and viewed as a minor flaw of Algorithm I, it is easy to find data that reveal a major flaw in the naive algorithm: Take the sample to be (109 + 4, 109 + 7, 109 + 13, 109 + 16). Again the estimated population variance of 30 is computed correctly by Algorithm II, but the naive algorithm now computes it as -170.66666666666666. This is a serious problem with Algorithm I, since the variance can, by definition, never be negative.

Friday, February 25, 2011

Lecture series on DMA

Website which has lecture series on DMA:-

http://www.heppenstall.ca/academics/doc/203/Lec19.pdf

The Definition of Differentiation

I found this web page interesting and more over easy to understand
http://web.mit.edu/wwmath/calculus/differentiation/definition.html

Wednesday, February 23, 2011

Linux Device Drivers, Third Edition

This is a web site for the Third Edition of Linux Device Drivers, by Jonathan Corbet, Alessandro Rubini, and Greg Kroah-Hartman. For the moment, only the finished PDF files are available

http://lwn.net/Kernel/LDD3/

Monday, February 21, 2011

Modelsim: Store and load the signals

How do I store all signal transitions during the simulation so that when I add a new signal to the Wave window I do not have to restart and rerun the simulation?
Command line:
write format wave -window .main_pane.wave.interior.cs.body.pw.wf /sp605_kunal.do

By default, the only signal values that are maintained in memory are the signals that were already added to the Wave window before the simulation was run. If additional signals are added after the simulation was run, no values will be displayed for these signals in the Wave window. To change this behavior, you can use the following command to instruct ModelSim to retain all signal values in memory during the simulation:
log -r /*
You can add this command to the User DO file, ".udo". Open the ".udo" file in the project directory and add the above command anywhere in the file. The ".udo" file is called inside all of the other DO files, so this command will automatically be used when running a simulation through Project Navigator.

How do I save my waveform settings and load them during the next simulation?
It is often necessary to make many modifications to the Waveform window. A user might add some additional signals, change the viewing radix, add dividers between signals, etc. After making all of the these changes, it is helpful to save these settings and load them next time the simulation is run.

To save the settings, click File -> Save Format in the Wave window. Save the format as ".do". You can then get back to these settings in the Wave window by clicking File -> Load Format and selecting the DO file.

There are also a couple of options that allow this DO file to be loaded automatically when running a simulation from Project Navigator. The easiest way to do this is to call the DO file inside the User DO file, ".udo". Open the ".udo" file in the project directory and add the following command:
do .do
The ".udo" file will be called by all of the other DO files created by ISE, so these Wave settings will be loaded each time a simulation is run in this project. The only problem with this method is that automatic DO file created by ISE will still load the default waveforms. Therefore, you will get all of the signals that you saved plus the default signals. This can clutter up the waveform window.

To prevent Project Navigator from loading the default signals to the waveform window, you will need to create a custom DO file. Follow the steps below:
1. Copy the automatic DO file created by ISE and give it a new name. For instance, if you are running a behavioral simulation and your testbench is named "top_tb," make a copy of "top_tb.fdo" and rename it to "top_tb_custom.do".
2. Open the copy in a text editor.
3. Comment out the call to the ".udo" file:
## .udo
4. Comment out the "add wave *" command:
## add wave *
5. After the "## add wave *" add a new line that calls the saved waveform settings:
do .do
6. Optionally, add the "log -r /*" command after the line from step 5 (see above for more information on log -r /*).
7. In Project Navigator, right-click the Simulate Process and select Properties.
8. Uncheck Use Automatic Do File.
9. Check "Use Custom Do File" and select the custom DO file that you created.

After performing this, Project Navigator will always use the custom DO when this process is run. The automatic DO file will still be used for the other simulation processes. These steps must be redone for other simulation processes if necessary. Also, if any files are added or deleted from the project, the custom DO file needs to be modified appropriately. This can be done manually, or you can reselect the "Use Automatic DO file" option and let Project Navigator make a new template for you.

Here is an example of what a custom DO file might look like:

vlib work
vcom -93 -explicit top.vhd
vcom -93 -explicit top_tb.vhw
vsim -t 1ps -lib work top_tb
## do top_tb.udo
view wave
## add wave *
do wave.do
log -r /*
view structure
view signals
run -all

Sunday, February 20, 2011

Constantly seeking a crazy ride


Roberto Colaninno was born in the north Italian city of Mantua 67 years ago, and still lives in the same house he has always lived in, with his wife Oretta, a schoolteacher. Even though he spends most of the week travelling, he tries to come back to Mantua at weekends.
“I enjoy living here,” says the stocky, self-effacing businessman who detests being photographed and studiously avoids the parties, yachts and conspicuous consumption favoured by many of the Italian business elite.

Indeed, he looks a bit uncomfortable hosting a party of celebrities in the stylish new Milan showroom of Piaggio, the scooter company he now heads.
Do you ride a Vespa or a Moto Guzzi? “Not on your life,” he quickly answers in his characteristically straightforward and slightly abrupt way in a sleek designer conference room above the new showroom.
“You know, I am a very insignificant man in Mantua. I cook at home, ride my bicycle and lead a very ordinary life,” he adds, in what many would consider a blatant exercise in false modesty.
For Mr Colaninno is not only one of Italy’s best-known dealmakers. He also likes to shoot for game. Once a year he goes shooting in Patagonia, and when he is not shooting birds in Argentina he hunts for bigger corporate game.
This provincial Italian, who qualified as an accountant, shot to fame a decade ago when he pulled off what was at the time the world’s largest hostile takeover. Along with a band of north Italian investors, he launched a highly leveraged bid for the recently privatised Telecom Italia in 1999. A couple of years later his associates forced him to sell control of the telecoms group to Pirelli, preferring to cash in their chips rather than pursue the Telecom Italia adventure. “I wanted to continue running the company but I had no alternative but also sell my stake when these partners decided to get out,” he says – but he shows little regret.
The CV
Born: August 1943 in Mantua, Italy
Education: Trained in accountancy while studying economics at university
Career: 1969 Joins auto components maker Fiaam and becomes its CEO within three years
1981 Founds car parts group Sogefi
1996-2001 CEO of Olivetti. Under his leadership, Olivetti in 1999 launches the world’s largest-ever unsolicited takeover bid for the recently privatised Telecom Italia. Mr Colaninno becomes chairman and CEO of Telecom Italia from May 1999 to July 2001 when control is passed to the Pirelli Group
September 2002
With other investors, acquires Immsi and turns it into a quoted vehicle for investments, the most notable of which is Piaggio, acquired in 2002, and Aprilia
2008
Leads CAI, an investor group that has brought together 20 of Italy’s leading entrepreneurs and Air France-KLM, in the takeover of Alitalia and Air One to create a new Italian airline under the Alitalia banner. He is both Chairman and a major investor in the new company
Interests: Lives in Mantua with his wife Oretta, a schoolteacher. Has two sons, Matteo, a politician, and Michele, who works in the family holding
After all, Mr Colaninno is the first to admit he was lucky. The day after the sale to Pirelli, the world and the financial markets were plunged into crisis. It was September 11 2001.
Mr Colaninno had become a very rich man and could easily have decided to retire in his provincial haven away from the international limelight. But he is not the retiring sort. Far from it. For behind his rather staid and conventional demeanour, Mr Colaninno is a corporate maverick. He admits he likes risk and “the anxiety” of tackling an ambitious and what some might regard as a “crazy” industrial undertaking.
“I don’t need to work for the money. I work because I want to do something and prove myself. In any case, if you do not work you become old in a very short time.”
So, soon after leaving Telecom Italia, Mr Colaninno was already contemplating what he himself calls another “crazy” scheme. He turned his attention to Fiat, the country’s largest industrial conglomerate, which was at the time on the ropes. “I made them a proposal to take over the group,” he confirms. But the Agnelli family turned him down. As a result he decided to make a pitch for an “even crazier” deal.
In 2002, he acquired control of Piaggio, the scooter manufacturer that was on the verge of bankruptcy. By comparison to Fiat, Piaggio was an industrial midget, but Mr Colaninno says the risks were much greater. “Taking over Piaggio was crazier than Fiat because the company was in even worse condition and if Piaggio disappeared it would not have been a national problem as the eventual demise of Fiat would have been.”
Piaggio had been owned by Umberto Agnelli, the late brother of Fiat patriarch Gianni. It had subsequently been acquired by Morgan Grenfell but the private equity house had struggled to revive the old maker of the famous Vespa scooters. Based in Tuscany at Pontedera, near Pisa, the company was also plagued by particularly difficult labour relations given that Piaggio’s unions were among the most intransigent in Italy.
But Mr Colaninno has always had a knack of dealing with complicated labour relations. He started his career running car component companies and at one stage was put in charge of reviving a filter company jointly owned by his Mantua-based Sogefi car parts group and Allied Signal, the US conglomerate. The company, called FRAM, was based in Slough in the UK. “A horrible place,” he recalls, “but I lived at the time in the Red Lion hotel in Henley, which was very nice.”
“We were in the early 1980s in the Thatcher years and I had to deal with 32 different trade unions. We had plants in Wales and at Slough, opposite the Mars factory. The company employed close to 4,000 people. We got a guy from Barcelona to run the business as a managing director, so imagine what these unions thought – an Italian flanked by a Spaniard coming to revive the business!”
Mr Colaninno asked the unions to give him a year to prove he could turn the business round. If they agreed to his conditions to improve productivity and avoid going on strike, the company would commit substantial new investments. “We achieved our targets, the company started making a lot of profits, we honoured our investment commitments and I ended up receiving a medal from the trade unions.”
It is this same approach that he has since undertaken at Piaggio. “As long as you explain to the unions what is the state of play, and they usually know better than management, and then tell them what you want to do, you can usually reach a good understanding. But never, never adopt an arrogant stance.”
At Piaggio the strategy has been to expand rapidly in Asia, especially in India, China and Vietnam. “Asia today is more important than Italy and Europe for Piaggio. That is where the future of our sales lie,” he says. He rattles off a number of statistics but by far the most interesting is the world demand for scooters. “Total global demand is 44m. Europe accounts for 1.7m; the US is about 700,000; South America another 3.5m; and all the rest is Asia. So the future is clearly Asia.”
With Piaggio back in profit, Mr Colaninno decided it was time to invest in another “madcap” project – leading a group of investors to take over Alitalia and the smaller Italian airline Air One to create a new national flag-carrier under the Alitalia brand. “If you are not going to be crazy in your life, what is there, and what is the meaning of your life?” he says, adding that he has always been “fascinated” by the airline business.
Rescuing Alitalia would continue to secure him a place at the top table of Italian business and Mr Colaninno, for all his assumed modesty, likes to sit at the top table. Once again, he deployed his skills in labour negotiations and finally secured a deal with the company’s tough unions after four gruelling months of talks. He agrees that this is a risky business and laughs at the old joke that if you want to make a small fortune you should invest a large one in an airline.
But once again he has been lucky. The airline market is recovering and Alitalia is expected to break even next year. The unions also seem to be playing their part. “Since January 2009, when we took over, and today, we have only had eight hours of strike. That is far better than our big French industrial partner Air France-KLM (which has a 25 per cent stake in the Italian carrier) and indeed British Airways. In 2007 alone, Alitalia faced 132 hours of strike.”
Does this imply that Mr Colaninno is ready for another “crazy” challenge? “I don’t think so,” he says, acknowledging that perhaps he is beginning to get a little old. In any case, he would hardly have enough time to devote to another industrial adventure.
“You want to know my schedule? In a normal week, I spend Tuesday and Wednesday in Pontedera at Piaggio. On Thursday I am in Rome with Alitalia. Friday is for whatever issue comes up. Saturday, Sunday and Monday is Mantua. Then, once a month, I make a long-distance trip either to India, China or Vietnam. And in July, I take a week off in Patagonia to shoot. That is sacred.”

Thursday, February 17, 2011

Thirty Things You Can Do To Avoid Cancer

1. Make sure you have a pure source of foodstuffs. Obtain fresh, organic produce regularly by joining a vegetable box scheme
2. Eliminate plastic storage containers from your kitchen and do not buy or store food in plastic or clingfilm
3. Try not to cook the life out of food. Steam vegetables such as brocolli or cauliflower to maintain their integrity and nutritional value
4. Eat wide from many sources for a balanced diet. Include nuts, herbs, lentils and fresh, organic, locally grown produce
5. Find different ways to give yourself a regular, yearly detox
6. Think about and act on your health in a preventative way. Try out some alternative therapies to help you switch on a health sense
7. Test your bodies PH rating. Cancer loves sugar and readily available proteins in an acid environment. Quit taking sugar as much as you can and eat foods that balance your PH
8. Throw your microwave away. Recent tests show 97% of flavonoids lost in brocolli by microwaving
9. Do a toxin stocktake on your household products and food sources. Throw away any harmful chemicals you are persuaded to put into your environment or yourself by advertisers
10. Make sure that your air and water supplies are as pure as possible. Exercise in a healthy, non-toxic environment
11. Find out more about your immune system and how to support it in thought, word and deed
12. Avoid known stressors such as alcohol, tobacco, coffee, extreme conditions and so on, as much as possible
13. Check your home and work for sources of harmful radiation
14. Avoid using deodorants and sun screens containing parabens
15. Avoid factory farmed products such as milk, eggs, fish or cheese. Animals are often fed large amounts of antibiotics as a precaution and live in very stressful conditions
16. Avoid genetically modified food (GMO)
17. Eat slowly and chew food properly. Enjoy eating as a special moment when you ingest new energy for your being
18. Avoid vexatious media intrusions. Just because they thrive on a diet of drama, conflict and spectacle, it doesn't mean you have to
19. Adapt a lifestyle that is in tune with what is around you. Find time to enjoy life and do things that you love
20. Get out into the countryside regularly
21. Carry out your own 'genetic counselling'. Write down the ailments suffered by your ancestors and look for genetic weaknesses in your physiology. Act to compensate for perceived weaknesses
22. Think about your health at physical, intellectual, emotional and energetic levels
23. Look out for ways to experience 'healing moments' in your everyday existance
24. Inform yourself about your medical condition and explore alternatives if you are prescribed medical drugs. All medical drugs have side effects
25. Practice creative visualisation and other methods of positive thinking
26. Find constructive outlets for negative energy
27. Do things that give your life personal meaning for you
28. Get a hair analysis done to see if you are missing any minerals in your diet. The human body needs: 90 nutrients, 60 minerals, 16 vitamins, 12 essential amino acids, 3 essential fatty acids - check them out !
29. Read the labels on food. Avoid trans fats (Hydrogenated Vegetable oils) in biscuits and cakes. Make your own - its fun !
30. Do things that make you laugh

Tuesday, February 15, 2011

Problems running ModelSim from Xilinx ISE

Not sure if it helps but Mentor's Supportnet newsletter had this today:

Symptoms

You have more than one simulator loaded, or have replaced an existing one with
another.
The Xilinx compiled libraries are not valid for the simulation. The default
information in the modelsim.ini file are not correct.

Causes

The Xilinx project accesses ModelSim from 3 different places, and if they don't
all point to the same install problems can arise.

Solution

Check that the following all point to the same install:

1) Environment path (check that only one path points to the modelsim
executables), remove all others. You should have one valid path (Xilinx uses it
to create the default modelsim.ini file using "vmap -c".
2) Xilinx top Menu: Edit --> Preferences -- ISE General -- Integrated Tools --
Model Tech Simulator: Example: :\\win32pe\modelsim.exe
3) Window "View": M Simuilation; highlight the device in the Hierarchy window.
Expand Design Utilities and Right Mouse Button 'Compile HDL Simulation
Libraries' and select 'Process Properties': fill in the GUI as needed.

Thursday, February 3, 2011

To compile Xilinx libraries in ModelSim

To compile libraries manually, example compile commands would be:
vlib
vmap unisim /unisim

vcom -work unisim $XILINX_ENV/vhdl/src/unisims/unisim_vomp.vhd
Information can also be got on the website
park8817.com.ne.kr/modelsim_fpga.pdf

Tuesday, February 1, 2011

Overloaded Operator '"+"' does not match its parameter profile

The error was really frustrating for electronic design engineer who mostly designed logic with verilog and now have to shift to vhdl

----- The above program gives the above error --------

library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use IEEE.numeric_bit.all;

--- entity ----
--------------
architecture -----
process (*)
begin
...
addr <= addr - 1 ;
    data <= data + 1;
end process
-- error message comes as
: (line 57): Overloaded Operator '"-"' does not match its parameter profile
Error: CSVHEX0004: pci_mem_write_interface.vhd: (line 58):
Overloaded Operator '"+"' does not match its parameter profile

--- error is resolved by using a package

use ieee.numeric_std.all;