Wednesday, February 20, 2013

Tips for running a successful simulation in Xilinx ISim.


        This article covers some basics about running your simulation in Xilinx ISim. It will point out some basic mistakes people do when simulating their code in ISim.
Let’s go step by step, see the images for easier understanding of the steps. Open the images in a new tab in your browser if they are not clear enough.

1) Once the coding is done (both the test bench and the design to be tested) make sure you select the top entity (test bench code) in the Xilinx window as shown below. Many people just select any other file and click the compilation button.
Note down the red markings in the image below. Points to be noted are:

·                     Choose View as simulation.
·                     Select the top entity i.e. the test bench. If the wrong file is selected for simulation then the waveform in ISim will be blank and you will see no waveform.
·                     Double click on the Behavioral check syntax for compiling the design or for finding out any syntax errors.
·                     If the above step is successful then double click on Simulate Behavioral Model. If there are syntax errors in step 3 then you may have to check your code.

Tuesday, February 19, 2013

Some tips on reducing power consumption in Xilinx FPGA's


Power estimation and power reduction is an important part of any design. Especially in wireless devices, the reduction in power is a very important factor. In this article I will note down some points, on how to reduce the power consumption for xilinx based designs.
   1)  BRAM Enable signal:
Every BRAM has an enable signal which by default is high always. Most of the HDL coders never care to disable it even when the BRAM is not used. But when this enable signal is ON BRAM consumes a lot of power. It doesn't matter whether you change the address or write the data. So always have a control logic which will control the bram enable signal.
   2)  Low power option in coregen for BRAM's:
You can create a BRAM entity file using Xilinx's Core generator software. There are several options available in coregen to help you achieve what you want. For low power designs select the "Low power" option in coregen.
   3)  Decide on LUT or BRAM:
Suppose you want instantiate a memory in your design. Rather than going straight at BRAM or LUT, give it some thought. Xilinx says that for small memory blocks (less than 4 Kbits) LUT consumes less power than BRAM. Similarly for large memory blocks (more than 4 Kbits) BRAM uses less power for its operation than LUT-RAM. So from design to design, switch to LUT-RAM or BRAM depending on the size of memory block.

Synthesised code is too big for the fpga device - What to do?


Synthesised code is too big for the fpga device - What to do?
After lot of hard work you completed your HDL project. The simulation results verified that the code is functionally working. To check how it performs in hardware you synthesis the design. To your bad luck you realize that the code you just wrote is too big for the fpga. What can you do? Don't panic. There are few ways you can tackle this problem.

    1)  If possible choose a higher graded fpga device:
It’s a simple but the easiest thing you can do. Check if the lab or a friend has a better fpga device which can afford your design. If you really don't want to test the design in hardware, but just want to see the synthesis results then simply select the largest device available in the list.

2) Is the fpga out of pins?
Sometimes the synthesis tool will give out an "Out of resources" warning if the design has too many signals in its port list that the device can't support. This happens when you try to input or output large arrays or vectors.
In such cases use a multiplexed input or output system. Rather than inputting everything in one go, do it step wise

3) Changing synthesis tool settings:
By default, the synthesis tool try to optimize your design for both speed and resource usage. But you can change this setting so that the tool will optimize for less resource usage. This may reduce the speed a little, but may significantly reduce the resource usage.

Monday, February 18, 2013

The important things in life


            A philosophy professor stood before his class with some items on the table in front of him. When the class began, wordlessly he picked up a very large and empty mayonnaise jar and proceeded to fill it with rocks, about 2 inches in diameter.
             He then asked the students if the jar was full. They agreed that it was.
           So the professor then picked up a box of pebbles and poured them into the jar. He shook the jar lightly.                                                                                                      The pebbles, of course, rolled into the open areas between the rocks.

He then asked the students again if the jar was full. They agreed it was.
     The professor picked up a box of sand and poured it into the jar. Of course, the sand filled up everything else.
     He then asked once more if the jar was full. The students responded with a unanimous “Yes.”
“Now,” said the professor, “I want you to recognize that this jar represents your life. The rocks are the important things – your family, your partner, your health, your children – things that if everything else was lost and only they remained, your life would still be full.

       The pebbles are the other things that matter – like your job, your house, your car.
   The sand is everything else. The small stuff.”

“If you put the sand into the jar first,” he continued “there is no room for the pebbles or the rocks. The same goes for your life.

      If you spend all your time and energy on the small stuff, you will never have room for the things that are important to you. Pay attention to the things that are critical to your happiness. Play with your children. Take your partner out dancing. There will always be time to go to work, clean the house, give a dinner party and fix the disposal.
     Take care of the rocks first – the things that really matter. Set your priorities. The rest is just sand.”

Inspirational Quotes


“Never do something permanently foolish just because you are temporarily upset.”
-Lily

“Work like you don’t need the money, love like you’ve never been hurt and dance like no one is watching.”
-Randall G Leighton

“In three words I can sum up everything I’ve learned about life: it goes on.”
-Robert Frost

“Don’t be afraid of change. You may end up losing something good, but you will probably end up gaining something better.”
-Unknown

“When one door closes, another opens; but we often look so long and so regretfully upon the closed door that we do not see the one that has opened for us.”
-Alexander Graham Bell

“Yesterday is history. Tomorrow is a mystery. Today is a gift. That’s why it’s called the present.”
-Unknown  (awesome and my favourite one)