Hi....
i am need to use integer multiplication in my design both are integers only... but while simulating the multiplication result is coming as zero.......
my design is as folloes
.....................................................................
Does you testbench assert reset at the start of the sim to make sure all the signals are in a known state? Have you looked at all the signals on the waveform to see where the problem is coming from?
Signals are assigned the new value at the end process, which in your case means that d1 will always be zero, since you assign 0 to d1 at the end. Start by removing the line d1 <= 0 and go from there.
Looking at the above snippet of code leads me to believe that you think these signal assignment statements will update immediately since each statement depends on the immediately preceding line and because you're asking a very basic question so you probably don't have much experience with VHDL yet. It could be that you do mean to have this pipelined as you've written it, but I'm guessing not.
If you are expecting things to update immediately (i.e. after the assignment to 'e1', that new value is used then the next line which is an assignment to 'b1' that uses 'e1') then you need to change all of your signals to variables and use variable assignments only outputting the final result as a signal.
Your best bet though is to start up the simulator and step through the code. Debugging through a forum is not very efficient.