
基于FIFO的串口发送器与串口自收发通信的Verilog设计实验(Quartus 9.1工程源码及设计说明文档).zip
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
本资源提供了一个基于FIFO的串口发送器和串口自收发通信的Verilog设计,包含Quartus 9.1工程源码与详细的设计说明文档。
基于FIFO的串口发送器与串口自收发通信的Verilog设计实验可以使用Quartus 9.1工程源码作为学习参考。
模块定义如下:
```verilog
module uartfifo(
input clk, // 25MHz主时钟
input rst_n, //低电平复位信号
output rs232_tx //RS232发送数据信号
);
wire[7:0] wrf_din; // 数据写入缓存FIFO输入数据总线
wire wrf_wrreq; // 数据写入缓存FIFO数据输入请求,高有效
// 串口待发送的数据和启动标志位定义如下:
wire[7:0] tx_data;
wire tx_start;
// FIFO读请求信号及空标志位声明如下:
wire fifo232_rdreq;
wire fifo_empty;
assign tx_start = ~fifo_empty; // 当FIFO中有数据时,开始串口发送
// 实例化用于生成RS-232数据的模块
datagene uut_datagene(
.clk(clk),
.rst_n(rst_n),
.wrf_din(wrf_din),
.wrf_wrreq(wrf_wrreq)
);
// FIFO实例化
fifo232 fifo232_inst (
.clock(clk),
.data(wrf_din),
.rdreq(fifo232_rdreq),
.wrreq(wrf_wrreq),
.empty(fifo_empty),
.q(tx_data)
);
// 实例化串口发送模块
uart_ctrl uut_uartfifo(
.clk(clk),
.rst_n(rst_n),
.tx_data(tx_data),
.tx_start(tx_start),
.fifo232_rdreq(fifo232_rdreq),
.rs232_tx(rs232_tx)
);
endmodule
```
该模块实现了基于FIFO的串口发送器和自收发通信功能,通过Verilog代码实现,并可以作为Quartus 9.1工程的一部分进行仿真与测试。
全部评论 (0)


