Forum Discussion
Altera_Forum
Honored Contributor
14 years agomismatching connect
Hi every one
Im working with design dds i built my phase acumulator using and create block for specifc phase accumulator design with (23..80 output .I connect the phase accum (PA) to RAM with inetial input (0..2*addr_width -1) .Running the processing (start analysis &elaboration) ,i meet mismatching problem in connect between PAand RAM. can i recieve any help od advice for solution this problem.2 Replies
- Altera_Forum
Honored Contributor
Ok, I'll guess ...
You have a phase accumulator with PWIDTH bits, you have a RAM with AWIDTH bits, and AWIDTH < PWIDTH ... so how do you connect these? You need to think of both as complete rotations around an imaginary phasor (circle). Both have to go a complete 360-degrees around the circle as the number goes from 0 to 2**PWIDTH-1 or 2**AWIDTH-1. The answer is, the MSBs need to be connected together, i.e., ram <= acc(PWIDTH-1 downto PWIDTH-AWIDTH); where ram(AWIDTH-1 downto 0), and you've connected the AWIDTH MSBs of the accumulator to the RAM. Or something like that anyway ... :) There's some stuff on NCOs in here: http://www.ovro.caltech.edu/~dwh/correlator/pdf/esc-100paper_hawkins.pdf (http://www.ovro.caltech.edu/%7edwh/correlator/pdf/esc-100paper_hawkins.pdf) A nice way to interpret the accumulator, is that it is a fixed-point number in fractional integer format, with the whole part being the address into the RAM. Cheers, Dave - Altera_Forum
Honored Contributor
No You can't.
Provide more information if You want any answers. Code snippets, comments, etc.