从IP库中可以直接添加ADC的IP代码,产生如下代码:主要有时钟,数据dout,pd,eoc,soc,s等信号。module adc ( eoc, dout, clk, pd, s, soc ); output eoc; output [11:0] dout;
input clk; input pd; input [2:0] s; input soc;
EG_PHY_ADC #( .CH7("ENABLE"), .CH6("ENABLE"), .CH5("ENABLE"), .CH4("ENABLE"), .CH3("ENABLE"), .CH2("ENABLE"), .CH1("ENABLE"), .CH0("ENABLE")) adc ( .clk(clk), .pd(pd), .s(s), .soc(soc), .eoc(eoc), .dout(dout));
endmodule
在IP封装的底层找到了这些信号的含义:pd; // power Down signal.
[2:0] s; // channel Select Signal.
soc; // start of Conversion.
eoc; // end of Conversion.
[11:0] dout; // AD conversion results
module EG_PHY_ADC(clk, pd, s, soc, eoc, dout);input clk; // clockinput pd; // power Down signal.input [2:0] s; // channel Select Signal.input soc; // start of Conversion.output eoc; // end of Conversion.output [11:0] dout; // AD conversion resultsparameter CH0 = "DISABLE" ;parameter CH1 = "DISABLE" ;parameter CH2 = "DISABLE" ;parameter CH3 = "DISABLE" ;parameter CH4 = "DISABLE" ;parameter CH5 = "DISABLE" ;parameter CH6 = "DISABLE" ;parameter CH7 = "DISABLE" ;parameter VREF = "DISABLE" ;endmodule
分配管脚进行综合,添加逻辑分析仪时程序崩溃了,不知道是什么原因。还要继续尝试。代码结构:
逻辑分析仪:
综合资源:
timing视图:
ad的操作界面感觉融合了altera和xilinx的优点,还是比较好用的。