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;