1、开发步骤
第一步:新建IP核并进行参数设置;
第二步:将IP示例工程中的相应“.v文件”加入项目工程;
第三步:修改示例代码。①对发送数据模块和接收数据模块按照需求进行修改;②编写同步模块、稳定性检测模块;③根据rx_los信号对RX复位状态机复位,保证每次插拔光纤后自动复位RX端。
第四步:编写约束文件。①将IP示例工程中UCF约束语句拷贝到目标约束文件;②对光模块相应端口进行引脚约束并赋值。
第五步:仿真、综合、实现、调试。
1.1 新建IP(ISE14.7)
可根据
1.2 将IP示例工程中的相应“.v文件”加入项目工程
首先找到ipcore_dir/example_design目录下的下列.v文件并添加到工程目录中。
图1 示例工程中的.v文件
图2 添加.v文件后的项目工程
3、修改代码
1)打开顶层文件gtx_test_exdes.v,将Chipscope、Vio相关的模块删除掉;
图3 整理后的项目工程
分别修改gtx_test_GT_FRAME_GEN、gtx_test_GT_FRAME_CHECK模块,对发射数据和接收数据进行编程。修改IP接口信号初始值。
2)可对数据进行加/解扰以增加信号抗扰能力,也可添加同步检测模块、稳定性检测模块等。
3)根据光口的RX_LOS信号,生成复位信号,对RX域复位,使GT收发器正常工作。RX_LOS信号是光口的指示信号,表示接收端没有接收信号,表明光纤、光模块硬件未连接。
在实际使用情况中,考虑到有时会插拔光纤,为了使GT收发器正常工作,在再次插上光纤后,需要对RX域进行复位。
1.3 约束文件
找到ipcore_dir/example_design目录下的gtx_test_exdes.ucf文件,将其中的约束添加到项目的约束文件中去。
1.4 仿真、综合、实现、调试