1. 实验内容
- 本实验在FPGA实验3:DAC FIFO实验的基础上完成
- 把DAC输出模拟信号自环给ADC的模拟输入
- ADC使用25MHz的时钟信号采样
- ADC的输出的数据信号,用ILA抓取观察波形
- 用VIO配置频率字,分别生成1MHz和3MHz的DDS正弦波形,用Matlab分析频谱,验证频率的正确性
2.实验步骤
1. 本实验基于FPGA实验3:DAC FIFO实验做进一步实验,配置ILA参数,其余IP参数配置与实验3相同。
ILA参数配置
ILA观察的波形:ADC接收到的数据,DAC接收到的数据,DDS生成的数据,FIFO输出的数据。
2. 设计顶层(top)模块,其余模块与实验3相同。
程序结构
顶层(top)模块
`timescale 1ns / 1ps
module top(
input sys_clk ,//系统时钟 50MHz T=20ns
input sys_rst_n , //系统复位
//DA芯片接口
output da_clk , //DA(AD9708)驱动时钟,最大支持125Mhz时钟
output [7:0] da_data , //输出给DA的数据
//AD芯片接口
input [7:0] ad_data , //AD输入数据
output ad_clk //AD(AD9280)驱动时钟,最大支持32Mhz时钟
);
// -----------0、VIO按键控制频率控制字(key_PINC)
wire [1:0] key_PINC;
wire [7:0] ping_0x80;
//---------------1、MMCM模块--------------//
//output
wire [0:0] clk_out100M;
wire [0:0] clk_out25M;
//---------------2、信号频率控制模块--------------//
wire [23:0] Fword ; //频率字
Fword_set Fword_set(