end else Tx=1; Busy=0; end endmodule
5、 建立发送数据模块(verilog)
1RXDataOutEN接收数据模块ERR8111CLKMod1
图5-4 发送数据模块
? 功能说明:
a、 RX:串行数据输入、1bits;
b、 CLK:时钟输入,对应16倍波特率时钟。
目的:提高采样率,在第一时刻发现起始脉冲;同时对每一位进行3次采样(时间平均),已剔出干扰;
c、 Mod:模式输入,0对应无奇偶校验;1对应有奇偶校验;
d、 TX:串行数据输出,平时高电平,当有数据输入后,下一个CLK上升沿开始立即
发送数据;
e、 DataOut:接收转换后数据;
f、 EN:接收完成使能,平时为第电平,接收完成后保持一个波特率周期高电平。
g、 ERR:奇偶校验错误指示,平时为第电平,接收完成后保持一个波特率周期高电平。 ? 过程说明:
a、 建立Verilog模块; b、 建立Verilog仿真; c、 验证模块正确性; d、 加入顶层模块Serial 进行联合验证;
二 实验结果
(1) 模式选择模块
在Mod=1时,进行如下仿真波形设置:
图5-5 测试波形设置
得到如下仿真结果:
图5-6 仿真结果
在Mod=0时,进行如下仿真波形设置:
图5-7 测试波形设置
得到如下仿真结果:
图5-8 仿真结果
在FreOut =6;ModOut=1默认值时,设置仿真测试波形如下:
图5-9 测试波形设置
得到仿真结果如下:
图5-10 仿真结果
(2) 波特率发生模块
仿真波形设置如下:
图5-11 测试波形设置
仿真结果如下:
图5-12 仿真结果
(3) 数据发送模块
仿真测试输入波形如下: