Generating higher frequency sine waves from 5MHz RAM
Currently using the Stratix III EP3SL150F1152 DSP Developers Kit in Verilog. I generated one period sine wave 5MHz sampling at 250MHz (50 samples in a .MIF file from MATLAB ). I ported it to a RAM block (altsyncram, 5MHz with a clk in at 250MHZ) and used a counter module (inc to pull the samples to generate a continuous waveform out to a 16-bit DAC (oscoped and SignalTapped). My FPGA is receiving a 250MHz clock, the DAC is getting 500MHz from DDRIO (Double Data Rate), and the RAM/counter modules are receiving 250MHz. How approach can I take to output different frequencies of 105-135MHz sine waves and not violate timing and erroneous outputs? I can double my PLL to 500MHz in design and MATLAB (100 samples for 5MHz sampled at 500MHz) to start at 10MHz, but I feel skipping addresses in my counter module will lead to undersampling when going above 20-25MHz, outputting incorrect data. I realize dual edge clocking to sample at posedge and negedge does not apply in synthesizing flops unless I use two always blocks; which is why I utilized PLL to use single edged logic. Any guidance is greatly appreciated.