请教下xilinx spartan-6 OSERDES2级联的用法,谢谢。

2020-02-03 10:51发布

新手请教下,xilinx Spartan-6 的原语 OSERDES2,怎么两个级联?
要用到串行的8位数据,转换成并行的,而这个原语只能转4位。
  1. // OSERDES2: Output SERial/DESerializer
  2.    //           Spartan-6
  3.    // Xilinx HDL Language Template, version 14.7

  4.    OSERDES2 #(
  5.       .BYPASS_GCLK_FF("FALSE"),     // Bypass CLKDIV syncronization registers (TRUE/FALSE)
  6.       .DATA_RATE_OQ("DDR"),         // Output Data Rate ("SDR" or "DDR")
  7.       .DATA_RATE_OT("DDR"),         // 3-state Data Rate ("SDR" or "DDR")
  8.       .DATA_WIDTH(2),               // Parallel data width (2-8)
  9.       .OUTPUT_MODE("SINGLE_ENDED"), // "SINGLE_ENDED" or "DIFFERENTIAL"
  10.       .SERDES_MODE("NONE"),         // "NONE", "MASTER" or "SLAVE"
  11.       .TRAIN_PATTERN(0)             // Training Pattern (0-15)
  12.    )
  13.    OSERDES2_inst (
  14.       .OQ(OQ),               // 1-bit output: Data output to pad or IODELAY2
  15.       .SHIFTOUT1(SHIFTOUT1), // 1-bit output: Cascade data output
  16.       .SHIFTOUT2(SHIFTOUT2), // 1-bit output: Cascade 3-state output
  17.       .SHIFTOUT3(SHIFTOUT3), // 1-bit output: Cascade differential data output
  18.       .SHIFTOUT4(SHIFTOUT4), // 1-bit output: Cascade differential 3-state output
  19.       .TQ(TQ),               // 1-bit output: 3-state output to pad or IODELAY2
  20.       .CLK0(CLK0),           // 1-bit input: I/O clock input
  21.       .CLK1(CLK1),           // 1-bit input: Secondary I/O clock input
  22.       .CLKDIV(CLKDIV),       // 1-bit input: Logic domain clock input
  23.       // D1 - D4: 1-bit (each) input: Parallel data inputs
  24.       .D1(D1),
  25.       .D2(D2),
  26.       .D3(D3),
  27.       .D4(D4),
  28.       .IOCE(IOCE),           // 1-bit input: Data strobe input
  29.       .OCE(OCE),             // 1-bit input: Clock enable input
  30.       .RST(RST),             // 1-bit input: Asynchrnous reset input
  31.       .SHIFTIN1(SHIFTIN1),   // 1-bit input: Cascade data input
  32.       .SHIFTIN2(SHIFTIN2),   // 1-bit input: Cascade 3-state input
  33.       .SHIFTIN3(SHIFTIN3),   // 1-bit input: Cascade differential data input
  34.       .SHIFTIN4(SHIFTIN4),   // 1-bit input: Cascade differential 3-state input
  35.       // T1 - T4: 1-bit (each) input: 3-state control inputs
  36.       .T1(T1),
  37.       .T2(T2),
  38.       .T3(T3),
  39.       .T4(T4),
  40.       .TCE(TCE),             // 1-bit input: 3-state clock enable input
  41.       .TRAIN(TRAIN)          // 1-bit input: Training pattern enable input
  42.    );
复制代码
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
心有所xiang
1楼-- · 2020-02-03 11:09
难道是这样??、。,呵呵,明天验证下。

