本帖最后由 youzizhile 于 2019-7-20 00:19 编辑
使用AD的IP库添加代码,有以下IP库:
基本是ram、sdram,fifo等外设,或许还能进一步丰富IP种类,添加一些通用外设和总线协议等,如axi总线、uart、spi等。
从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; // clock
input 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 results
parameter 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的优点,还是比较好用的。