不知从何说起,先放代码
module ADSample_Interface
(
DSP39MHz, //39M外部时钟输入
ADC_CLOCK, //AD采样驱动时钟输出
ADC1_CLK, //ADC1采样同步时钟输入111没用到
ADC2_CLK, //ADC2采样同步时钟输入111没用到
ADC1_D, //ADC1采样数据输入
ADC2_D, //ADC2采样数据输入
ADC1_OR, //ADC1数据溢出位输入111没用到
ADC2_OR, //ADC2数据溢出位输入111没用到
DAC_CLK, //DAC驱动时钟输出
DAC_DB //DAC数据输出
);
//
//输入输出IO引脚定义//
//
input DSP39MHz;
output ADC_CLOCK;
input ADC1_CLK;
input ADC2_CLK;
input [13:0] ADC1_D;
input [13:0] ADC2_D;
input ADC1_OR;
input ADC2_OR;
output DAC_CLK;
output [13:0] DAC_DB;
/*********************************************************************************/
/************************************程序段开始***********************************/
/*********************************************************************************/
//PLL模块调用,产生39MHzx3=117MHz时钟供给ADC//
PLL39MHzx3 PLL39MHzx3_M(
.inclk0(DSP39MHz),
.c0(ADC_CLOCK)
);
//ADC 数据锁存//
///
reg [13:0] ADC1_D_BUF;
reg [13:0] ADC2_D_BUF;
always @(posedge ADC_CLOCK)
begin
ADC1_D_BUF <= ADC1_D;
end
always @(posedge ADC_CLOCK)
begin
ADC2_D_BUF <= ADC2_D;
end
//DAC 数据回放//
reg [9:0] ADDR_DAC;
always @(posedge DAC_CLK)
begin
ADDR_DAC <= ADDR_DAC + 24;
end
DAC_TABLE DAC_TABLE_M(
.address(ADDR_DAC),
.clken(1'b1),
.clock(DAC_CLK),
.q(DAC_DB)
);
assign DAC_CLK = ADC_CLOCK;
/*********************************************************************************/
/************************************程序段结束***********************************/
/*********************************************************************************/
endmodule
一、DSP39MHz, //39M外部时钟输入
DSP时钟输入到FPGA是板子上直接硬件连接的。DSP39M时钟引出一根线来接到FPGA的PIN_P1引脚上。
我是怎么知道接到哪个引脚上的呢?是通过看硬件原理图如下:
二、 ADC_CLOCK, //AD采样驱动时钟输出
ADC1_CLK, //ADC1采样同步时钟输入111
ADC2_CLK, //ADC2采样同步时钟输入111
ADC1_D, //ADC1采样数据输入
ADC2_D, //ADC2采样数据输入
ADC1_OR, //ADC1数据溢出位输入111
ADC2_OR, //ADC2数据溢出位输入111
DAC_CLK, //DAC驱动时钟输出
DAC_DB //DAC数据输出
这些统统是FPGA通过插线板RFConnector1和RFConnector2连接到AD 采样/DA 回放板 -DS004 上的。
RFConnector:
FPGA如何连接RFConnector我们可以从基带板GN0204的原理图上找到,如ADC1_CLK为什么连PIN_AC2
我们可以从基带板原理图上找到AC2的物理连线连到RF_TP2,而RF_TP2对应RFConnector2的8引脚
然后我们在从AD板DS004 原理图中找到引脚8连到的是
这里tmd竟然是ADC1_D0…不知道是基带板的还是AD板的标错了。不过过程就是这么个过程
或者真正编程后配置引脚过程倒过来:
例如信号DAC_DB[0]连哪个引脚啊?
先从AD板原理图得DAC_DB[0]----->59号引脚
基带板原理图得59号引脚------>RF_TP43,
然后还是基带板,RF_TP43------>AE12
但是quartus引脚配置时不是AE12,这其中哪个过程用了错误信息或者,这个配置不正确。