Dear all,
I am using Vivado 2016.1 targeting an Artix-7 FPGA. I have implemented a ring oscillator inside the FPGA that oscillates at almost high frequency of 500 MHz. Now, I would like to design a frequency meter and implement it in order to measure that frequency. I know the concepts of frequency measurement and I had a look on this course project:
The author used a hyprid technique in order to measure the frequency of a high frequency signal. In most parts of the PDF file, he mentioned about the .vhd code sources available in CD but I did not see anything related to them ! Does anyone by chance got the source files of this project or can anyone help me to quickly design and implement a frequency counter for my targhed design, please?
Kind replies and hints are in advance appreciated !
Regards,
First of all, if you are trying to accurately measure a 500MHz signal, you're going to need a clock with a frequency much higher than 500MHz. In the project you cite, they are using a 250MHz clock to measure a 10MHz signal. If you are looking to do a similar design, you'll nominally need a 12.5GHz clock. That's not going to happen in an FPGA. You might want to rethink this.
First, this is a bad idea. You would need to have a specific reason to implement a ring oscillator in the FPGA.
The general way to do this would be to use something like a ring counter to create a divided clock signal. From there you can determine how often 16 clock cycles have occurred per second. Meeting timing might be difficult as you might get a clock rate above the FPGA max clock rate.