|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
请教各为一下,最近在仿真ALTLVDS RX,IP核的配置比较简单,通道数为2,转换因子为10。以下是我的代码:
`timescale 1ns/10ps
module lvds_rx_top(
input sclk ,
input rst_n ,
output [19:0] rx_out ,
output rx_outclock
);
wire clk_29M ;
wire clk_297M ;
wire locked ;
reg [1:0] rx_in ;
pll u_pll(
.areset ( ~rst_n ),
.inclk0 ( sclk ),
.c0 ( clk_29M ),
.c1 ( clk_297M ),
.locked ( locked )
);
always @(posedge clk_297M or negedge rst_n) begin
if(rst_n == 1'b0)
rx_in <= 2'd0 ;
else if(locked == 1'b1)
rx_in <= 2'd3 + rx_in ;
end
lvds_rx u_lvds_rx(
.rx_in ( rx_in ),
.rx_inclock ( clk_29M ),
.rx_out ( rx_out ),
.rx_outclock ( rx_outclock )
);
endmodule
以下是我的功能仿真图:
以我的理解,lvds ip开始有初始阶段,不是真正的采样值输出,图中在第三个红线才开始稳定输出。但是,我觉得输出的数据高10位数据有问题,低十位就是r[0]的输出,只不过是先发低位,所以是0101010101共10bit,高位的话为什么不是0110011001,而是仿真中的那个结果?难道每一个通道的其实采样点不一样?希望有人能帮忙解答下,谢谢
|
|