OSERDES2 #(
      .BYPASS_GCLK_FF("FALSE"),     // Bypass CLKDIV syncronization registers (TRUE/FALSE)
      .DATA_RATE_OQ("DDR"),         // Output Data Rate ("SDR" or "DDR")
      .DATA_RATE_OT("DDR"),         // 3-state Data Rate ("SDR" or "DDR")
      .DATA_WIDTH(2),               // Parallel data width (2-8)
      .OUTPUT_MODE("SINGLE_ENDED"), // "SINGLE_ENDED" or "DIFFERENTIAL"
      .SERDES_MODE("MASTER"),         // "NONE", "MASTER" or "SLAVE"
      .TRAIN_PATTERN(0)             // Training Pattern (0-15)
   )
   OSERDES2_MASTERInst (
      .OQ(OQ),               // 1-bit output: Data output to pad or IODELAY2
      .SHIFTOUT1(SHIFTOUT1), // 1-bit output: Cascade data output
      .SHIFTOUT2(SHIFTOUT2), // 1-bit output: Cascade 3-state output
      .SHIFTOUT3(SHIFTOUT3), // 1-bit output: Cascade differential data output
      .SHIFTOUT4(SHIFTOUT4), // 1-bit output: Cascade differential 3-state output
      .TQ(TQ),               // 1-bit output: 3-state output to pad or IODELAY2
      .CLK0(CLK0),           // 1-bit input: I/O clock input
      .CLK1(CLK1),           // 1-bit input: Secondary I/O clock input
      .CLKDIV(CLKDIV),       // 1-bit input: Logic domain clock input
      // D1 - D4: 1-bit (each) input: Parallel data inputs
      .D1(D1),
      .D2(D2),
      .D3(D3),
      .D4(D4),
      .IOCE(IOCE),           // 1-bit input: Data strobe input
      .OCE(OCE),             // 1-bit input: Clock enable input
      .RST(RST),             // 1-bit input: Asynchrnous reset input
     .SHIFTIN1(SHIFTIN4),   // 1-bit input: Cascade data input
      .SHIFTIN2(SHIFTIN5),   // 1-bit input: Cascade 3-state input
      .SHIFTIN3(SHIFTIN6),   // 1-bit input: Cascade differential data input
      .SHIFTIN4(SHIFTIN7),   // 1-bit input: Cascade differential 3-state input
      // T1 - T4: 1-bit (each) input: 3-state control inputs
      .T1(T1),
      .T2(T2),
      .T3(T3),
      .T4(T4),
      .TCE(TCE),             // 1-bit input: 3-state clock enable input
      .TRAIN(TRAIN)          // 1-bit input: Training pattern enable input
   );

OSERDES2 #(
      .BYPASS_GCLK_FF("FALSE"),     // Bypass CLKDIV syncronization registers (TRUE/FALSE)
      .DATA_RATE_OQ("DDR"),         // Output Data Rate ("SDR" or "DDR")
      .DATA_RATE_OT("DDR"),         // 3-state Data Rate ("SDR" or "DDR")
      .DATA_WIDTH(2),               // Parallel data width (2-8)
      .OUTPUT_MODE("SINGLE_ENDED"), // "SINGLE_ENDED" or "DIFFERENTIAL"
      .SERDES_MODE("SLAVE"),         // "NONE", "MASTER" or "SLAVE"
      .TRAIN_PATTERN(0)             // Training Pattern (0-15)
   )
   OSERDES2_SLAVEInst (
      .OQ(),               // 1-bit output: Data output to pad or IODELAY2
      .SHIFTOUT1(SHIFTOUT1), // 1-bit output: Cascade data output
      .SHIFTOUT2(SHIFTOUT2), // 1-bit output: Cascade 3-state output
      .SHIFTOUT3(SHIFTOUT3), // 1-bit output: Cascade differential data output
      .SHIFTOUT4(SHIFTOUT4), // 1-bit output: Cascade differential 3-state output
      .TQ(TQ),               // 1-bit output: 3-state output to pad or IODELAY2
      .CLK0(CLK0),           // 1-bit input: I/O clock input
      .CLK1(CLK1),           // 1-bit input: Secondary I/O clock input
      .CLKDIV(CLKDIV),       // 1-bit input: Logic domain clock input
      // D1 - D4: 1-bit (each) input: Parallel data inputs
      .D1(D1),
      .D2(D2),
      .D3(D3),
      .D4(D4),
      .IOCE(IOCE),           // 1-bit input: Data strobe input
      .OCE(OCE),             // 1-bit input: Clock enable input
      .RST(RST),             // 1-bit input: Asynchrnous reset input
      .SHIFTIN1(SHIFTIN1),   // 1-bit input: Cascade data input
      .SHIFTIN2(SHIFTIN2),   // 1-bit input: Cascade 3-state input
      .SHIFTIN3(SHIFTIN3),   // 1-bit input: Cascade differential data input
      .SHIFTIN4(SHIFTIN4),   // 1-bit input: Cascade differential 3-state input
      // T1 - T4: 1-bit (each) input: 3-state control inputs
      .T1(T1),
      .T2(T2),
      .T3(T3),
      .T4(T4),
      .TCE(TCE),             // 1-bit input: 3-state clock enable input
      .TRAIN(TRAIN)          // 1-bit input: Training pattern enable input
   );

及与不急
2楼-- · 2020-02-03 15:37
请问楼主有没有弄好呀,方便的话发个源码学习一下,qq.910930618

一周热门 更多>