IP之ALTDDIO_in仿真
需要添加altera_mf库,才可以仿真。
上升沿输出,把前一个时钟的数据输出来。
`timescale 1 ns/ 1 ns;
module altddio_in_ip_tb;
reg rst;
reg clk;
reg [7:0] datain;
wire[7:0] dataouth;
wire[7:0] dataoutl;
altddio_in_ip u_altddio_in_ip (
.aclr ( rst ),
.datain ( datain ),
.inclock ( clk ),
.dataout_h ( dataouth ),
.dataout_l ( dataoutl )
);
initial
begin
#0 rst = 0;//高电平复位
clk = 1;
datain = 0;
end
always
begin
#10 clk = ~clk;
datain = datain + 1;
end
end module
#######################################################
altddio_out
在时钟的上升沿和下降沿分别输出时钟上升沿对应的两个数据。
和altddio_in添加一样的库。
`timescale 1 ns/1 ns;
module altddio_out_ip_tb;
reg rst;
reg[7:0] datain_h;
reg[7:0] datain_l;
reg outclk;
wire [7:0]dataout;
altddio_out_ip i_altddio_out_ip (
.aclr ( rst ),
.datain_h ( datain_h ),
.datain_l ( datain_l ),
.outclock ( outclk ),
.dataout ( dataout )
);
initial
begin
#0 rst = 0;
outclk = 0;
datain_h = 0;
datain_l = 255;
end
always
begin
#10 outclk = ~outclk;
end
always
begin
#20 datain_h = datain_h +1;
datain_l = datain_l -1;
end
endmodule