|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
我用altera的 FPGA ,使用 QUARTUS 9.1 的 megawizard plug-in manager 例化ALTGX 模块 。
但为什么不管我怎么输入,tx_datain=随机数 或 x(不定数),其结果tx_dataout的输出都是K28.5的串行数据 ,始终不变。请教!
以下代码是我的testbench;
- `timescale 100ps/100ps
- module serdes_top_tb (/*AUTOARG*/) ;
- reg cal_blk_clk, pll_inclk;
- reg [15:0] tx_datain;
- reg tx_digitalreset;
- reg clk_2500;
- reg [1:0] tx_ctrlenable;
- wire tx_clkout, tx_dataout;
- wire [4:0] tx_datain_5L,tx_datain_5H;
- wire [2:0] tx_datain_3L,tx_datain_3H;
- assign tx_datain_5L=tx_datain[4:0];
- assign tx_datain_3L=tx_datain[7:5];
- assign tx_datain_5H=tx_datain[12:8];
- assign tx_datain_3H=tx_datain[15:13];
- initial
- begin
- tx_ctrlenable=2'b00;
- end
- initial
- begin
- tx_digitalreset=0;
- #3000 tx_digitalreset=1;
- end
- initial
- begin
- clk_2500=0;
- forever #200 clk_2500=~clk_2500;
- end
- initial
- begin
- pll_inclk=0;
- forever #2000 pll_inclk=~pll_inclk;
- end
- initial
- begin
- cal_blk_clk=0;
- forever #2000 cal_blk_clk=~cal_blk_clk;
- end
- always@(posedge pll_inclk or negedge tx_digitalreset)
- if(!tx_digitalreset)
- tx_datain<=16'b101_1110_101_1110;
- else
- begin
- tx_datain[15:8]<={$random}%256;
- tx_datain[7:0]<={$random}%256;
- end
- serdes U1 (/*AUTOINST*/
- // Outputs
- .tx_clkout (tx_clkout),
- .tx_dataout (tx_dataout),
- // Inputs
- .cal_blk_clk (cal_blk_clk),
- .pll_inclk (pll_inclk),
- .tx_ctrlenable (tx_ctrlenable),
- .tx_datain (tx_datain),
- .tx_digitalreset (tx_digitalreset));
- endmodule // serdes_top
复制代码 |
|