本文首发于hifpga.com
用过modelsim, CVS等仿真工具,头一回用xilinx自带的仿真工具,莫名其妙发现下面这条语句居然会出现蓝色Z态。
assign gt_all_reset_done = gt0_txfsmresetdone_r2 & gt1_txfsmresetdone_r2 & gt0_rxresetdone_r3 & gt1_rxresetdone_r3;
这种情况一般是没有赋初值,但是我这句里面右边的四个信号都是有值的,所以这里就让我比较意外了。
同样的代码在 modelsim中是正常的
后面发现XLINX生成的代码中output端口是这样的,是带有wire关键字的,而我的不带,
于是我的也改成带WIRE的试试,居然就正常了,
看来往后写代码还是规矩点。至于仿真能用modelsim的不用XSIM,能用VCS的不用modelsim