|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
本帖最后由 woodstock 于 2020-7-8 23:12 编辑
新手请问怎么使时序满足要求?是不是跨时钟域的问题?我查网上说可以用异步ram读写来解决,可是我写了如下代码并不起作用。设计卡在这里很久了,真的不知道怎么处理。链接:https://pan.baidu.com/s/1gtzWsRvKamth-_UwWqcy-g 提取码:tglc 这个是我的时序报告。
- module uart_asyn_ram(
- input wire wr_clk,
- input wire wr_rst,
- input wire wr_uart_read_ce,
- input wire wr_uart_write_ce,
- input wire [7:0] wr_uart_wdata,
- input wire rd_clk,
- input wire rd_rst,
- output reg rd_uart_read_ce,
- output reg rd_uart_write_ce,
- output reg [7:0] rd_uart_wdata
- );
- reg t_uart_read_ce;
- reg t_uart_write_ce;
- reg [7:0] t_uart_wdata;
- always @(posedge wr_clk) begin
- if (wr_rst == 1'b0) begin
- t_uart_read_ce <= wr_uart_read_ce;
- t_uart_write_ce <= wr_uart_write_ce;
- t_uart_wdata <= wr_uart_wdata;
- end
- end
- always @(posedge rd_clk) begin
- if (rd_rst == 1'b0) begin
- rd_uart_read_ce <= t_uart_read_ce;
- rd_uart_write_ce <= t_uart_write_ce;
- rd_uart_wdata <= t_uart_wdata;
- end
- end
- endmodule
复制代码
|
|