- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.Link Copied
2 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
No You can't.
Provide more information if You want any answers. Code snippets, comments, etc.- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page