Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

DSP48E1-Slice Virtex-6

Status
Not open for further replies.

SharpWeapon

Member level 5
Joined
Mar 18, 2014
Messages
89
Helped
0
Reputation
0
Reaction score
0
Trophy points
6
Activity points
705
Hello,

I am using DSP48E1 slice as a multiplier and it works fine. First I made a small design which has few modules inside, including a module which uses this slice and worked fine. Then I made a top level design where I joined many modules including the small design module, which uses this slice inside and when I tried to simulate the top level, I don't have output from the slice(It is just zero), all the inputs from the other module are perfectly getting to the input port of the slice but it gave a result of all zero. It still works with the small design module, I tried with first, alone. Anyone encountered such a problem?


Thanks!
 
Last edited:

Hmmm,

Hard to see what is going on without having the code for the project, otherwise the best answer I can give you is: You must have an error in your code.

Post the code and then you might have a chance of getting a better answer.


Regards
 

Thank you ads-ee for the fast reply. But the code is hundreds of lines, not handy to post it. What do you think is a potential cause of it, if you get an idea of the problem?

Thanks!
 

What do you think is a potential cause of it, if you get an idea of the problem?
Yeah, you have an error in you're code.

assign too_bad = (no_code == no_answer) ? 1'b1 : 1'bz;
 

Hahaha, that is funny. But If you have read my problem correctly, you have at least observed that, it is very unlikely to be of a coding mistake. As I mentioned, I don't have a problem of understanding and using the slice. The problem arise when I used it in my top level. Thanks anyway. ;)
 

The problem is usually the code. And the more low level you make the code (eg. instantiating individual slices) the more likely you are to make an error.

The error description sounds like a classic case of user input error. With no code, we cant even try and guess what the error is.
 
Hey TrickyDicky, Thanks! But as I mentioned I have checked the signals right to the input ports of the slice, they all have the correct signal value. I am pretty sure that it is not of a coding problem. Plus I am using the same vhd file that I have tested and working perfectly, when tested alone.
 

As ads-ee pointed out, the code is needed for an exact answer. However, there are some potential problems you may check:

- Is there clock on DSP48E1?
- Is DSP48E1 out of reset?
- Aren't you multiplying by 0?
- Are the signals connected to instance 18-bits? (it is common to connect 1-bit signal by mistake).

Also, you should simulate your code. If you check the DSP48E1 internally, you will surely find the problem (check B,D,A,OPMODE,CLK,RESET,MUL signals).
 
Thanks pbernardi, but now it is working. There was a reset signal on air, not connected to anything. And thanks for the potential problems list, I am sure it will be quite helpful for others.

Cheers,
 

There was a reset signal on air, not connected to anything.

I hope you've learned something from this....
ads-ee said:
You must have an error in your code
SharpWeapon said:
What do you think is a potential cause of it, if you get an idea of the problem?
ads-ee said:
you have an error in you're code
SharpWeapon said:
But If you have read my problem correctly, you have at least observed that, it is very unlikely to be of a coding mistake.
TrickyDicky said:
The problem is usually the code
SharpWeapon said:
I have checked the signals right to the input ports of the slice, they all have the correct signal value. I am pretty sure that it is not of a coding problem.

...like: Don't assume you did it right, when something isn't working. Assume you're doing it wrong and prove to yourself that you did it right. You could have saved us all a bunch of time by posting the code for the design.
 

Curious problem solving methods. ;-)
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top