njithjw的个人空间 https://blog.eetop.cn/505866 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

alt_gxb单通道电路

已有 1396 次阅读| 2012-1-3 21:22 |个人分类:FPGA_Verilog

`timescale 1ns/1ns

module alt_gxb_ch
    (
    input                   clk_50m,
    input                   clk_125m,
    input                   rst_clk_50m,
    input                   rst_clk_125m,
    input                   pll_inclk,
    input                   rst,
    input                   gxb_channel_rst,
    input                   gxb_pwr_dn,                     //gxb power down control, high active
    input           [7:0]   tx_data_in,                     //parallel data in, low speed
    input                   tx_data_syn,                    //parallel data in syn, high active
    input                   rx_data_in,                     //serial data in, high speed

    output          [7:0]   rx_data_out,                    //parallel data out, low speed
    output                  rx_data_syn,                    //parallel data out syn, low speed

    output                  tx_data_out                     //serial data out, high speed

    );

wire            rx_pll_locked;
wire            rx_freq_locked;
wire            lock_to_data;
wire            lock_to_refclk;
wire            pll_locked;
wire            tx_digital_rst;
wire            rx_analog_rst;
wire            rx_digital_rst;
wire            rx_clk;
wire            tx_clk;
wire            pll_locked;
wire            rst_tx_clk;
wire            rst_rx_clk;
wire    [8:0]   tx_data;
wire    [7:0]   gxb_rx_data;
wire            gxb_rx_data_syn;

alt_gxb_clk_ctrl    u_alt_gxb_clk_ctrl
    (
    .rst(rst_clk_125m),
    .clk(clk_125m),

    .rx_pll_locked(rx_pll_locked),
    .rx_freq_locked(rx_freq_locked),

    .lock_to_data(lock_to_data),
    .lock_to_refclk(lock_to_refclk)
    );

 

alt_gxb_pwdn_rst_ctrl   u_alt_gxb_pwdn_rst_ctrl
    (
    .clk_50m(clk_50m),
    .rst_clk_50m(rst_clk_50m),

    .gxb_power_down(gxb_pwr_dn),
    .gxb_channel_rst(gxb_channel_rst),
    .pll_locked(pll_locked),
    .rx_pll_locked(rx_pll_locked),
    .rx_freq_locked(rx_freq_locked),

    .tx_digital_rst(tx_digital_rst),
    .rx_analog_rst(rx_analog_rst),
    .rx_digital_rst(rx_digital_rst)

    );

rst_ctrl    u0_rst_ctrl
    (
    .clk(tx_clk),
    .rst(rst),

    .rst_prc(rst_tx_clk)
    );

rst_ctrl    u1_rst_ctrl
    (
    .clk(rx_clk),
    .rst(rst),

    .rst_prc(rst_rx_clk)
    );

asyn_fifo
    #(
   .DATA_WIDTH(9),
   .FIFO_DEPTH(16)

    )u_tx_asyn_fifo
    (
    .rst_clk_wr(rst_clk_125m),
    .rst_clk_rd(rst_tx_clk),
    .clk_wr(clk_125m),
    .data_wr({tx_data_syn,tx_data_in}),
    .clk_rd(tx_clk),

    .data_rd(tx_data)
    );

asyn_fifo
    #(
   .DATA_WIDTH(9),
   .FIFO_DEPTH(16)

    )u_rx_asyn_fifo
    (
    .rst_clk_wr(rst_rx_clk),
    .rst_clk_rd(rst_clk_125m),
    .clk_wr(rx_clk),
    .data_wr({gxb_rx_data_syn,gxb_rx_data}),
    .clk_rd(clk_125m),

    .data_rd({rx_data_syn,rx_data_out})
    );

alt_gxb u_alt_gxb
    (
    //input
 .cal_blk_clk(clk_50m),
 .gxb_powerdown(gxb_pwr_dn),
 .pll_inclk(pll_inclk),
 .rx_analogreset(rx_analog_rst),
 .rx_datain(rx_data_in),
 .rx_digitalreset(rx_digital_rst),
 .rx_locktodata(lock_to_data),
 .rx_locktorefclk(lock_to_refclk),
 .tx_ctrlenable(tx_data[8]),
 .tx_datain(tx_data[7:0]),
 .tx_digitalreset(tx_digital_rst),
 //output
 .pll_locked(pll_locked),
 .rx_clkout(rx_clk),
 .rx_ctrldetect(gxb_rx_data_syn),
 .rx_dataout(gxb_rx_data),
 .rx_disperr(),
 .rx_errdetect(),
 .rx_freqlocked(rx_freq_locked),
 .rx_pll_locked(rx_pll_locked),
 .tx_clkout(tx_clk),
 .tx_dataout(tx_data_out)
 );


endmodule


点赞

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 2

    粉丝
  • 0

    好友
  • 0

    获赞
  • 17

    评论
  • 3512

    访问数
关闭

站长推荐 上一条 /1 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-25 21:47 , Processed in 0.024185 second(s), 14 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部