Comments on: How to Connect an ADC to an FPGA https://surf-vhdl.com/how-to-connect-an-adc-to-an-fpga/ The Easiest Way To Learn VHDL Fri, 21 Apr 2023 11:06:41 +0000 hourly 1 https://wordpress.org/?v=6.5.2 By: Keerthana https://surf-vhdl.com/how-to-connect-an-adc-to-an-fpga/#comment-34619 Fri, 21 Apr 2023 11:06:41 +0000 http://surf-vhdl.com/?p=619#comment-34619 Hi,
I am looking for the ADC Function to be used in the below VHDL code: I’m doing an FPGA Board designing and am using AD7476A to read out the input. Attaching the code below

library ieee;
use ieee.std_logic_1164.all;

entity adc is
port (
clk : in std_logic;
start : in std_logic;
dout : out std_logic_vector(7 downto 0)
);
end entity;

architecture rtl of adc is

signal count : std_logic_vector(7 downto 0);
signal data_in : std_logic_vector(7 downto 0);
signal state : std_logic_vector(2 downto 0);

begin

process(clk)
begin
if rising_edge(clk) then
case state is
when “000” => — Idle State
if start = ‘1’ then
count ‘0’);
state — Acquisition State
count <= count + 1;
if count = "11111111" then — Wait for 256 cycles
data_in <= some_adc_function(); — Replace with your own ADC function
state — Conversion State
count <= count + 1;
if count = "11111111" then — Wait for 256 cycles
dout <= data_in;
state
state <= "000"; — Reset to Idle State
end case;
end if;
end process;

end architecture;

Here data_in should be assigned to certain ADC Function so as to read the input. But I am confused as to how to initiate this. Could you please help me?

Thank You.

]]>
By: Zulyadein https://surf-vhdl.com/how-to-connect-an-adc-to-an-fpga/#comment-34175 Tue, 07 Feb 2023 11:25:55 +0000 http://surf-vhdl.com/?p=619#comment-34175 In reply to mohammad.

Interested this article and forum

]]>
By: Zulyadein https://surf-vhdl.com/how-to-connect-an-adc-to-an-fpga/#comment-34174 Tue, 07 Feb 2023 11:24:42 +0000 http://surf-vhdl.com/?p=619#comment-34174 In reply to pn.

Interested this article and forum

]]>
By: Navneeth https://surf-vhdl.com/how-to-connect-an-adc-to-an-fpga/#comment-25911 Fri, 04 Mar 2022 11:58:59 +0000 http://surf-vhdl.com/?p=619#comment-25911 Sir i want to interface AD7961FMCZ Board to FPGA Virtex 6. So it supports only ISE.Can you tell me the steps to follow and important things to be taken care.

]]>
By: Vamshi https://surf-vhdl.com/how-to-connect-an-adc-to-an-fpga/#comment-19935 Thu, 02 Sep 2021 08:55:06 +0000 http://surf-vhdl.com/?p=619#comment-19935 Please share ad9269 adc code for interfacing with zynq FPGA

]]>
By: Surf-VHDL https://surf-vhdl.com/how-to-connect-an-adc-to-an-fpga/#comment-12753 Sat, 29 Aug 2020 19:55:15 +0000 http://surf-vhdl.com/?p=619#comment-12753 In reply to David Ng.

it is correct, you can skip the “r_data” signal.
If you register the input, the synthesizer can put the register in the FPGA pad.
In this case, you have to worry about only the phase of the clock vs ADC data without worrying about the skew of the ADC data bus.

]]>
By: David Ng https://surf-vhdl.com/how-to-connect-an-adc-to-an-fpga/#comment-12546 Tue, 21 Jul 2020 11:02:43 +0000 http://surf-vhdl.com/?p=619#comment-12546 Hello,

Can you explain why you need this signal?
“signal r_data : std_logic_vector(3 downto 0);”

Can you skip it and feed the input into the output?

“elsif(rising_edge(i_clk)) then
o_data <= i_data;
end if;"

Thanks!

]]>
By: Medine https://surf-vhdl.com/how-to-connect-an-adc-to-an-fpga/#comment-12147 Tue, 02 Jun 2020 18:29:31 +0000 http://surf-vhdl.com/?p=619#comment-12147 Hello,can you send the testbench of this code?
medine.bolat.287@gmail.com

]]>
By: Medine https://surf-vhdl.com/how-to-connect-an-adc-to-an-fpga/#comment-12145 Tue, 02 Jun 2020 16:13:54 +0000 http://surf-vhdl.com/?p=619#comment-12145 In reply to pn.

Hello,can you send the testbench of this code?
medine.bolat.287@gmail.com

]]>
By: Surf-VHDL https://surf-vhdl.com/how-to-connect-an-adc-to-an-fpga/#comment-10880 Sun, 29 Dec 2019 16:25:08 +0000 http://surf-vhdl.com/?p=619#comment-10880 In reply to SURAJ KUMAR.

it depends on the ADC you are interfacing.
You should read the ADC interface timing and implement a test bench that emulate that timing

]]>