FPGA Intellectual Property
PCI Express*, Networking and Connectivity, Memory Interfaces, DSP IP, and Video IP
Announcements
Intel Support hours are Monday-Fridays, 8am-5pm PST, except Holidays. Thanks to our community members who provide support during our down time or before we get to your questions. We appreciate you!

Need Forum Guidance? Click here
Search our FPGA Knowledge Articles here.
5950 Discussions

valid out and data out problem

Altera_Forum
Honored Contributor II
1,473 Views

Hello. 

 

I have builded very simple test design with DSP builder advanced blockset (ModelPrim blocks only) for calculating angle from accelerometer data. It has channel in/out, two convert blocks and one trig block (atan function). I don't use folding.  

The system is running at 30MHz and data sample rate is 0.0008MHz (800Hz). 

I am driving valid in signal at 800hz frequency (valid in is '1' for one period of 30MHz clock every 30/0.0008 clock cycle). 

This design works perfect - here timing diagram from signalTap. 

Data_y and data_z are data from accelerometer (int16), dout and vout are data out and valid out fom DSB BUilder subsystem. As you can notice, dout is constant after it has changed and valid out looks fine. 

https://www.alteraforum.com/forum/attachment.php?attachmentid=6754  

 

Than I have added integration and differentiation block (I want to verificate these blocks). And again it has worked fine, I get angle. 

https://www.alteraforum.com/forum/attachment.php?attachmentid=6755  

Then I have deleted integration block, because I want to get angle velocity. And it didn't work, I got zero. I looked at timing diagrams and found something strange: dout is non-zero only when vout is '1'. Other time it is zero. It is strange, because in last two timing diagrams dout is constant between transactions.https://www.alteraforum.com/forum/attachment.php?attachmentid=6756  

 

I don't understand such difference in those three timing diagrams and why system with atan and differentiator give me zero. 

 

Thank you. 

 

Here are three designs attached.
0 Kudos
4 Replies
Altera_Forum
Honored Contributor II
73 Views

Your problem is far from clear. 

your signal valid_o seems to have two rates. two clocks in first or second signaltap but one clock in third signaltap. Is that expected. 

vout has one clock duration then becomes two clocks??
Altera_Forum
Honored Contributor II
73 Views

My block is clocked by 30MHz but signaltap is clocked by 50MHz. Change my block clocking, but forget to change signaltap's reference clock.

Altera_Forum
Honored Contributor II
73 Views

 

--- Quote Start ---  

My block is clocked by 30MHz but signaltap is clocked by 50MHz. Change my block clocking, but forget to change signaltap's reference clock. 

--- Quote End ---  

 

 

For reliable signaltap reading you should use same clock that samples the data in your logic otherwise you get signaltap timing or phase issues.
Altera_Forum
Honored Contributor II
73 Views

Yes, I know, my mistake. But this does not clear problem with my dsp builder design.

Reply