LVDS OSERDESE2 原语

本文介绍了高速DA芯片如AD9148和AD9739如何利用FPGA Verilog中的OSERDESE2原语处理LVDS串行数据。内容涉及并行数据宽度的选择、时钟和数据位宽的顺序,以及多bit输出的级联方式。虽然作者未亲自调试,但提供了两款芯片的代码示例,适用于DCI clk 480MHz和2.4GHz DACCLK采样率的场景。
摘要由CSDN通过智能技术生成

目录

1. AD9148

2. ad9739


在很多高速DA芯片中,都是高速串行输出LVDS数据。这显然不能用fpga Verilog 语言直接写代码进行采样,需要用到专门的 iserdese 原语。

一直不懂的是,时钟,并行数据宽度,并行数据位宽的先后顺序,多bit 输出怎么级联,等等。

并行数据宽度,有几个,不是随便定义的,要按照上表的说明来。

有两套可以学习的代码,一个是AD9148,一个是AD9739 这个不光是看芯片手册,还需要看硬件上原理图。自己没有动手调试过,看别人代码,整理的,不一定正确,后面继续学习。

1. AD9148

下面的代码时按照这个数据时序来用的,DCI clk 480MHZ, CLK P  CLK N 是240M 

 

2. ad9739

DACCLK 芯片采样率2.4GHz , DCI 600MHz


`timescale 1ns / 1ps

module da_oserdes(
    input           io_reset      ,
    input           sysclk        ,  //300M  
    input           dac_clk       ,  //600M 

    input  [13:0]   dac_data0     ,
    input  [13:0]   dac_data1     ,
    input  [13:0]   dac_data2     ,
    input  [13:0]   dac_data3     ,
    input  [13:0]   dac_data4     ,
    input  [13:0]   dac_data5     ,
    input  [13:0]   dac_data6     ,
    input  [13:0]   dac_data7     ,

    output          dac_clk_op    , 
    output          dac_clk_on    ,
    output [13:0]   dac_even_p    , // DB0 对应并串转换的输出
    output [13:0]   dac_even_n    ,
    output [13:0]   dac_odd_p     , // DB1 对应并串转换的输出
    output [13:0]   dac_odd_n
    );
    //-------------------------------------------------------------------
    // Defination of Ports
    //----------------------------
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值