TA的每日心情 | 开心 2018-9-15 10:23 |
---|
新手上路
- 积分
- 35
|
楼主 |
发表于 2018-9-24 21:48:29
|
显示全部楼层
我最近在做sdram存储模块,我想加两个串口模块,下面是我的顶层模块,我注释叹号的几个信号(标红)不知道该怎么连接?求大神指教!!!
module sdram_uart(
Clk50M,
Rst_n,
Uart_rx,
Sd_Clk,
Sd_Sa,
Sd_Ba,
Sd_Cs_n,
Sd_Cke,
Sd_Ras_n,
Sd_Cas_n,
Sd_We_n,
Sd_Dq,
Sd_Dqm,
Uart_tx
);
`include "Sdram_Params.h"
parameter Baud_set=3'd4;
input Clk50M;
input Rst_n;
input Uart_rx;
output[`ASIZE-1:0] Sd_Sa; //SDRAM地址总线
output[`BSIZE-1:0] Sd_Ba; //SDRAMBank地址
output Sd_Cs_n; //SDRAM片选信号
output Sd_Cke; //SDRAM时钟使能
output Sd_Clk; //SDRAM时钟信号
output Sd_Ras_n; //SDRAM行地址选
output Sd_Cas_n; //SDRAM列地址选
output Sd_We_n; //SDRAM写使能
inout [`DSIZE-1:0] Sd_Dq; //SDRAM数据总线
output[`DSIZE/8-1:0]Sd_Dqm; //SDRAM数据掩码
output Uart_tx; //串口发送
wire Clk; //SDRAM控制器时钟
wire Wr_en; //写SDRAM使能信号
wire [7:0] Wr_data; //写SDRAM数据
wire Rd_en; //读SDRAM使能信号
wire [7:0] Rd_data; //读SDRAM数据
wire sdram_clk; //SDRAM时钟信号
wire TX_Done;
reg send_en;
//SDRAM时钟信号
assign Sd_Clk = sdram_clk;
//时钟模块PLL例化
pll pll(
.areset(!Rst_n),
.inclk0(Clk50M),
.c0(Clk),
.c1(sdram_clk)
);
//串口接收模块例化
uart_byte_rx uart_byte_rx(
.Clk(Clk50M),
.Rst_n(Rst_n),
.Rs232_rx(Uart_rx),
.Baud_set(Baud_set),
.Data_byte(Wr_data),
.Rx_done(Wr_en)
);
uart_byte_tx uart_byte_tx(
.Clk(Clk50M),
.Rst_n(Rst_n),
.send_en(send_en),//!!!
.baud_set(Baud_set),
.Data_Byte(Rd_data),
.Rs232_Tx(Uart_tx),
.Tx_Done(Tx_Done),
.uart_state()
);
//SDRAM控制器模块例化
sdram_control_top sdram(
.Clk(Clk),
.Rst_n(Rst_n),
.Sd_clk(sdram_clk),
.Wr_data(Wr_data),
.Wr_en(Wr_en),
.Wr_addr(0),
.Wr_max_addr(8),
.Wr_load(!Rst_n),
.Wr_clk(Clk50M),
.Wr_full(),
.Wr_use(),
.Rd_data(Rd_data),
.Rd_en(1), // !!!
.Rd_addr(0),
.Rd_max_addr(8),
.Rd_load(!Rst_n),//!!!
.Rd_clk(Clk50M),
.Rd_empty(),
.Rd_use(),
.Sa(Sd_Sa),
.Ba(Sd_Ba),
.Cs_n(Sd_Cs_n),
.Cke(Sd_Cke),
.Ras_n(Sd_Ras_n),
.Cas_n(Sd_Cas_n),
.We_n(Sd_We_n),
.Dq(Sd_Dq),
.Dqm(Sd_Dqm)
);
endmodule |
|