可编程逻辑器件设计及应用试验报告 下载本文

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) 数据发送模块

仿真测试输入波形如下: